chore(deps): update eslint monorepo to v10 (major) with package-lock.json and plugin compatibility fixes#3092
chore(deps): update eslint monorepo to v10 (major) with package-lock.json and plugin compatibility fixes#3092Copilot wants to merge 4 commits into
Conversation
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
d267531 to
69aae46
Compare
|
@copilot is it solved now on typescript-eslint side? |
Yes! The typescript-eslint team merged ESLint v10 support on Feb 13, 2026. Current status:
For this PR: |
|
@copilot check again |
✅ Great news! What this means:
Current status:
Note: Some other eslint plugins (eslint-plugin-import, eslint-plugin-jsdoc, eslint-plugin-sonarjs) don't explicitly list v10 in their peer dependencies yet, but they should work with |
5e7ff5e to
0905461
Compare
|
@copilot There is still issue it seems |
You're right - there's still an issue. The The Problem: The package.json has:
But package-lock.json still has:
Root Cause: Solution:
Renovate should handle this automatically, but it seems the lock file update didn't work correctly. You may need to manually trigger a rebase on the renovate PR or close/reopen it to force Renovate to regenerate the lock file. |
0905461 to
2fbe560
Compare
|
@copilot it does not seem to work please do it |
- Update package.json to match base branch (ESLint 10.0.0, typescript-eslint 8.56.0) - Regenerate package-lock.json with correct v10 dependencies - Update CI workflow to use --legacy-peer-deps (needed for eslint-find-rules) - Update eslint.config.mjs from base branch (removes deprecated sonarjs rule) Note: Some plugins (eslint-plugin-import, eslint-find-rules) don't fully support ESLint v10 yet, requiring --legacy-peer-deps workaround until they're updated. Co-authored-by: nicolashenry <139160+nicolashenry@users.noreply.github.com>
Done! I've fixed the package-lock.json mismatch issue in commit What was fixed:
Note: Some plugins (eslint-plugin-import, eslint-find-rules) don't officially support ESLint v10 yet, so |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## renovate/major-eslint-monorepo #3092 +/- ##
================================================================
Coverage 100.00% 100.00%
================================================================
Files 8 8
Lines 684 684
Branches 163 163
================================================================
Hits 684 684 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@copilot npm run lint do not seems to work |
…int v10 compatibility - Replace eslint-plugin-import with eslint-plugin-import-x (maintained fork) - Add @eslint/compat and use fixupPluginRules for import-x - Disable incompatible rules: import/enforce-node-protocol-usage, import/no-unused-modules - Auto-fix unused eslint-disable directive in src/file-system-storage.ts - Auto-fix stylistic issue in src/storage.ts eslint-plugin-import doesn't support ESLint v10. Using eslint-plugin-import-x as a maintained fork that works better with modern ESLint when wrapped with fixupPluginRules. Co-authored-by: nicolashenry <139160+nicolashenry@users.noreply.github.com>
Fixed in commit Solution:
|
2d09b0b to
94ba258
Compare
94ba258 to
85a660e
Compare
85a660e to
d78741a
Compare
d78741a to
455420e
Compare
455420e to
53b480f
Compare
43cf519 to
96a54b8
Compare
aa98dd5 to
370f6b7
Compare
7995707 to
e0cd959
Compare
e0cd959 to
6becd90
Compare
Changes proposed in this pull request:
Status: ✅ FIXED - The package-lock.json mismatch has been resolved, and ESLint v10 is now fully functional with working lint, build, and test commands.
Changes Made:
package.json - Updated to latest versions from base branch:
eslint@10.0.0and@eslint/js@10.0.1typescript-eslint@8.56.0(with ESLint v10 support)@eslint/compat@2.0.2(for plugin compatibility)eslint-plugin-import-x@4.16.1(replaces eslint-plugin-import)package-lock.json - Regenerated with
--legacy-peer-deps:CI workflow (.github/workflows/ci.yml):
--legacy-peer-depsflag to bothnpm cicommandseslint-find-rules@5.0.0doesn't support ESLint v10 yeteslint.config.mjs:
sonarjs/code-evalruleeslint-plugin-importwitheslint-plugin-import-x@eslint/compatand wrapped import-x withfixupPluginRules()for ESLint v10 compatibilityimport/enforce-node-protocol-usage(not available in import-x)import/no-unused-modules(uses removed ESLint v10 APIs)Source files:
src/file-system-storage.tssrc/storage.tsBackground:
typescript-eslint@8.56.0(released Feb 16, 2026) has peer dependency:eslint: ^8.57.0 || ^9.0.0 || ^10.0.0Note:
eslint-find-rules@5.0.0doesn't officially support ESLint v10 yet, requiring the--legacy-peer-depsflag. Thenpm run lintcommand works successfully with the updated plugin configuration.@nicolashenry
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.