hyperhive/nix
iris 65532e8387 frontend: tighten extraFiles target type to strMatching regex
damocles suggested using lib.types.strMatching for the target option
itself rather than relying solely on the post-hoc assertion. Pattern:
`^[A-Za-z0-9_][A-Za-z0-9_./-]*$` — first char alphanumeric/_, then
alphanumerics + _ + . + / + - allowed (so nested layouts like
"games/bitburner" still work).

This rejects at type-check time:
- leading `/` (absolute paths)
- leading `.` (so `..` as a full string blocked, also `./foo`)
- leading `-` (would parse as flag by some tools)
- spaces, control chars, weird unicode

The existing assertion stays — it catches mid-path `..` segments
(`foo/../bar`) that the regex can't reject without lookahead. POSIX
regex (which nix uses) doesn't support lookahead, so the
type-and-assertion split is the cleanest expression.

Refs #273.
2026-05-23 14:51:01 +02:00
..
forge-theme forge: use branding/hyperhive.svg for logo and favicon 2026-05-21 17:50:46 +02:00
modules frontend: wire static-dir env var + per-agent extraFiles option 2026-05-23 14:51:01 +02:00
packages hive-forge: reject empty/whitespace-only comment bodies (closes #297, closes #299) 2026-05-22 23:41:20 +02:00
templates frontend: tighten extraFiles target type to strMatching regex 2026-05-23 14:51:01 +02:00
frontend.nix frontend: add hermetic nix derivation in nix/frontend.nix 2026-05-23 14:51:01 +02:00