diff --git a/packages/core/scripts/build.ts b/packages/core/scripts/build.ts index 624cd5099..b94755580 100644 --- a/packages/core/scripts/build.ts +++ b/packages/core/scripts/build.ts @@ -182,11 +182,6 @@ if (buildLib) { rmSync(distDir, { recursive: true, force: true }) mkdirSync(distDir, { recursive: true }) - const externalDeps: string[] = [ - ...Object.keys(packageJson.optionalDependencies || {}), - ...Object.keys(packageJson.peerDependencies || {}), - ] - // Build main entry point if (!packageJson.module) { console.error("Error: 'module' field not found in package.json") @@ -195,11 +190,9 @@ if (buildLib) { const entryPoints: string[] = [packageJson.module, "src/3d.ts", "src/testing.ts"] - // Build main entry points with code splitting // External patterns to prevent bundling tree-sitter assets and default-parsers // to allow standalone executables to work const externalPatterns = [ - ...externalDeps, "*.wasm", "*.scm", "./lib/tree-sitter/assets/*", @@ -207,6 +200,8 @@ if (buildLib) { "./lib/tree-sitter/default-parsers.ts", ] + // Build main entry points with code splitting + // Use --packages=external to externalize all dependencies spawnSync( "bun", [ @@ -215,6 +210,7 @@ if (buildLib) { "--splitting", "--outdir=dist", "--sourcemap", + "--packages=external", ...externalPatterns.flatMap((dep) => ["--external", dep]), ...entryPoints, ], @@ -225,7 +221,7 @@ if (buildLib) { ) // Build parser worker as standalone bundle (no splitting) so it can be loaded as a Worker - // Make web-tree-sitter external so it loads from node_modules with its WASM file + // Use --packages=external to externalize all dependencies spawnSync( "bun", [ @@ -233,9 +229,7 @@ if (buildLib) { "--target=bun", "--outdir=dist", "--sourcemap", - ...externalDeps.flatMap((dep) => ["--external", dep]), - "--external", - "web-tree-sitter", + "--packages=external", "src/lib/tree-sitter/parser.worker.ts", ], { diff --git a/packages/react/scripts/build.ts b/packages/react/scripts/build.ts index 01481eba8..de3bad60a 100644 --- a/packages/react/scripts/build.ts +++ b/packages/react/scripts/build.ts @@ -57,11 +57,6 @@ const distDir = join(rootDir, "dist") rmSync(distDir, { recursive: true, force: true }) mkdirSync(distDir, { recursive: true }) -const externalDeps: string[] = [ - ...Object.keys(packageJson.dependencies || {}), - ...Object.keys(packageJson.peerDependencies || {}), -] - if (!packageJson.module) { console.error("Error: 'module' field not found in package.json") process.exit(1) @@ -72,7 +67,7 @@ const mainBuildResult = await Bun.build({ entrypoints: [join(rootDir, packageJson.module)], target: "bun", outdir: join(rootDir, "dist"), - external: externalDeps, + packages: "external", splitting: true, }) @@ -86,7 +81,7 @@ const reconcilerBuildResult = await Bun.build({ entrypoints: [join(rootDir, "src/reconciler/renderer.ts")], target: "bun", outdir: join(rootDir, "dist/src/reconciler"), - external: externalDeps, + packages: "external", splitting: true, }) @@ -100,7 +95,7 @@ const testingBuildResult = await Bun.build({ entrypoints: [join(rootDir, "src/test-utils.ts")], target: "bun", outdir: join(rootDir, "dist/src/test-utils"), - external: externalDeps, + packages: "external", splitting: true, }) diff --git a/packages/solid/scripts/build.ts b/packages/solid/scripts/build.ts index 6f02858ad..429280e6c 100644 --- a/packages/solid/scripts/build.ts +++ b/packages/solid/scripts/build.ts @@ -58,11 +58,6 @@ const distDir = join(rootDir, "dist") rmSync(distDir, { recursive: true, force: true }) mkdirSync(distDir, { recursive: true }) -const externalDeps: string[] = [ - ...Object.keys(packageJson.dependencies || {}), - ...Object.keys(packageJson.peerDependencies || {}), -] - if (!packageJson.module) { console.error("Error: 'module' field not found in package.json") process.exit(1) @@ -73,7 +68,7 @@ const mainBuildResult = await Bun.build({ entrypoints: [join(rootDir, packageJson.module)], target: "bun", outdir: join(rootDir, "dist"), - external: externalDeps, + packages: "external", plugins: [solidTransformPlugin], splitting: true, }) diff --git a/packages/vue/scripts/build.ts b/packages/vue/scripts/build.ts index 53733add3..bb661f5ff 100644 --- a/packages/vue/scripts/build.ts +++ b/packages/vue/scripts/build.ts @@ -56,11 +56,6 @@ const distDir = join(rootDir, "dist") rmSync(distDir, { recursive: true, force: true }) mkdirSync(distDir, { recursive: true }) -const externalDeps: string[] = [ - ...Object.keys(packageJson.dependencies || {}), - ...Object.keys(packageJson.peerDependencies || {}), -] - if (!packageJson.module) { console.error("Error: 'module' field not found in package.json") process.exit(1) @@ -71,7 +66,7 @@ const mainBuildResult = await Bun.build({ entrypoints: [join(rootDir, packageJson.module)], target: "bun", outdir: join(rootDir, "dist"), - external: externalDeps, + packages: "external", // splitting: true, })