diff --git a/.buildkite/ci.mjs b/.buildkite/ci.mjs index dd8d2db42b..2c8dccc2e8 100755 --- a/.buildkite/ci.mjs +++ b/.buildkite/ci.mjs @@ -356,15 +356,6 @@ function getTestAgent(platform, options) { }; } - // TODO: `dev-server-ssr-110.test.ts` and `next-build.test.ts` run out of memory at 8GB of memory, so use 16GB instead. - if (os === "windows") { - return getEc2Agent(platform, options, { - instanceType: "c7i.2xlarge", - cpuCount: 2, - threadsPerCore: 1, - }); - } - if (arch === "aarch64") { return getEc2Agent(platform, options, { instanceType: "c8g.xlarge", diff --git a/cmake/sources/ZigSources.txt b/cmake/sources/ZigSources.txt index 960b7a2f3b..f392249468 100644 --- a/cmake/sources/ZigSources.txt +++ b/cmake/sources/ZigSources.txt @@ -19,19 +19,43 @@ src/ast/base.zig src/ast/Binding.zig src/ast/BundledAst.zig src/ast/CharFreq.zig +src/ast/ConvertESMExportsForHmr.zig src/ast/E.zig src/ast/Expr.zig +src/ast/foldStringAddition.zig src/ast/G.zig +src/ast/ImportScanner.zig +src/ast/KnownGlobal.zig src/ast/Macro.zig +src/ast/maybe.zig src/ast/NewStore.zig src/ast/Op.zig +src/ast/P.zig +src/ast/parse.zig +src/ast/parseFn.zig +src/ast/parseImportExport.zig +src/ast/parseJSXElement.zig +src/ast/parsePrefix.zig +src/ast/parseProperty.zig +src/ast/Parser.zig +src/ast/parseStmt.zig +src/ast/parseSuffix.zig +src/ast/parseTypescript.zig src/ast/S.zig src/ast/Scope.zig src/ast/ServerComponentBoundary.zig +src/ast/SideEffects.zig +src/ast/skipTypescript.zig src/ast/Stmt.zig src/ast/Symbol.zig +src/ast/symbols.zig src/ast/TS.zig +src/ast/TypeScript.zig src/ast/UseDirective.zig +src/ast/visit.zig +src/ast/visitBinaryExpression.zig +src/ast/visitExpr.zig +src/ast/visitStmt.zig src/async/posix_event_loop.zig src/async/stub_event_loop.zig src/async/windows_event_loop.zig @@ -250,6 +274,8 @@ src/bun.js/RuntimeTranspilerCache.zig src/bun.js/SavedSourceMap.zig src/bun.js/Strong.zig src/bun.js/test/diff_format.zig +src/bun.js/test/diff/diff_match_patch.zig +src/bun.js/test/diff/printDiff.zig src/bun.js/test/expect.zig src/bun.js/test/jest.zig src/bun.js/test/pretty_format.zig @@ -487,7 +513,6 @@ src/defines.zig src/deps/boringssl.translated.zig src/deps/brotli_c.zig src/deps/c_ares.zig -src/deps/diffz/DiffMatchPatch.zig src/deps/libdeflate.zig src/deps/libuv.zig src/deps/lol-html.zig diff --git a/cmake/targets/BuildMimalloc.cmake b/cmake/targets/BuildMimalloc.cmake index 91870b66b9..115e351259 100644 --- a/cmake/targets/BuildMimalloc.cmake +++ b/cmake/targets/BuildMimalloc.cmake @@ -4,7 +4,7 @@ register_repository( REPOSITORY oven-sh/mimalloc COMMIT - 178534eeb7c0b4e2f438b513640c6f4d7338416a + 1cef3e8f4167733818f1883b2f3a9dd4754224cf ) set(MIMALLOC_CMAKE_ARGS @@ -44,6 +44,7 @@ if(ENABLE_ASAN) list(APPEND MIMALLOC_CMAKE_ARGS -DMI_OVERRIDE=OFF) list(APPEND MIMALLOC_CMAKE_ARGS -DMI_OSX_ZONE=OFF) list(APPEND MIMALLOC_CMAKE_ARGS -DMI_OSX_INTERPOSE=OFF) + list(APPEND MIMALLOC_CMAKE_ARGS -DMI_DEBUG_UBSAN=ON) elseif(APPLE OR LINUX) # Enable static override when ASAN is not enabled list(APPEND MIMALLOC_CMAKE_ARGS -DMI_OVERRIDE=ON) @@ -64,6 +65,12 @@ if(ENABLE_VALGRIND) list(APPEND MIMALLOC_CMAKE_ARGS -DMI_VALGRIND=ON) endif() +# Enable SIMD optimizations when not building for baseline (older CPUs) +if(NOT ENABLE_BASELINE) + list(APPEND MIMALLOC_CMAKE_ARGS -DMI_OPT_ARCH=ON) + list(APPEND MIMALLOC_CMAKE_ARGS -DMI_OPT_SIMD=ON) +endif() + if(DEBUG) if (ENABLE_ASAN) set(MIMALLOC_LIBRARY mimalloc-asan-debug) diff --git a/cmake/tools/SetupWebKit.cmake b/cmake/tools/SetupWebKit.cmake index b6c79de049..7b6574a708 100644 --- a/cmake/tools/SetupWebKit.cmake +++ b/cmake/tools/SetupWebKit.cmake @@ -2,7 +2,7 @@ option(WEBKIT_VERSION "The version of WebKit to use") option(WEBKIT_LOCAL "If a local version of WebKit should be used instead of downloading") if(NOT WEBKIT_VERSION) - set(WEBKIT_VERSION 642e2252f6298387edb6d2f991a0408fd0320466) + set(WEBKIT_VERSION 75f6499360f42d580c406f4969689a1e14b46447) endif() string(SUBSTRING ${WEBKIT_VERSION} 0 16 WEBKIT_VERSION_PREFIX) diff --git a/completions/bun-cli.json b/completions/bun-cli.json new file mode 100644 index 0000000000..a924772031 --- /dev/null +++ b/completions/bun-cli.json @@ -0,0 +1,4026 @@ +{ + "version": "1.1.0", + "commands": { + "run": { + "name": "run", + "description": "Flags:", + "flags": [], + "positionalArgs": [ + { + "name": "flags", + "required": false, + "multiple": false, + "type": "string" + }, + { + "name": "file", + "required": true, + "multiple": false, + "type": "string", + "completionType": "javascript_files" + } + ], + "examples": [ + "bun run ./index.js", + "bun run ./index.tsx", + "bun run dev", + "bun run lint" + ], + "usage": "Usage: bun run [flags] ", + "documentationUrl": "https://bun.com/docs/cli/run", + "dynamicCompletions": { + "scripts": true, + "files": true, + "binaries": true + } + }, + "test": { + "name": "test", + "description": "Run all matching test files and print the results to stdout", + "flags": [ + { + "name": "timeout", + "description": "Set the per-test timeout in milliseconds, default is 5000.", + "hasValue": true, + "valueType": "val", + "defaultValue": "5000", + "required": false, + "multiple": false + }, + { + "name": "update-snapshots", + "shortName": "u", + "description": "Update snapshot files", + "hasValue": false, + "required": false, + "multiple": false + }, + { + "name": "rerun-each", + "description": "Re-run each test file times, helps catch certain bugs", + "hasValue": true, + "valueType": "val", + "required": false, + "multiple": false + }, + { + "name": "only", + "description": "Only run tests that are marked with \"test.only()\"", + "hasValue": false, + "required": false, + "multiple": false + }, + { + "name": "todo", + "description": "Include tests that are marked with \"test.todo()\"", + "hasValue": false, + "required": false, + "multiple": false + }, + { + "name": "coverage", + "description": "Generate a coverage profile", + "hasValue": false, + "required": false, + "multiple": false + }, + { + "name": "coverage-reporter", + "description": "Report coverage in 'text' and/or 'lcov'. Defaults to 'text'.", + "hasValue": true, + "valueType": "val", + "defaultValue": "'text'", + "required": false, + "multiple": false + }, + { + "name": "coverage-dir", + "description": "Directory for coverage files. Defaults to 'coverage'.", + "hasValue": true, + "valueType": "val", + "defaultValue": "'coverage'", + "required": false, + "multiple": false + }, + { + "name": "bail", + "description": "Exit the test suite after failures. If you do not specify a number, it defaults to 1.", + "hasValue": true, + "valueType": "val", + "defaultValue": "1", + "required": false, + "multiple": false + }, + { + "name": "test-name-pattern", + "shortName": "t", + "description": "Run only tests with a name that matches the given regex.", + "hasValue": true, + "valueType": "val", + "required": false, + "multiple": false + }, + { + "name": "reporter", + "description": "Specify the test reporter. Currently --reporter=junit is the only supported format.", + "hasValue": true, + "valueType": "val", + "required": false, + "multiple": false + }, + { + "name": "reporter-outfile", + "description": "The output file used for the format from --reporter.", + "hasValue": true, + "valueType": "val", + "required": false, + "multiple": false + } + ], + "positionalArgs": [ + { + "name": "flags", + "required": false, + "multiple": false, + "type": "string" + }, + { + "name": "patterns", + "required": false, + "multiple": false, + "type": "string", + "completionType": "test_files" + } + ], + "examples": [ + "bun test", + "bun test foo bar", + "bun test --test-name-pattern baz" + ], + "usage": "Usage: bun test [flags] []", + "documentationUrl": "https://bun.com/docs/cli/test", + "dynamicCompletions": { + "files": true + } + }, + "x": { + "name": "x", + "description": "Execute an npm package executable (CLI), automatically installing into a global shared cache if not installed in node_modules.", + "flags": [ + { + "name": "bun", + "description": "Force the command to run with Bun instead of Node.js", + "hasValue": false, + "required": false, + "multiple": false + } + ], + "positionalArgs": [ + { + "name": "flags", + "required": false, + "multiple": false, + "type": "string" + }, + { + "name": "package@version", + "required": true, + "multiple": false, + "type": "string", + "completionType": "package" + }, + { + "name": "flags", + "required": false, + "multiple": false, + "type": "string" + } + ], + "examples": [], + "usage": "Usage: bunx [flags] <@version> [flags and arguments for the package]", + "dynamicCompletions": {}, + "aliases": [ + "bunx" + ] + }, + "repl": { + "name": "repl", + "description": "Options:", + "flags": [], + "positionalArgs": [ + { + "name": "options", + "required": false, + "multiple": false, + "type": "string" + } + ], + "examples": [], + "usage": "Usage: bun repl [options]", + "dynamicCompletions": {} + }, + "exec": { + "name": "exec", + "description": "Execute a shell script directly from Bun.", + "flags": [], + "positionalArgs": [ + { + "name": "script", + "required": true, + "multiple": false, + "type": "string", + "completionType": "script" + } + ], + "examples": [ + "bun exec \"echo hi\"", + "bun exec \"echo \\\"hey friends\\\"!\"" + ], + "usage": "Usage: bun exec + //
+ //

Hello {name}!

+ // + //
+ // + // Tools that use esbuild to compile TypeScript code inside a Svelte + // file like this only give esbuild the contents of the - //
- //

Hello {name}!

- // - //
- // - // Tools that use esbuild to compile TypeScript code inside a Svelte - // file like this only give esbuild the contents of the