Don't bundle @prisma/client
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
DB migration compat / Check if migrations changed (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Build and Run / docker (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (mock, 22.x) (push) Has been cancelled
Runs E2E API Tests / E2E Tests (Node ${{ matrix.node-version }}, Freestyle ${{ matrix.freestyle-mode }}) (prod, 22.x) (push) Has been cancelled
Runs E2E API Tests with custom port prefix / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (latest) (push) Has been cancelled
Dev Environment Test With Custom Base Port / restart-dev-and-test-with-custom-base-port (push) Has been cancelled
Dev Environment Test / restart-dev-and-test (push) Has been cancelled
Run setup tests with custom base port / setup-tests-with-custom-base-port (push) Has been cancelled
Run setup tests / setup-tests (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
DB migration compat / Back-compat — Current branch migrations with ${{ needs.check-migrations-changed.outputs.base_branch }} branch code (push) Has been cancelled
DB migration compat / Forward-compat — Current branch code with ${{ needs.check-migrations-changed.outputs.base_branch }} branch migrations (push) Has been cancelled
DB migration compat / No migration changes (skipped) (push) Has been cancelled

This commit is contained in:
Konstantin Wohlwend 2026-03-02 18:01:21 -08:00
parent 49e5a197f2
commit 973e190875

View File

@ -12,8 +12,15 @@ const backendDir = resolve(__dirname, '..');
const packageJson = JSON.parse(readFileSync(resolve(backendDir, 'package.json'), 'utf-8'));
// Packages that must remain as runtime imports (can't be statically bundled)
const externalPackages = [
'@prisma/client',
];
const customNoExternal = new Set([
...Object.keys(packageJson.dependencies),
...Object.keys(packageJson.dependencies).filter(
(dep) => !externalPackages.some((ext) => dep === ext || dep.startsWith(ext + '/'))
),
]);
// Node.js built-in modules that should not be bundled
@ -30,7 +37,7 @@ export default defineConfig({
noExternal: [...customNoExternal],
inlineOnly: false,
// Externalize Node.js builtins so they're imported rather than shimmed
external: nodeBuiltins,
external: [...nodeBuiltins, ...externalPackages],
clean: true,
// Use banner to add createRequire for CommonJS modules that use require() for builtins
// The imported require is used by the shimmed __require2 function