build: migrate to commonjs and add node single executable app support

- Switch module type to commonjs in package.json
- Update esbuild target to node22 and remove explicit ESM format flag
- Add `bin` script for building a native binary using `node --build-sea`
- Introduce sea-config.json with code cache enabled for faster startup
This commit is contained in:
mitchell 2026-05-26 19:00:20 -04:00
parent cd3749b07e
commit d98ddb3ca7
3 changed files with 16 additions and 6 deletions

View file

@ -1,18 +1,19 @@
{
"name": "lmc",
"module": "index.ts",
"type": "module",
"main": "dist/index.js",
"type": "commonjs",
"private": true,
"bin": {
"lmc": "dist/index.js",
"ttsc": "dist/tts.js"
"lmc": "dist/index.js"
},
"scripts": {
"dev": "tsx index.ts",
"prod": "node dist/index.js",
"check": "biome check --write && pnpm run tc",
"build": "pnpm run check && pnpm run bundle",
"bundle": "esbuild index.ts --bundle --outdir=dist --platform=node --target=node18 --format=esm --packages=external",
"build": "pnpm run check && pnpm run bundle && pnpm run bin",
"bundle": "esbuild index.ts --bundle --outdir=dist --platform=node --target=node22",
"bin": "node --build-sea sea-config.json",
"tc": "tsc --noEmit --incremental"
},
"devDependencies": {