Skip to content

Fix PR #60: upgrade eslint-plugin-vue to v10 with required dependency updates#63

Draft
Copilot wants to merge 1 commit into
mainfrom
copilot/fix-pull-request-60
Draft

Fix PR #60: upgrade eslint-plugin-vue to v10 with required dependency updates#63
Copilot wants to merge 1 commit into
mainfrom
copilot/fix-pull-request-60

Conversation

Copy link
Copy Markdown

Copilot AI commented May 8, 2026

Fixes the failing CI from #60.

Problem

PR #60 (dependabot) bumps eslint-plugin-vue from 9.33.0 to 10.9.1, but CI fails with:

npm error peer eslint-plugin-vue@"^9.2.0" from @vue/eslint-config-airbnb@7.0.1

eslint-plugin-vue v10 has several breaking changes that required additional dependency updates:

  • @vue/eslint-config-airbnb and @vue/eslint-config-typescript both declare eslint-plugin-vue@^9.x as a peer dep (no release yet supports v10)
  • vue-eslint-parser is no longer bundled — it's now a required peer dep
  • Minimum eslint version raised to ^8.57.0
  • Optional peer dep on @typescript-eslint/parser@^7||^8 conflicts with installed v5

Changes

  • package.json: bump eslint-plugin-vue to ^10.9.1, add vue-eslint-parser@^10.3.0, update eslint to ^8.57.0, add npm overrides for @vue/eslint-config-airbnb and @vue/eslint-config-typescript to allow eslint-plugin-vue v10
  • .npmrc: add legacy-peer-deps=true to handle the optional @typescript-eslint/parser peer dep conflict (v5 installed, v7/v8 required by eslint-plugin-vue@10)
  • src/components/FormGenerator/index.vue: fix vue/no-v-for-template-key-on-child error — move :key from child elements to the <template v-for> tag (Vue 3 best practice, now enforced by v10)
  • package-lock.json: updated accordingly

Summary by Sourcery

Upgrade eslint-plugin-vue to v10 and adjust configuration to restore passing CI.

Enhancements:

  • Update eslint and add vue-eslint-parser to support eslint-plugin-vue v10 and modern Vue linting rules.
  • Adjust FormGenerator component markup to satisfy new Vue ESLint keying rules and Vue 3 best practices.

Build:

  • Add npm overrides and legacy peer dependency handling to resolve eslint-plugin-vue v10 peer dependency conflicts and stabilize installs.

@kburger
Copy link
Copy Markdown

kburger commented May 8, 2026

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.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented May 8, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Updates linting tooling to support eslint-plugin-vue v10, adds required parser and overrides to satisfy peer dependencies, configures npm to tolerate an optional TypeScript parser peer mismatch, and fixes a Vue template to comply with new linting rules so CI passes for the eslint-plugin-vue upgrade.

File-Level Changes

Change Details Files
Upgrade eslint and eslint-plugin-vue tooling and add required parser dependency.
  • Bump eslint from ^8.10.0 to ^8.57.0 to satisfy eslint-plugin-vue v10 minimum requirement.
  • Bump eslint-plugin-vue from ^9.2.0 to ^10.9.1.
  • Add vue-eslint-parser@^10.3.0 as an explicit dependency required by eslint-plugin-vue v10.
package.json
package-lock.json
Override Vue eslint configs to accept eslint-plugin-vue v10 despite their peer dependency ranges.
  • Add npm overrides section entries for @vue/eslint-config-airbnb and @vue/eslint-config-typescript to pin their eslint-plugin-vue peer to ^10.9.1, working around their declared ^9.x peer range.
package.json
package-lock.json
Configure npm to relax optional peer dependency resolution for @typescript-eslint/parser.
  • Add legacy-peer-deps=true to .npmrc to allow installation despite eslint-plugin-vue v10 declaring an optional peer on @typescript-eslint/parser@^7
Update Vue template keys to satisfy new vue/no-v-for-template-key-on-child rule enforced by eslint-plugin-vue v10.
  • Move :key from child input and feedback elements to the surrounding with key bound to option.id.
  • Remove now-unnecessary per-element :key bindings that violated the rule, aligning with Vue 3 best practices for v-for template keys.
  • src/components/FormGenerator/index.vue
    Tips and commands

    Interacting with Sourcery

    • Trigger a new review: Comment @sourcery-ai review on the pull request.
    • Continue discussions: Reply directly to Sourcery's review comments.
    • Generate a GitHub issue from a review comment: Ask Sourcery to create an
      issue from a review comment by replying to it. You can also reply to a
      review comment with @sourcery-ai issue to create an issue from it.
    • Generate a pull request title: Write @sourcery-ai anywhere in the pull
      request title to generate a title at any time. You can also comment
      @sourcery-ai title on the pull request to (re-)generate the title at any time.
    • Generate a pull request summary: Write @sourcery-ai summary anywhere in
      the pull request body to generate a PR summary at any time exactly where you
      want it. You can also comment @sourcery-ai summary on the pull request to
      (re-)generate the summary at any time.
    • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
      request to (re-)generate the reviewer's guide at any time.
    • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
      pull request to resolve all Sourcery comments. Useful if you've already
      addressed all the comments and don't want to see them anymore.
    • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
      request to dismiss all existing Sourcery reviews. Especially useful if you
      want to start fresh with a new review - don't forget to comment
      @sourcery-ai review to trigger a new review!

    Customizing Your Experience

    Access your dashboard to:

    • Enable or disable review features such as the Sourcery-generated pull request
      summary, the reviewer's guide, and others.
    • Change the review language.
    • Add, remove or edit custom review instructions.
    • Adjust other review settings.

    Getting Help

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.

3 participants