Skip to content

Bump eslint-plugin-vue from 9.33.0 to 10.8.0#14494

Open
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/npm_and_yarn/eslint-plugin-vue-10.8.0
Open

Bump eslint-plugin-vue from 9.33.0 to 10.8.0#14494
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/npm_and_yarn/eslint-plugin-vue-10.8.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 31, 2026

Copy link
Copy Markdown
Contributor

Bumps eslint-plugin-vue from 9.33.0 to 10.8.0.

Release notes

Sourced from eslint-plugin-vue's releases.

v10.8.0

Minor Changes

Patch Changes

v10.7.0

Minor Changes

Patch Changes

  • Fixed false positives in vue/define-props-destructuring rule when imported types are passed to defineProps (#2995)
  • Updated Vue 3 export names resources: added DirectiveModifiers (#2996)
  • Updated Vue 3 export names resources: added nodeOps and patchProp (#2986)

v10.6.2

Patch Changes

v10.6.1

Patch Changes

v10.6.0

Minor Changes

Patch Changes

... (truncated)

Changelog

Sourced from eslint-plugin-vue's changelog.

10.8.0

Minor Changes

Patch Changes

10.7.0

Minor Changes

Patch Changes

  • Fixed false positives in vue/define-props-destructuring rule when imported types are passed to defineProps (#2995)
  • Updated Vue 3 export names resources: added DirectiveModifiers (#2996)
  • Updated Vue 3 export names resources: added nodeOps and patchProp (#2986)

10.6.2

Patch Changes

10.6.1

Patch Changes

10.6.0

Minor Changes

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for eslint-plugin-vue since your current version.


Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Mar 31, 2026
@github-actions github-actions Bot added DEV: tools Internal tooling for development SIZE: very small labels Mar 31, 2026
@github-actions

github-actions Bot commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

Bumps [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) from 9.33.0 to 10.8.0.
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Changelog](https://github.com/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md)
- [Commits](vuejs/eslint-plugin-vue@v9.33.0...v10.8.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-vue
  dependency-version: 10.8.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/eslint-plugin-vue-10.8.0 branch from b017fc2 to 6f2acbb Compare March 31, 2026 20:31
@rtibbles rtibbles requested a review from rtibblesbot March 31, 2026 20:39

@rtibblesbot rtibblesbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Dependency Update Review

Package: eslint-plugin-vue 9.33.0 → 10.8.0
Semver risk: Major
Dependency type: devDependency (linting toolchain — eslint-plugin-kolibri and kolibri-format)
CI status: Failing (lint + frontend tests)

Changelog Analysis

Sources consulted:

Breaking changes:

  • Internal module paths removed: eslint-plugin-vue/lib/utils is no longer a public export in v10. This is the module path used by Kolibri's custom ESLint plugin.
  • Node.js version requirement raised: ^18.18.0 || ^20.9.0 || >=21.1.0 (was ^14.17.0 || >=16.0.0).
  • New peer dependency: vue-eslint-parser@^10.0.0 is now a required peer (the lockfile resolves it to the existing v9.4.3, which may itself be incompatible — the peerDep spec requires ^10.0.0).
  • ESLint minimum raised: ^8.57.0 || ^9.0.0 || ^10.0.0 (was ^6.2.0).

Other notable changes (v10.0–10.8):

  • New rules: vue/no-literals-in-template, vue/no-undef-directives, vue/no-duplicate-class-names
  • ESLint v10 support added
  • Various false-positive fixes and new rule options

Compatibility Assessment

  • Project uses affected APIs: Yes — 11 files in packages/eslint-plugin-kolibri/lib/ import eslint-plugin-vue/lib/utils, which no longer exists in v10.
  • Peer dependency changes: Yes — vue-eslint-parser@^10.0.0 is now required, but the lockfile resolves to v9.4.3.
  • Code changes required: Yes — all 11 usages of require('eslint-plugin-vue/lib/utils') must be migrated to v10's public API.
  • Prior failed attempts: No.

CI Evidence

Lint failure: Every .vue file triggers Error: Cannot find module 'eslint-plugin-vue/lib/utils' because Kolibri's custom rules depend on this removed internal path.

Frontend test failure: packages/eslint-plugin-kolibri/tests/lib/rules/vue-no-rtl-breaking-inline-styles.spec.js fails with the same Cannot find module 'eslint-plugin-vue/lib/utils' error.

Affected files (all in packages/eslint-plugin-kolibri/lib/):

  • utils.js
  • rules/vue-watch-no-string.js
  • rules/vue-string-objects-formatting.js
  • rules/vue-no-unused-vuex-properties.js
  • rules/vue-no-unused-vuex-methods.js
  • rules/vue-no-unused-translations.js
  • rules/vue-no-undefined-string-uses.js
  • rules/vue-component-require-img-src.js
  • rules/vue-component-block-tag-newline.js
  • rules/vue-no-rtl-breaking-inline-styles.js
  • rules/vue-component-block-padding.js

Recommendation

REQUEST_CHANGES — This major version bump removes eslint-plugin-vue/lib/utils, an internal module path that 11 custom ESLint rule files depend on. The PR contains no code migration, so both linting and tests are broken. This upgrade requires investigating eslint-plugin-vue v10's public API for an equivalent to the utils module, updating all 11 import sites, and potentially upgrading vue-eslint-parser to v10 to satisfy the new peer dependency.


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?

Reviewed the pull request diff checking for:

  • Correctness: bugs, edge cases, undocumented behavior, resource leaks, hardcoded values
  • Design: unnecessary complexity, naming, readability, comment accuracy, redundant state
  • Architecture: duplicated concerns, minimal interfaces, composition over inheritance
  • Testing: behavior-based assertions, mocks only at hard boundaries, accurate coverage
  • Completeness: missing dependencies, unupdated usages, i18n, accessibility, security
  • Principles: DRY (same reason to change), SRP, Rule of Three (no premature abstraction)
  • Checked CI status and linked issue acceptance criteria
  • For UI changes: inspected screenshots for layout, visual completeness, and consistency

},
"dependencies": {
"eslint-plugin-vue": "^9.33.0",
"eslint-plugin-vue": "^10.8.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

blocking: This major version bump breaks Kolibri's custom ESLint plugin. eslint-plugin-vue v10 removed the internal lib/utils module path, which is imported by 11 files in packages/eslint-plugin-kolibri/lib/. Both CI linting and frontend tests fail with Cannot find module 'eslint-plugin-vue/lib/utils'.

Additionally, v10 requires vue-eslint-parser@^10.0.0 as a peer dependency, but the lockfile resolves to v9.4.3.

This upgrade needs a companion code migration:

  1. Find the v10-equivalent public API for the utils that eslint-plugin-kolibri uses (likely eslint-plugin-vue/lib/utils was restructured or re-exported differently)
  2. Update all 11 import sites
  3. Upgrade vue-eslint-parser to v10 to satisfy the peer dependency

@rtibbles

Copy link
Copy Markdown
Member

@rtibblesbot it feels like this needs a more consolidated migration issue - could you write one up?

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

Labels

dependencies Pull requests that update a dependency file DEV: tools Internal tooling for development javascript Pull requests that update Javascript code SIZE: very small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants