feat(deps)!: support TypeScript 6#218
Conversation
commit: |
There was a problem hiding this comment.
Pull request overview
This PR updates @peerigon/configs to support TypeScript 6 for consumers by widening the TypeScript peer dependency range and upgrading the repo’s TypeScript + related ESLint tooling that previously blocked TS6.
Changes:
- Widen
typescriptpeer dependency to^5.9.3 || >=6.0.0 <6.1.0and bump local dev TypeScript to^6.0.3. - Upgrade ESLint ecosystem deps (notably
typescript-eslint,@tanstack/eslint-plugin-query,@eslint-react/eslint-plugin) to versions compatible with TS6. - Update ESLint React rule IDs/config to match
@eslint-reactv5 and avoid duplicated hook rules (keepingeslint-plugin-react-hooksas the source of truth).
Reviewed changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Adds Node typings to the repo build tsconfig. |
| package.json | Updates dependency versions and widens TypeScript peer range for TS6 support. |
| package-lock.json | Refreshes the lockfile to reflect upgraded dependencies. |
| eslint/rules/react.js | Updates @eslint-react rule IDs/config and disables duplicate hook rules. |
| eslint/presets/typescript.test/main.ts | Simplifies fixture by removing a redundant dot-notation-related example. |
| eslint/presets/typescript-react.test/App.tsx | Updates ESLint disable comments for renamed @eslint-react rule IDs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "prettier": "^3.6.2", | ||
| "semantic-release": "^25.0.1", | ||
| "typescript": "^5.9.3" | ||
| "typescript": "^5.9.3 || >=6.0.0 <6.1.0" | ||
| }, |
There was a problem hiding this comment.
The range is intentionally capped at <6.1.0 because the current typescript-eslint peer dependency is >=4.8.4 <6.1.0. Widening our peer to all TypeScript 6 versions would make @peerigon/configs claim support for versions that the underlying TypeScript ESLint tooling does not yet accept in strict installs. We can widen this once typescript-eslint publishes support for TS 6.1+.
| "dependencies": { | ||
| "@eslint-react/eslint-plugin": "^2.13.0", | ||
| "@eslint-react/eslint-plugin": "^5.9.0", | ||
| "@eslint/compat": "^2.0.3", | ||
| "@eslint/js": "^9.39.1", | ||
| "@ianvs/prettier-plugin-sort-imports": "^4.7.1", | ||
| "@prettier/plugin-oxc": "^0.1.3", | ||
| "@sebbo2002/semantic-release-jsr": "^3.2.1", | ||
| "@semantic-release/exec": "^7.1.0", | ||
| "@tanstack/eslint-plugin-query": "^5.96.1", | ||
| "@tanstack/eslint-plugin-query": "^5.101.0", | ||
| "@types/eslint-config-prettier": "^6.11.3", |
| "engines": { | ||
| "node": ">=22" | ||
| }, |
closes #213
This PR resolves the TypeScript 6 peer dependency blockers by updating typescript-eslint and @eslint-react/eslint-plugin to versions that accept TypeScript 6, while keeping the package compatible with TypeScript 5.9. ESLint remains on v9; an ESLint 10 migration is not required for this fix. Because the upgraded @eslint-react stack requires Node.js 22+, the package now declares Node 22 as its minimum runtime.
On updating telementarydeck-vue to latest packages - this package was a blocker for updating to typescript 6.
BREAKING CHANGE: Node.js 22 or newer is now required.
We need to require Node 22 because this PR upgrades @eslint-react/eslint-plugin to v5, and that package’s dependency tree declares engines.node >=22.0.0.
Summary
@eslint-reactrules for the newer plugin versionpostcssexplicitBreaking Change
Node.js 22 or newer is now required.