fix(npm): npm ci has been failing on every branch — EOVERRIDE on vue#2080
Merged
Conversation
`npm ci` errors before installing anything:
npm error code EOVERRIDE
npm error Override for vue@^2.6 || ^3.0 conflicts with direct dependency
npm refuses an override for a package that is also a direct dependency unless
the two agree. `overrides.vue` pins `^2.7.16` while the devDependency allows
`^2.6 || ^3.0`, so nothing installs.
That one failure is the root of five red checks on every PR in this repo: with
no node_modules, `validate`, `Vue Quality (eslint)`, `Vue Quality (stylelint)`,
`License (npm)` and `Security (npm)` all fail. The eslint failure in particular
reads as a lint error and is not one — it is `eslint-plugin-n` missing because
the install never ran.
The devDependency now declares `^2.7.16`, matching the override's intent to pin
Vue 2.7.16 through the tree. `peerDependencies` deliberately stays permissive at
`^2.6 || ^3.0`: consumers may still be on either major, and peers are not what
npm objects to.
Verified: `npm install --package-lock-only` resolves, and `npm ci --dry-run`
now completes with 475 packages.
Contributor
Quality Report — ConductionNL/openregister @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ❌ | ✅ 173/173 | |||
| npm | ✅ | ✅ 555/555 | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
Quality workflow — 2026-07-24 15:29 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
npm cierrors before installing anything:npm refuses an override for a package that is also a direct dependency unless the two agree.
overrides.vuepins^2.7.16while the devDependency allows^2.6 || ^3.0.Why this matters more than it looks
That single failure is the root of five red checks on every PR here: with no
node_modules,validate,Vue Quality (eslint),Vue Quality (stylelint),License (npm)andSecurity (npm)all fail. The eslint one is the most misleading — it reportseslint-plugin-nmissing, which reads as a lint error but is just the install never having run.Those checks have been red long enough to be treated as background noise, which is exactly how a real failure gets merged past.
The fix
The devDependency now declares
^2.7.16, matching the override's intent.peerDependenciesstays permissive at^2.6 || ^3.0— consumers may be on either major, and peers are not what npm objects to.Verified:
npm install --package-lock-onlyresolves andnpm ci --dry-runcompletes with 475 packages.🤖 Generated with Claude Code