gr-base/shelf
2025-10-05 16:13:03 +07:00
..
deno update deps and bootstrap loom 2025-10-05 16:13:03 +07:00
default.nix use new deno with packages 2025-09-15 13:43:40 +07:00
README.org update shelf README 2025-08-03 14:34:01 +07:00

Scroll conventions

Deno

Each Deno scroll:

  • is an immediate subdirectory of ./deno
  • contains a Deno lockfile Unless you're trying to shoot yourself or downstream dep maintainers in the foot.
  • contains a scroll.nix file
  • does not use JSR dependencies They have heavily timestamped metadata and therefore do not support reproducible builds.
  • can use NPM dependencies

scroll.nix

  • name
  • build

    • cacheCommand The cache command triggers Deno cache build, putting cache in $DENO_DIR.
    • hashFiles These files are hashed to determine if the cache will be updated. In that case a new entry needs to be added in knownHashes.
    • knownHashes An object that maps hashFiles hashes to this scroll's incremental cache derivation's hash. The starting value is just {}, see build logs to determine what needs to be added.

All scrolls currently are to use the same Deno version defined by the flake.

Scrolls are automatically discovered by scanning subdirectories of ./deno for those containing a scroll.nix file.

Directories without scroll.nix will generate warnings during build.