Repository navigation
kzig 0.3.0 gives the app's mode a kzig name: KZIG_ENV. Requires Zig 0.17.0. Pre-alpha: APIs will change.
Highlights
KZIG_ENVsays how the app runs:development,test, or anything else (unset included) for production. It turns ondev_defaults, the migrations-at-boot policy, and Swagger withdisable_in_prod.NODE_ENVis still read whenKZIG_ENVisn't set, so KickJS.envfiles and deployment configs keep working;KZIG_ENVwins when both are set.Process.env: inject*const kzig.Processand read.development,.@"test"or.production(dev_or_testis still there).kzig new: the scaffoldedConfigno longer has anode_envfield that defaulted todevelopmentwhile the app ran as production, and its tests boot withKZIG_ENV=test.- Releases now get their notes from
scripts/release-notes.sh: hand-written highlights from.github/release-notes/<tag>.md, then the commits since the last tag. RELEASING.md documents the flow.
Changes to note when upgrading
kzig devandkzig startsetKZIG_ENV(todevelopment/production) instead ofNODE_ENV, and only when neither is set. If your ownConfigreads anode_envfield, either setNODE_ENVyourself or readProcess.envinstead.
Features
- KZIG_ENV says how the app runs (NODE_ENV still read when it's unset); Process.env; the scaffold's Config drops its misleading node_env
Maintenance
- release notes from the commits since the last tag (scripts/release-notes.sh, used by the release workflow); RELEASING.md
Install
zig fetch --save git+https://github.com/forinda/kzig#v0.3.0Prebuilt kzig CLIs for Linux (x86_64, aarch64) and macOS (x86_64, arm64) are attached, with SHA256SUMS.
Full changelog: v0.2.0...v0.3.0