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. Unless you're trying to shoot yourself or downstream dep maintainers in the foot.
- contains a ~scroll.nix~ file - 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 - does not use JSR dependencies
They have heavily timestamped metadata and therefore do not support They have heavily timestamped metadata and therefore do not support
reproducible builds. reproducible builds.
- can use NPM dependencies - can use NPM dependencies
~.lock~, ~.json~ and ~.jsonc~ files are recursively hashed *** scroll.nix
to determine if the cache is updated. - ~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. 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.