chore(deno): migrate toolchain from Node 24 + pnpm to Deno 2.9.7 + TypeScript 7.0.2 (W1.5)
- root deno.json workspace (nodeModulesDir auto), npm versions registered once in imports, deno.lock; remove pnpm-lock/pnpm-workspace/root package.json; members keep minimal package.json (name/type/exports) - tasks: dev, typecheck (tsc 7.0.2 per member + deno check), lint/fmt (biome, useImportExtensions), test (vitest via deno), check:tokens, build (web + deno compile), ci, db:migrate/reset, gen:types - tsconfig base moved to config/ (no root tsconfig.json); deno types -> types/deno.d.ts; web drops baseUrl - server: Deno.serve entry with graceful shutdown, --role migrate|preflight|probe, WEB_ROOT static SPA hosting; drop @hono/node-server, tsx, esbuild build.mjs - logger: redact child() bindings and serialize err by message/stack; sync stdout destination; tests - relative imports get explicit extensions (sites/mp-sync paths left for follow-up) - crash-recovery tests spawn `deno run -A`; tasks tests use unique per-file schemas - single-container Dockerfile + entrypoint (migrate -> preflight -> api+worker watchdog), docker-compose.yml - docs: README, runbook, ADR-001 superseded, plan §1 validation row Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
1 parent
d9f2af2f3c
commit
304feea141
226 files changed
+6601
-8620
No files matched your search
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"workspace": [
|
||||
"./packages/adapters",
|
||||
"./packages/agent",
|
||||
"./packages/contracts",
|
||||
"./packages/db",
|
||||
"./packages/domain",
|
||||
"./packages/tasks",
|
||||
"./packages/testkit",
|
||||
"./apps/server",
|
||||
"./apps/web"
|
||||
],
|
||||
"nodeModulesDir": "auto",
|
||||
"imports": {
|
||||
"@biomejs/biome": "npm:@biomejs/[email protected]",
|
||||
"@earendil-works/pi-agent-core": "npm:@earendil-works/[email protected]",
|
||||
"@earendil-works/pi-agent-core/": "npm:/@earendil-works/[email protected]/",
|
||||
"@earendil-works/pi-ai": "npm:@earendil-works/[email protected]",
|
||||
"@earendil-works/pi-ai/": "npm:/@earendil-works/[email protected]/",
|
||||
"@hono/swagger-ui": "npm:@hono/[email protected]",
|
||||
"@hono/zod-openapi": "npm:@hono/[email protected]",
|
||||
"@types/node": "npm:@types/[email protected]",
|
||||
"@types/nunjucks": "npm:@types/[email protected]",
|
||||
"@types/pg": "npm:@types/[email protected]",
|
||||
"@xmldom/xmldom": "npm:@xmldom/[email protected]",
|
||||
"cheerio": "npm:[email protected]",
|
||||
"fast-xml-parser": "npm:[email protected]",
|
||||
"hono": "npm:[email protected]",
|
||||
"hono/": "npm:/[email protected]/",
|
||||
"kysely": "npm:[email protected]",
|
||||
"kysely/": "npm:/[email protected]/",
|
||||
"nunjucks": "npm:[email protected]",
|
||||
"openworkflow": "npm:[email protected]",
|
||||
"openworkflow/": "npm:/[email protected]/",
|
||||
"pg": "npm:[email protected]",
|
||||
"pino": "npm:[email protected]",
|
||||
"pino-pretty": "npm:[email protected]",
|
||||
"postgres": "npm:[email protected]",
|
||||
"typebox": "npm:[email protected]",
|
||||
"typescript": "npm:[email protected]",
|
||||
"vitest": "npm:[email protected]",
|
||||
"vitest/": "npm:/[email protected]/",
|
||||
"xpath": "npm:[email protected]",
|
||||
"yaml": "npm:[email protected]",
|
||||
"zod": "npm:[email protected]"
|
||||
},
|
||||
"compilerOptions": {
|
||||
"strict": true,
|
||||
"noUncheckedIndexedAccess": true,
|
||||
"noImplicitOverride": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"verbatimModuleSyntax": true
|
||||
},
|
||||
"tasks": {
|
||||
"dev": {
|
||||
"description": "同时起 server(4380)与 web(5180)",
|
||||
"dependencies": ["dev:server", "dev:web"]
|
||||
},
|
||||
"dev:server": "cd apps/server && deno task dev",
|
||||
"dev:web": "cd apps/web && deno task dev",
|
||||
"db:up": "docker compose -f docker-compose.dev.yml up -d --wait",
|
||||
"db:migrate": "deno run -A --env-file=.env packages/db/scripts/migrate.ts latest",
|
||||
"db:reset": "deno run -A --env-file=.env packages/db/scripts/migrate.ts reset",
|
||||
"gen:types": "deno run -A --env-file=.env packages/db/scripts/gen-types.ts",
|
||||
"types": "mkdir -p types && deno types > types/deno.d.ts",
|
||||
"typecheck": "deno task types && deno task typecheck:tsc && deno task typecheck:deno",
|
||||
"typecheck:tsc": "deno task --members -j 1 typecheck",
|
||||
"typecheck:deno": "deno check apps/server/src/main.ts packages/contracts/src/index.ts packages/db/src/index.ts packages/db/scripts/migrate.ts packages/db/scripts/gen-types.ts packages/db/migrations/*.ts packages/domain/src/index.ts packages/tasks/src/index.ts packages/tasks/migrations/*.ts packages/agent/src/index.ts && deno check --unstable-sloppy-imports packages/adapters/src/index.ts packages/testkit/src/index.ts",
|
||||
"lint": "deno run -A npm:@biomejs/biome check .",
|
||||
"fmt": "deno run -A npm:@biomejs/biome check --write .",
|
||||
"test": "deno task --members -j 1 test",
|
||||
"check:tokens": "cd apps/web && deno task check:tokens",
|
||||
"build": "cd apps/web && deno task build && cd ../server && deno task compile",
|
||||
"ci": "deno task typecheck && deno task lint && deno task test && deno task check:tokens && deno task build",
|
||||
"gen:tokens": "cd apps/web && deno task gen:tokens"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user