The unit's ExecStart named src/index.ts, so every start depended on the host having Node 22.18 or newer for native type stripping. A deploy onto a host with Node 20 met ERR_UNKNOWN_FILE_EXTENSION, exited in under a second, and was restarted 464 times over fifteen hours with nothing anywhere going red. api/tsconfig.json now emits to api/dist. The source keeps its explicit .ts import specifiers, which is what makes `node --watch src/index.ts` work in development; rewriteRelativeImportExtensions turns them into .js on the way out, so what runs in production is ordinary ESM that any Node from 20.18 up will start. `pnpm build` builds shared, then api, then web. `pnpm dev` is unchanged. deploy/ is tracked rather than ignored: the unit files are the thing an operator copies to /etc/systemd/system, and the alert unit added next has to live somewhere a deploy can find it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
34 lines
1.1 KiB
JSON
34 lines
1.1 KiB
JSON
{
|
|
"name": "@cashumints/api",
|
|
"version": "2.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "tsc -p tsconfig.json",
|
|
"dev": "node --env-file-if-exists=../.env --watch src/index.ts",
|
|
"start": "node --env-file-if-exists=../.env dist/index.js",
|
|
"seed": "node --env-file-if-exists=../.env src/seed.ts",
|
|
"migrate": "node --env-file-if-exists=../.env src/migrate.ts",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
"test": "node --env-file-if-exists=../.env src/check.ts",
|
|
"test:warnings": "node --env-file-if-exists=../.env src/check-warnings.ts",
|
|
"test:offline": "node --env-file-if-exists=../.env src/check-offline.ts",
|
|
"test:lnurl": "node --env-file-if-exists=../.env src/check-lnurl.ts",
|
|
"test:index": "node src/check-index.ts"
|
|
},
|
|
"dependencies": {
|
|
"@cashumints/shared": "workspace:*",
|
|
"@hono/node-server": "^1.13.7",
|
|
"better-sqlite3": "^11.7.0",
|
|
"hono": "^4.6.14",
|
|
"nostr-tools": "^2.10.4",
|
|
"pg": "^8.13"
|
|
},
|
|
"devDependencies": {
|
|
"@types/better-sqlite3": "^7.6.12",
|
|
"@types/node": "^22.10.2",
|
|
"@types/pg": "^8.23.1",
|
|
"typescript": "^5.6.3"
|
|
}
|
|
}
|