You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
The program — CLI, extractor, HTTP server, and static exporter — is now
a single native Rust binary instead of a bun-run TypeScript tree. The
JSON data contract is unchanged and 0.4.x data directories keep
working: extraction output was verified field-for-field against the
previous implementation on real flakes (this repo, a 57-input dotfiles
flake, and a full 15,436-option NixOS configuration). The one visible
effect is a new rs- extractor fingerprint, so existing cached blobs
re-extract once on next access.
The npm package now ships per-platform native binaries — Linux and
macOS, x64 and arm64 — installed via optionalDependencies and
resolved by a Node >= 20 launcher that also points the binary at the
SPA bundle shipped in the main package. bun is no longer a runtime
requirement: npx @kriswill/flake-explorer works as well as bunx.
(nix on PATH is still required at runtime.)
Added
The flake package (nix run) installs the native binary together with
the SPA bundle, so the explorer works out of the box without a
JavaScript runtime on the host.
A cargo test suite, including integration tests that drive real nix
against fixture flakes (extraction, serve routes, degradation paths,
static export), with its own coverage gate in CI alongside the
existing SPA suite's.
Options whose defaultText is a non-string scalar (nixpkgs'
bluesky-pds sets false) no longer derail extraction — scalars are
rendered as their literal text.
Component tests no longer crash order-dependently after the serve
suite: the serve tests now swap in only Bun's native network globals
for their duration instead of replacing the whole happy-dom realm,
which invalidated Svelte's cached document state (#74).
Removed
The TypeScript implementation of the program (CLI, extractor, server,
exporter) — the Svelte SPA and its bun toolchain remain.
web-tree-sitter and its WASM grammars: syntax highlighting is native
tree-sitter with token output verified identical.