Alex2Node/scripts
David d96c6b8372 build: refuse unknown arguments; name the fix when typescript is missing
Two failures of scripts/build.mjs did not say what to change. `node scripts/build.mjs --outt /some/dir` ignored
the misspelt flag, exited 0 and replaced the tracked dist/. Without devDependencies (npm install --omit=dev in a
clone runs "prepare") the script died with a stack trace, because typescript was resolved at module level,
outside the try block.

The script now takes no arguments or `--out <dir>` and answers anything else with one line and the usage, exit 1.
A missing compiler gives "build: typescript is not installed: run npm install (it is a devDependency)". The body
moved into build(args), so the staging directory and the compiler path are no longer module-level variables.

Two tests on a temporary package: three refused argument lists, and a package without node_modules; both compare
the package before and after. No change to dist/. npm test: 30 pass in 9.5-10.2 s (load average 7 on 4 cores).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 14:42:33 +00:00
..
build.mjs build: refuse unknown arguments; name the fix when typescript is missing 2026-09-28 14:42:33 +00:00