@emdzej/inpax-compiler
v0.6.8
Published
INPA .ips -> .ipo compiler CLI
Readme
@emdzej/inpax-compiler
CLI for compiling INPA .IPS source files to .IPO bytecode. Thin
wrapper around the @emdzej/inpax-compiler-core
library — lexer / parser / semantic / codegen / writer pipeline.
Install / build
pnpm --filter @emdzej/inpax-compiler buildAfter build the binary is at dist/index.js and registered via bin
so pnpm exec inpax-compile works inside the workspace. Or invoke
the root-level shortcut from anywhere:
pnpm compile <input.ips> [options]
pnpm compile:debug <input.ips> # node --inspect-brk for VS Code attachUsage
inpax-compile myscript.ips # → myscript.ipo
inpax-compile myscript.ips -o build/ # → build/myscript.ipo
inpax-compile *.ips # batch mode
inpax-compile myscript.ips --encoding cp1252The --encoding cp1252 flag is the right default for legacy BMW
INPA sources written on Windows; UTF-8 is the default when the flag
is omitted.
Subcommands
inpax-compile <file>— compile one or more.ipsfiles.inpax-compile new <name>— scaffold a starter.ipswithinpainit/inpaexit/ a single screen so a new script compiles cleanly.
CI / validation
The exit code is non-zero on parse / semantic / codegen errors. Pipe stderr to a logfile and use the standard exit code in CI:
inpax-compile MY_SCRIPT.IPS 2> compile-errors.log || exit 1See also
@emdzej/inpax-compiler-core— the underlying pipeline that does the actual work.AGENTS.mdcovers the bytecode format, INPACOMP.EXE compatibility notes, and the language reference.
