feat: allow forcing in-memory SQLite dbs (#29026)

This commit adds two env vars:
- "DENO_CACHE_DB_MODE"
- "DENO_KV_DB_MODE"

Both of these env vars accept either "disk" or "memory" values and
control the modes of backing databases for Web Cache API and
"Deno.openKv()" API.

By default both APIs use disk backed DBs, but they can be changed to use
in-memory
DB, making them effectively ephemeral.
This commit is contained in:
Bartek Iwańczuk 2025-04-28 11:06:38 +02:00 committed by GitHub
parent 98cf8f402b
commit a33dae6a2a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 63 additions and 10 deletions

View file

@ -1190,10 +1190,14 @@ static ENV_VARIABLES_HELP: &str = cstr!(
<g>DENO_AUTH_TOKENS</> A semi-colon separated list of bearer tokens and hostnames
to use when fetching remote modules from private repositories
<p(245)>(e.g. "abcde12345@deno.land;54321edcba@github.com")</>
<g>DENO_CACHE_DB_MODE</> Controls whether Web cache should use disk based or in-memory database.
<g>DENO_CERT</> Load certificate authorities from PEM encoded file
<g>DENO_DIR</> Set the cache directory
<g>DENO_INSTALL_ROOT</> Set deno install's output directory
<p(245)>(defaults to $HOME/.deno/bin)</>
<g>DENO_KV_DB_MODE</> Controls whether Deno.openKv() API should use disk based or in-memory
database.
<g>DENO_EMIT_CACHE_MODE</> Control is the transpiled sources should be cached.
<g>DENO_NO_PACKAGE_JSON</> Disables auto-resolution of package.json
<g>DENO_NO_UPDATE_CHECK</> Set to disable checking if a newer Deno version is available
<g>DENO_SERVE_ADDRESS</> Override address for Deno.serve