build(deps-dev): bump eslint from 9.39.2 to 10.4.1#3459
Conversation
Bumps [eslint](https://github.com/eslint/eslint) from 9.39.2 to 10.4.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v9.39.2...v10.4.1) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.4.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
📝 WalkthroughWalkthroughESLint dev dependency is updated from version ^9.13.0 to ^10.4.1 in ChangesESLint Upgrade
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3459 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 311 311
Lines 3237 3237
Branches 732 732
=========================================
Hits 3237 3237 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Line 85: package.json currently pins "eslint": "^10.4.1" but v10 requires
migrating to flat config and verifying plugin compatibility; update your repo to
use an eslint.config.* flat config that sets ignores and languageOptions.globals
(remove use of eslint-env/--env and legacy .eslintrc*/.eslintignore), and
audit/upgrade plugins referenced in package.json such as eslint-plugin-import to
a v10-compatible release (and confirm `@typescript-eslint/`*,
eslint-plugin-functional, eslint-plugin-jsdoc versions are compatible); also
ensure CI (the npm run lint job) and package.json's engines/Node version meet
ESLint v10 runtime requirements before merging.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 1da01047-9da2-4206-adef-daf294cf3f02
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json
| "cspell": "^10.0.0", | ||
| "docsify-cli": "^4.3.0", | ||
| "eslint": "^9.13.0", | ||
| "eslint": "^10.4.1", |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
ESLint v10 breaking changes flat config migration guide
💡 Result:
ESLint v10.0.0 was released on February 6, 2026, marking the complete removal of the legacy.eslintrc configuration system in favor of the flat configuration format [1][2]. Projects must now use eslint.config.js (or.mjs/.cjs) as their configuration file [1][3]. Key Breaking Changes and Migration Requirements: 1. Removal of Legacy Config Support: The.eslintrc,.eslintrc.json,.eslintrc.js, and.eslintrc.yml files are no longer supported [3][4]. The environment variable ESLINT_USE_FLAT_CONFIG has been removed, making flat config mandatory [1][3]. 2. Node.js Version Requirements: ESLint v10 requires Node.js versions ^20.19.0, ^22.13.0, or >=24. Older versions of Node.js are no longer supported [1][5][2]. 3. Configuration Structure: - The ignores property in the flat config array now handles file ignoring, replacing the separate.eslintignore file [3][4]. - The --env CLI flag and /* eslint-env / comments are no longer supported; environments must now be configured using the globals package within languageOptions [4]. - Legacy plugins and configs (like those using extends or --rulesdir) must be imported directly into the flat config array [3][4]. The @eslint/eslintrc package remains available if you need to use FlatCompat to bridge legacy configs during transition [6]. 4. Notable API and Internal Changes: - The stylish formatter now uses native styleText instead of chalk [1][5]. - The LintMessage objects no longer contain a nodeType property [1][2]. - eslint:recommended has been updated, and JSX reference tracking is now enabled [1][5]. - Program range now spans the entire source text [2]. Migration Steps: - Identify and remove all.eslintrc. and.eslintignore files [4]. - Create an eslint.config.js file and export an array of configuration objects [6][7]. - Migrate ignore patterns into the ignores property of your flat config [3][4]. - Update any dependencies (such as typescript-eslint) to versions compatible with ESLint v10 (e.g., typescript-eslint v8+) [3]. - Run the ESLint configuration migrator tool to generate a starting point for your new configuration [6][3]. For comprehensive instructions, consult the official ESLint migration guide at https://eslint.org/docs/latest/use/migrate-to-10.0.0 [1].
Citations:
- 1: https://eslint.org/docs/latest/use/migrate-to-10.0.0
- 2: https://eslint.org/blog/2026/02/eslint-v10.0.0-released/
- 3: https://www.pkgpulse.com/guides/eslint-10-flat-config-migration-guide-2026
- 4: https://dev.to/pockit_tools/eslint-10-migration-guide-everything-you-need-to-know-about-the-biggest-update-yet-55hk
- 5: https://github.com/eslint/eslint/releases/tag/v10.0.0
- 6: https://eslint.org/docs/latest/use/configure/migration-guide
- 7: https://raulmelo.me/en/blog/migration-eslint-to-flat-config
🏁 Script executed:
#!/bin/bash
# Description: Check if ESLint plugins declare ESLint v10 compatibility in their package.json
# Check each plugin's peer dependencies for ESLint version support
for plugin in \
"`@typescript-eslint/eslint-plugin`" \
"eslint-plugin-import" \
"eslint-plugin-functional" \
"eslint-plugin-jsdoc" \
"eslint-plugin-no-null" \
"eslint-plugin-prefer-arrow" \
"eslint-plugin-unicorn"; do
echo "=== Checking $plugin ==="
npm view "$plugin" peerDependencies.eslint 2>/dev/null || echo "No peer dependency info found"
echo ""
doneRepository: dolanmiu/docx
Length of output: 512
Major: ESLint 10 upgrade needs flat-config + plugin compatibility checks
- ESLint v10 removes legacy
.eslintrc*/.eslintignoresupport and changes env/ignore handling for flat config; ensure your flat config (eslint.config.*) usesignoresandlanguageOptions.globals(noeslint-env/--env). - Plugin compatibility is mixed:
@typescript-eslint/*,eslint-plugin-functional, andeslint-plugin-jsdocadvertise peer support that includes ESLint^10, buteslint-plugin-import’s peer dependency list does not include ESLint^10(so updateeslint-plugin-importto a v10-compatible release if you’re on the^2.xline). - Since CI runs
npm run lint, also confirm CI/package.jsonNode version meets ESLint v10’s requirements.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` at line 85, package.json currently pins "eslint": "^10.4.1" but
v10 requires migrating to flat config and verifying plugin compatibility; update
your repo to use an eslint.config.* flat config that sets ignores and
languageOptions.globals (remove use of eslint-env/--env and legacy
.eslintrc*/.eslintignore), and audit/upgrade plugins referenced in package.json
such as eslint-plugin-import to a v10-compatible release (and confirm
`@typescript-eslint/`*, eslint-plugin-functional, eslint-plugin-jsdoc versions are
compatible); also ensure CI (the npm run lint job) and package.json's
engines/Node version meet ESLint v10 runtime requirements before merging.
Bumps eslint from 9.39.2 to 10.4.1.
Release notes
Sourced from eslint's releases.
... (truncated)
Commits
4a3d15a10.4.143e7e2bBuild: changelog update for 10.4.1e557467fix: update@eslint/plugin-kitversion to 0.7.2 (#20930)b0e466btest: adddataproperty to invalid tests cases for rules (#20924)d4ce898fix: propagate failures from delegated commands (#20917)f4f3507fix: prefer-arrow-callback invalid autofix with newline afterasync(#20916)f78838btest: add CodePath type coverage (#20904)61b0adddocs: remove deprecated rule from related rules ofmax-params(#20921)1daa4bdchore: updateeslint-plugin-eslint-commentstest data to latest commit (#20...002942cci: declare contents:read on update-readme workflow (#20919)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)Summary by CodeRabbit