Compilation
Five short essays, part 2 of 5.
A framework compiler of the Svelte v2 era is usually built as a pipeline: parse, then one or more preprocess stages, then compile, with hooks a project can slot into at nearly every stage.
arklight build site.py -o ARKis closer to a single pass: read the entry file, resolve the closed
Site()/
Page(...)/ component vocabulary against its own schema, and write plain HTML, CSS and one shared JS runtime file. There is no preprocess hook, because there is no second language to preprocess -- the input is already plain Python, and the output vocabulary is fixed.
Where configuration still exists
- arklight.config.py controls build-time settings such as the narrow overdrive escape hatch for a path a server supplies at runtime.
- Seven registered experimental features (arklight search and experimental APIs) are the only sanctioned way to step outside the default, intrinsic-layout-only output -- each one gated and warned about at build time, not silently available.
- arklight pack is a separate, later step (bundle a built site into one .ark file) rather than a compiler plugin.
The practical effect: there's very little to configure wrong. Most build failures trace back to the entry file's syntax shape (see
parsing), not to a misconfigured pipeline stage.
