40 lines
1.1 KiB
Org Mode
40 lines
1.1 KiB
Org Mode
* 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.
|