diff --git a/scripts/build-maintenance.mjs b/scripts/build-maintenance.mjs index fc76846..abe5a3c 100644 --- a/scripts/build-maintenance.mjs +++ b/scripts/build-maintenance.mjs @@ -1,2 +1,16 @@ import { build } from 'esbuild'; -await build({ entryPoints: ['scripts/maintenance.ts'], outfile: '.next/standalone/maintenance.mjs', bundle: true, platform: 'node', target: 'node22', format: 'esm', packages: 'external' }); + +await build({ + entryPoints: ['scripts/maintenance.ts'], + outfile: '.next/standalone/maintenance.mjs', + bundle: true, + platform: 'node', + target: 'node22', + format: 'esm', + // Next traces the web application, not this separate maintenance entry point. + // Bundle its JS dependencies; only native packages stay external. + external: ['better-sqlite3', 'sharp'], + banner: { + js: "import { createRequire as createMaintenanceRequire } from 'node:module'; const require = createMaintenanceRequire(import.meta.url);", + }, +});