diff --git a/packages/playwright-core/.npmignore b/packages/playwright-core/.npmignore index c13cb08254..a7d6253b8f 100644 --- a/packages/playwright-core/.npmignore +++ b/packages/playwright-core/.npmignore @@ -9,7 +9,7 @@ !lib/**/*.html !lib/**/*.png !lib/**/*.ttf -!lib/xdg-open +!lib/utilsBundleImpl/xdg-open # Exclude injected files. A preprocessed version of these is included via lib/generated. # See src/server/injected/README.md. lib/**/injected/ diff --git a/packages/playwright-core/bundles/utils/build.js b/packages/playwright-core/bundles/utils/build.js index ac8f8c6c00..3135ac858e 100644 --- a/packages/playwright-core/bundles/utils/build.js +++ b/packages/playwright-core/bundles/utils/build.js @@ -19,15 +19,20 @@ const path = require('path'); const esbuild = require('esbuild'); const fs = require('fs'); +const outdir = path.join(__dirname, '../../lib/utilsBundleImpl'); + +if (!fs.existsSync(outdir)) + fs.mkdirSync(outdir); + { - // 'open' package requires 'xdg-open' script to be present, which does not get bundled by esbuild. - fs.copyFileSync(path.join(__dirname, 'node_modules/open/xdg-open'), path.join(__dirname, '../../lib/xdg-open')); + // 'open' package requires 'xdg-open' binary to be present, which does not get bundled by esbuild. + fs.copyFileSync(path.join(__dirname, 'node_modules/open/xdg-open'), path.join(outdir, 'xdg-open')); } esbuild.build({ entryPoints: [path.join(__dirname, 'src/utilsBundleImpl.ts')], bundle: true, - outdir: path.join(__dirname, '../../lib'), + outfile: path.join(outdir, 'index.js'), format: 'cjs', platform: 'node', target: 'ES2019',