update shelf README

This commit is contained in:
EatThePooh 2025-08-03 14:30:56 +07:00
parent 8769d9de00
commit 792131097c

View file

@ -7,20 +7,34 @@ Each Deno scroll:
Unless you're trying to shoot yourself or downstream dep maintainers in the foot.
- contains a ~scroll.nix~ file
- defines ~cache-command~ field in ~scroll.nix~
~cache-command~ triggers Deno cache build, putting cache in $DENO_DIR.
- does not use JSR dependencies
They have heavily timestamped metadata and therefore do not support
reproducible builds.
- can use NPM dependencies
~.lock~, ~.json~ and ~.jsonc~ files are recursively hashed
to determine if the cache is updated.
*** scroll.nix
- ~name~
- ~build~
+ ~cacheCommand~
In that case a new entry needs to be added in knownHashes.
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.
See ~./deno-workflow.nix~ for details.
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.