74 lines
3.4 KiB
Plaintext
Executable File
74 lines
3.4 KiB
Plaintext
Executable File
{
|
|
"tasks": {
|
|
"dev": "deno run --env-file=.env --unstable-net --unstable-worker-options --allow-net --allow-env --allow-read --allow-write=data --watch apps/gateway/main.ts",
|
|
"start": "deno run --env-file=.env --unstable-net --unstable-worker-options --allow-net --allow-env --allow-read --allow-write=data apps/gateway/main.ts",
|
|
"setup": "deno install --allow-scripts=npm:esbuild",
|
|
"check": "deno check packages/**/*.ts apps/gateway/**/*.ts tests/contract/**/*.ts tests/e2e/**/*.ts tests/integration/**/*.ts tests/live/**/*.ts",
|
|
"fmt": "deno fmt",
|
|
"lint": "deno lint",
|
|
// --ignore replaces the "test.exclude" list rather than adding to it, so all
|
|
// three exclusions are repeated here. tests/live drives docker compose and
|
|
// is reached through test:live only.
|
|
"test": "deno test --unstable-net --unstable-worker-options --allow-net --allow-env --allow-read --allow-write --allow-run --ignore=apps/control-ui,tests/browser,tests/live",
|
|
// Every stage in dependency order, one verdict. Stages needing Docker or a
|
|
// running gateway are skipped with a stated reason rather than dropped.
|
|
"test:all": "deno run --allow-run --allow-net --allow-env --allow-read scripts/full_suite.ts",
|
|
"test:e2e": "deno test --unstable-net --allow-all tests/e2e/",
|
|
"test:live": "deno test --unstable-net --allow-all tests/live/",
|
|
"test:load": "deno run --allow-net --allow-env scripts/load-bench.ts",
|
|
// One-time Deno KV -> PostgreSQL migration. Carries --unstable-kv, which
|
|
// NO other task does: it is the only code left that opens a KV database.
|
|
// --allow-write=data is unavoidable rather than intended - Deno KV opens
|
|
// its SQLite file read-write even for a pure read, so a read-only
|
|
// migration cannot be expressed at the permission layer. The script never
|
|
// writes to the source; see its header.
|
|
"migrate:kv-pg": "deno run --env-file=.env --unstable-kv --allow-env --allow-read --allow-write=data --allow-net scripts/migrate_kv_to_pg.ts",
|
|
"bench": "deno bench --unstable-net --allow-net --allow-env --allow-read",
|
|
"dev-ui": "deno task -f control-ui dev",
|
|
"build-ui": "deno task -f control-ui build",
|
|
"preview-ui": "deno task -f control-ui preview",
|
|
"check-ui": "deno task -f control-ui check",
|
|
"test-ui": "deno task -f control-ui test",
|
|
"docker:build": "docker build -t frosty-gateway ."
|
|
},
|
|
"imports": {
|
|
"@std/assert": "jsr:@std/assert@^1.0.19",
|
|
"@std/http": "jsr:@std/http@^1.1.3",
|
|
"@std/path": "jsr:@std/path@^1.1.6",
|
|
"zod": "npm:zod@4",
|
|
"postgres": "npm:postgres@^3.4.9"
|
|
},
|
|
"nodeModulesDir": "auto",
|
|
"workspace": ["apps/control-ui"],
|
|
"unstable": ["net", "worker-options"],
|
|
"compilerOptions": {
|
|
"strict": true
|
|
},
|
|
// Not "tests/live": a config-level exclude also filters explicitly-passed
|
|
// paths, which would break `deno task test:live`. The gate task ignores it
|
|
// via --ignore instead.
|
|
"test": {
|
|
"exclude": ["apps/control-ui", "tests/browser"]
|
|
},
|
|
"fmt": {
|
|
"exclude": [
|
|
"node_modules",
|
|
"apps/control-ui/node_modules",
|
|
"apps/control-ui/dist",
|
|
"tests/browser/node_modules",
|
|
"docs/design",
|
|
"deploy/observability"
|
|
]
|
|
},
|
|
"lint": {
|
|
"exclude": [
|
|
"node_modules",
|
|
"apps/control-ui/node_modules",
|
|
"apps/control-ui/dist",
|
|
"tests/browser/node_modules",
|
|
"docs/design",
|
|
"deploy/observability"
|
|
]
|
|
}
|
|
}
|