Skip to content

Commit 7a80756

Browse files
authored
chore(tsconfig): es2024 target/lib, require @types/node (#54)
types:[node] turns a wall of TS2591 ambient-type errors into one actionable TS2688 when @types/node is missing. es2024 lib covers the modern APIs (toSorted, Promise.withResolvers) our lint rules push.
1 parent 83c20f7 commit 7a80756

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

.changeset/tsconfig-baseline.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@bomb.sh/tools': minor
3+
---
4+
5+
Updates the shared `tsconfig.json` baseline for modern Node packages
6+
7+
- `target` and `lib` move from `es2022` to `es2024`, so modern APIs like `Array.prototype.toSorted` and `Promise.withResolvers` type-check without shims.
8+
- Adds `"types": ["node"]`. Packages must now have `@types/node` installed — missing it previously surfaced as dozens of `Cannot find name 'process'/'Buffer'` (TS2591) errors; now it's a single actionable `Cannot find type definition file for 'node'` (TS2688). Remedy: `pnpm add -D @types/node`.

tsconfig.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/* Base Options: */
44
"esModuleInterop": true,
55
"skipLibCheck": true,
6-
"target": "es2022",
6+
"target": "es2024",
77
"allowJs": true,
88
"resolveJsonModule": true,
99
"moduleDetection": "force",
@@ -23,7 +23,10 @@
2323
"moduleResolution": "nodenext",
2424
"noEmit": true,
2525
"declaration": true,
26-
"lib": ["es2022"],
26+
"lib": ["es2024"],
27+
28+
/* Node packages need @types/node — one clear error beats a wall of TS2591s */
29+
"types": ["node"],
2730

2831
/* Monorepo? */
2932
"composite": true,

0 commit comments

Comments
 (0)