diff --git a/.changeset/tsconfig-baseline.md b/.changeset/tsconfig-baseline.md new file mode 100644 index 0000000..0d8efc1 --- /dev/null +++ b/.changeset/tsconfig-baseline.md @@ -0,0 +1,8 @@ +--- +'@bomb.sh/tools': minor +--- + +Updates the shared `tsconfig.json` baseline for modern Node packages + +- `target` and `lib` move from `es2022` to `es2024`, so modern APIs like `Array.prototype.toSorted` and `Promise.withResolvers` type-check without shims. +- 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`. diff --git a/tsconfig.json b/tsconfig.json index 8916860..7576448 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ /* Base Options: */ "esModuleInterop": true, "skipLibCheck": true, - "target": "es2022", + "target": "es2024", "allowJs": true, "resolveJsonModule": true, "moduleDetection": "force", @@ -23,7 +23,10 @@ "moduleResolution": "nodenext", "noEmit": true, "declaration": true, - "lib": ["es2022"], + "lib": ["es2024"], + + /* Node packages need @types/node — one clear error beats a wall of TS2591s */ + "types": ["node"], /* Monorepo? */ "composite": true,