Changelog - 2026-10-18
Faster source starts, and a lazy auto module in binaries
Performance Bug FixIn one line. A second start from source skips the scan and never loads TypeScript, and a library can import @venizia/ignis-boot/auto at the top of a file without breaking a binary.
What changed
- The scan is cached. The classes found under
srcare stored innode_modules/.cache/ignis-artifacts/, keyed on the size and modification time of every.tsfile undersrc, the package manifest and the lockfile. The next start uses them without loading TypeScript (a real service measured 723 ms cold, 585 ms warm); any edit makes the next start scan again. A corrupt cache is ignored. - Importing the auto module loads nothing in a binary.
IgnisArtifactsPluginused to replace@venizia/ignis-boot/autowith a static import of the inlined index, so importing it from a shared library evaluated every application class inside the library's half-loaded module graph - a binary could crash withThe superclass is not a constructor. The index now loads when artifacts are registered.
Who is affected
- Applications that start from source. Faster second starts; nothing to change. Add
node_modules/.cacheto anything that copies a package if you want a cold start measured. - Libraries that import
@venizia/ignis-boot/autofor their applications. A top-level import is now safe in binaries.
Files: packages/boot/src/bun/scan-cache.ts, packages/boot/src/bun/plugin.ts