✘ [ERROR] Could not resolve "better-sqlite3"
など、様々なDBのdriverが解決できないよ、というエラーが出る。
bundle時にknex内の依存を解決しようとしてエラーが出ているんだろう。
対処法はexternalにknexを追加すること。
build.mjs
await esbuild.build({
entryPoints: ["./src/main.js"],
platform: "node",
outfile: "./dist/main.js",
tsconfig: "tsconfig.build.json",
packages: "external",
bundle: true,
minify: true,
external: ["knex"], //←これ
});
cliでやるなら
--external:knex
とかでいけると思う(未確認)。