Skip to content

[Snyk] Security upgrade eslint from 9.39.4 to 10.0.0#71

Open
snyk-io[bot] wants to merge 1 commit into
mainfrom
snyk-fix-6c269e8f23bd2e4c110df77004b4ec06
Open

[Snyk] Security upgrade eslint from 9.39.4 to 10.0.0#71
snyk-io[bot] wants to merge 1 commit into
mainfrom
snyk-fix-6c269e8f23bd2e4c110df77004b4ec06

Conversation

@snyk-io

@snyk-io snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the pnpm dependencies of this project.

Snyk changed the following file(s):

  • packages/middleware/hono/package.json
⚠️ Warning
Failed to update the pnpm-lock.yaml, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue
high severity Inefficient Algorithmic Complexity
SNYK-JS-BRACEEXPANSION-17706650

Breaking Change Risk

Merge Risk: High

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.


This change is Reviewable

@snyk-io

snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown
Author

Merge Risk: High

This major upgrade to ESLint v10 introduces significant breaking changes, most notably the complete removal of the legacy .eslintrc configuration system. All projects must migrate to the eslint.config.js (flat config) format.

Key Breaking Changes:

  • Removal of .eslintrc: Support for .eslintrc.* and .eslintignore files has been completely removed. [1, 2, 7] You must migrate to a eslint.config.js file. [5, 10] Related CLI flags like --no-eslintrc and --ignore-path are also removed. [1]
  • Node.js Version Requirement: Support for Node.js versions older than v20.19.0 has been dropped. [1, 2] You must ensure your environment is running a compatible Node.js version. [5]
  • New Config Lookup: The configuration file is now located by searching from the directory of each linted file, which is a change from the previous behavior of searching from the current working directory. [1, 6]
  • eslint-env Comments: Using /* eslint-env */ comments will now cause linting errors. [2, 5]

Recommendation:
This upgrade requires a mandatory migration of your ESLint configuration from the legacy .eslintrc format to the modern eslint.config.js flat config format. Follow the official Configuration Migration Guide before upgrading. [2, 10]

Source: ESLint v10.0.0 Release Notes, Migration Guide

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

@changeset-bot

changeset-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 81a8dd6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@snyk-io

snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown
Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@snyk-io

snyk-io Bot commented Jun 30, 2026

Copy link
Copy Markdown
Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

"@eslint/js": "catalog:devTools",
"@typescript/native-preview": "catalog:devTools",
"eslint": "catalog:devTools",
"eslint": "10.0.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: ESLint 10 bump diverges from the catalog and is not synced to the lockfile, so it will fail install/lint.

This PR pins eslint to a hard-coded exact 10.0.0 while every other package still uses catalog:devTools (^9.39.2). Problems:

  1. Lockfile not updated. Snyk's own PR description warns "Failed to update the pnpm-lock.yaml, please update manually before merging." The lockfile still resolves eslint@9.39.4 everywhere (grep of pnpm-lock.yaml shows no eslint@10). pnpm install in CI will be inconsistent / fail the lockfile check.
  2. Inconsistent across the monorepo. All other packages (client, server, core, etc.) keep catalog:devTools. Bumping only hono means two ESLint majors coexist in one workspace, which pnpm/eslint peer resolution will reject.
  3. ESLint 10 is a major breaking change (removes .eslintrc, requires flat config, Node >=20.19). The shared @modelcontextprotocol/eslint-config dep is still catalog:devTools (^9.39.2), so this package's eslint.config.mjs importing it would pull an incompatible peer. The whole monorepo must migrate to ESLint 10 together, not one leaf package.
  4. Exact pin instead of ^10.0.0. Even if intentional, an exact 10.0.0 pin breaks the catalog-driven single-version-of-truth strategy this repo uses.

Recommendation: revert this line; fix the brace-expansion vuln at the catalog level (or bump all packages + shared config + lockfile together), since the fix belongs in catalogs.devTools.eslint in pnpm-workspace.yaml.

Suggested change
"eslint": "10.0.0",
"eslint": "catalog:devTools",

@kilo-code-bot

kilo-code-bot Bot commented Jul 6, 2026

Copy link
Copy Markdown

Code Review Summary

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 1
WARNING 0
SUGGESTION 0
\nIssue Details (click to expand)

CRITICAL

File Line Issue
packages/middleware/hono/package.json 57 ESLint 10 bump diverges from catalog, is not synced to pnpm-lock.yaml (still eslint@9.39.4), and breaks monorepo-wide ESLint version consistency. ESLint 10 is a major breaking change requiring a coordinated migration (shared @modelcontextprotocol/eslint-config, all packages, and lockfile together). The brace-expansion vuln fix belongs in catalogs.devTools.eslint in pnpm-workspace.yaml, not an exact pin in one leaf package. Revert to "eslint": "catalog:devTools".
\nFiles Reviewed (1 file)
  • packages/middleware/hono/package.json - 1 issue

Fix these issues in Kilo Cloud


Reviewed by hy3-20260706:free · Input: 25.3K · Output: 2.6K · Cached: 208.5K

Review guidance: REVIEW.md from base branch main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants