workspace: pnpm monorepo with api, web, shared
TypeScript 7 strict, ESLint + Prettier, vitest, AGPL-3.0 license. Decision 0001 records the latest-majors choice and the TS 6 alias. Task: M0-T1
This commit is contained in:
1 parent
547bb68a6f
commit
aa99622a24
24 files changed
+2940
-3
No files matched your search
@@ -0,0 +1,10 @@
|
||||
# 0001 — Use the latest major versions (TypeScript 7, zod 4, react-router 8)
|
||||
|
||||
The owner chose the latest majors over the versions first written in 00 §4. TypeScript 7 (the
|
||||
native compiler) ships no JavaScript API, and typescript-eslint needs one. Following Microsoft's
|
||||
side-by-side guidance, the root `package.json` installs `typescript` as an alias of
|
||||
`@typescript/typescript6` (for typescript-eslint) and `@typescript/native` as an alias of
|
||||
`typescript@7`, whose `tsc` binary does typecheck and build. The api runs its TypeScript sources
|
||||
directly on Node 24 (type stripping), so `erasableSyntaxOnly` is on, and relative imports use `.ts`
|
||||
extensions that `rewriteRelativeImportExtensions` rewrites on build. Drop the TS 6 alias once
|
||||
typescript-eslint supports TS 7.
|
||||
@@ -146,11 +146,11 @@ AstDB keys (family/key). This list is complete; do not add keys without updating
|
||||
| Area | Choice | Version |
|
||||
|---|---|---|
|
||||
| Telephony engine | Asterisk, built from source, PJSIP channel driver only (no chan_sip) | 24 LTS (latest 24.x; see 01 §2 while only release candidates exist) |
|
||||
| Language | TypeScript (strict mode) | 5.x |
|
||||
| Language | TypeScript (strict mode) | 7.x (see decisions/0001) |
|
||||
| Runtime | Node.js | 24 LTS |
|
||||
| Package manager | pnpm workspaces | 9.x or newer |
|
||||
| API framework | Fastify | 5.x |
|
||||
| Validation | zod | 3.x |
|
||||
| Validation | zod | 4.x |
|
||||
| ORM / migrations | drizzle-orm + drizzle-kit | latest |
|
||||
| Database | PostgreSQL | 18 |
|
||||
| Password hashing | `@node-rs/argon2` (argon2id) | latest |
|
||||
@@ -164,7 +164,7 @@ AstDB keys (family/key). This list is complete; do not add keys without updating
|
||||
| Logging | pino | latest |
|
||||
| Tests | vitest | latest |
|
||||
| Frontend | React 19 + Vite + TypeScript | latest |
|
||||
| Routing (web) | react-router | 7.x |
|
||||
| Routing (web) | react-router | 8.x |
|
||||
| Data fetching (web) | @tanstack/react-query | 5.x |
|
||||
| Styling | Tailwind CSS | 4.x |
|
||||
| Forms (web) | react-hook-form + @hookform/resolvers | latest |
|
||||
|
||||
Reference in new issue
Block a user