diff --git a/esbuild.config.cjs b/esbuild.config.cjs index f5687bb..4e252dd 100644 --- a/esbuild.config.cjs +++ b/esbuild.config.cjs @@ -2,6 +2,18 @@ const fs = require('fs') const esbuild = require('esbuild') +// XXX taken from https://github.com/evanw/esbuild/issues/619#issuecomment-751995294 +// XXX `plugins: [makeAllPackagesExternalPlugin]` were supposed to be superceeded by +// XXX `external: ['./node_modules/*']` but... +// XXX ... we're blocked by what seems to be https://github.com/evanw/esbuild/issues/1958 +const makeAllPackagesExternalPlugin = { + name: 'make-all-packages-external', + setup: (build) => { + const filter = /^[^./]|^\.[^./]|^\.\.[^/]/ // Must not start with "/" or "./" or "../" + build.onResolve({ filter }, (arguments_) => ({ external: true, path: arguments_.path })) + } +} + const catcher = (error) => { console.error(error) // eslint-disable-next-line unicorn/no-process-exit @@ -22,7 +34,7 @@ const builder = (entryPoints, outdir = 'dist', platform = targets.Node) => sourcemap: true, sourcesContent: false, ...(platform === targets.Node - ? { external: ['./node_modules/*'], target: 'node14' } + ? { plugins: [makeAllPackagesExternalPlugin], target: 'node14' } : { inject: ['src/ui/react-shim.ts'], jsxFactory: 'h',