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.
Added
Initial three-pane explorer: flake outputs & module hierarchy (left),
module detail with Configures/Declares and option provenance (center),
referenced files grouped by origin (right).
extract command: manifest plus per-configuration options extraction to a
data directory, cached by flake narHash.
serve command: explorer UI with on-demand per-configuration extraction
and POST /api/refresh re-scanning; --dev watches app/, rebuilds
in-memory, and live-reloads the browser over SSE.
export command: ONE standalone HTML file (data embedded) that works from file://, any CDN, or GitHub Pages; --sources self|all controls embedded
source files. Pages workflow publishes this repo's own flake as a demo.
Tree-sitter Nix syntax highlighting with clickable reference links.
Input provenance from flake.lock with url/rev linked to their web host.
File list as a folder tree with auto-reveal, filtering, and origin cards;
resizable panes; font-size control; About modal with license notices.
npm bin/flake-explorer.mjs launcher.
Changed
Schema cleanup: versioned blobs, dead serialized fields dropped,
config-name sanitization.
Shared cached extraction driver with flag validation.
Adopted Biome (format, lint, ASI style) and treefmt-nix for Nix files.
Fixed
Lazy-trees path attribution.
Refresh race in the extraction driver.
Nix timeouts no longer rely on AbortSignal identity.
Output names containing dots round-trip in deep links.
Infrastructure
CI guardrails: tests with a coverage ratchet (78% → 97% line coverage),
typecheck, Biome lint, nix flake check, Dependabot.