Nakshora is engineered for speed on two axes: build time and shipped CSS. Nakshora 3.1 numbers, measured in CI:
Shipped CSS#
| Mode | Size |
|---|---|
| JIT output (typical site) | 5–20 KB minified |
| Full build | 5,983 KB min / 133 KB brotli |
| v1 frozen stylesheet (history) | ~1 MB |
Build time#
- 18 ms — cold JIT build of a 200-line page
- 1.3 ms — incremental rebuild with the content cache
- Per-resolved-theme catalog memoisation
- Incremental content cache keyed on mtime + hash
- Deterministic scanning (stable output, diffable CSS)
The benchmark gate#
scripts/benchmark.mjs runs in CI against perf/baseline.json: a regression of more than 10% and 2ms fails the build. Performance is a contract, not a hope.
Make your own build faster#
- Tighten
contentglobs — never scannode_modules - Use configuration/safelist|safelists sparingly; each entry is CSS you ship
- Prefer one config per app; presets are cached per resolved theme
