diff --git a/esbuild.config.js b/esbuild.config.js index 4be5761671..85e2402961 100644 --- a/esbuild.config.js +++ b/esbuild.config.js @@ -63,7 +63,6 @@ const external = [ '@lydell/node-pty-win32-arm64', '@lydell/node-pty-win32-x64', '@github/keytar', - '@google/gemini-cli-devtools', ]; const baseConfig = { @@ -110,6 +109,10 @@ const cliConfig = { __dirname, 'packages/cli/src/patches/http-proxy-agent.ts', ), + '@google/gemini-cli-devtools': path.resolve( + __dirname, + 'packages/devtools/src/index.ts', + ), ...commonAliases, }, metafile: true, @@ -117,6 +120,9 @@ const cliConfig = { const workerConfig = { ...baseConfig, + banner: { + js: `const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);`, + }, entryPoints: { 'worker/worker-entry': path.join( path.dirname(require.resolve('ink')), @@ -125,6 +131,8 @@ const workerConfig = { }, outdir: 'bundle', define: { + __filename: '__chunk_filename', + __dirname: '__chunk_dirname', 'process.env.NODE_ENV': JSON.stringify( process.env.NODE_ENV || 'production', ), diff --git a/scripts/copy_bundle_assets.js b/scripts/copy_bundle_assets.js index 7c3dae7963..94de07ade1 100644 --- a/scripts/copy_bundle_assets.js +++ b/scripts/copy_bundle_assets.js @@ -85,29 +85,7 @@ if (existsSync(builtinSkillsSrc)) { console.log('Copied built-in skills to bundle/builtin/'); } -// 5. Copy DevTools package so the external dynamic import resolves at runtime -const devtoolsSrc = join(root, 'packages/devtools'); -const devtoolsDest = join( - bundleDir, - 'node_modules', - '@google', - 'gemini-cli-devtools', -); -const devtoolsDistSrc = join(devtoolsSrc, 'dist'); -if (existsSync(devtoolsDistSrc)) { - mkdirSync(devtoolsDest, { recursive: true }); - cpSync(devtoolsDistSrc, join(devtoolsDest, 'dist'), { - recursive: true, - dereference: true, - }); - copyFileSync( - join(devtoolsSrc, 'package.json'), - join(devtoolsDest, 'package.json'), - ); - console.log('Copied devtools package to bundle/node_modules/'); -} - -// 6. Copy bundled chrome-devtools-mcp +// 5. Copy bundled chrome-devtools-mcp const bundleMcpSrc = join(root, 'packages/core/dist/bundled'); const bundleMcpDest = join(bundleDir, 'bundled'); if (!existsSync(bundleMcpSrc)) { @@ -120,7 +98,7 @@ if (!existsSync(bundleMcpSrc)) { cpSync(bundleMcpSrc, bundleMcpDest, { recursive: true, dereference: true }); console.log('Copied bundled chrome-devtools-mcp to bundle/bundled/'); -// 7. Copy Extension Examples +// 6. Copy Extension Examples const extensionExamplesSrc = join( root, 'packages/cli/src/commands/extensions/examples',