This repository was archived by the owner on May 29, 2026. It is now read-only.
fix(deps): resolve eslint-config/typescript-eslint ERESOLVE (closes #62)#63
Merged
Conversation
@nextcloud/eslint-config@8.4.2 peer-requires @vue/eslint-config-typescript@^13 and eslint-import-resolver-typescript@^3.8, neither of which were declared. npm eagerly pulled the optional eslint-plugin-import-x peer (which demands @typescript-eslint/utils@^8.56) against the pinned @typescript-eslint@7.18, producing the ERESOLVE that blocked npm ci fleet-wide. - Add @vue/eslint-config-typescript@^13.0.0 + eslint-import-resolver-typescript + eslint-plugin-import as explicit devDeps (the missing required peers). - Pin eslint-import-resolver-typescript to ~3.8.7 and override import-x's @typescript-eslint/utils to ^7.18.0 so the optional import-x peer stays on the 7.x tree instead of dragging in 8.x. - Bump node-polyfill-webpack-plugin 3 -> 4 (a second, pre-existing ERESOLVE surfaced once the first cleared: @nextcloud/webpack-vue-config@6.3.2 peers 4.0.0). npm ci and npm run lint both pass cleanly; no legacy-peer-deps escape hatch.
Contributor
Quality Report — ConductionNL/nextcloud-app-template @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ❌ | ||||
| phpcs | ❌ | ||||
| phpmd | ❌ | ||||
| psalm | ❌ | ||||
| phpstan | ❌ | ||||
| phpmetrics | ❌ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ❌ | ❌ | |||
| npm | ✅ | ❌ 2/706 denied | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
❌ Denied npm licenses
| Package | Version | License |
|---|---|---|
| pako | 1.0.11 | (MIT AND Zlib) |
| sha.js | 2.4.12 | (MIT AND BSD-3-Clause) |
Quality workflow — 2026-05-25 17:47 UTC
Download the full PDF report from the workflow artifacts.
Contributor
Quality Report — ConductionNL/nextcloud-app-template @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ❌ | ||||
| phpcs | ❌ | ||||
| phpmd | ❌ | ||||
| psalm | ❌ | ||||
| phpstan | ❌ | ||||
| phpmetrics | ❌ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ❌ | ❌ | |||
| npm | ✅ | ❌ 2/597 denied | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
❌ Denied npm licenses
| Package | Version | License |
|---|---|---|
| pako | 1.0.11 | (MIT AND Zlib) |
| sha.js | 2.4.12 | (MIT AND BSD-3-Clause) |
Quality workflow — 2026-05-25 17:52 UTC
Download the full PDF report from the workflow artifacts.
pako (MIT AND Zlib) and sha.js (MIT AND BSD-3-Clause) are denied by the License (npm) gate because its check only splits SPDX OR expressions, not AND. Both halves of each are permissive and EUPL-1.2/AGPL-3.0 compatible, so add manual overrides. These two transitive deps predate this PR (they failed the same gate on the broken-CI baseline); adding the overrides unblocks the gate now that npm install resolves.
Contributor
Quality Report — ConductionNL/nextcloud-app-template @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ❌ | ||||
| phpcs | ❌ | ||||
| phpmd | ❌ | ||||
| psalm | ❌ | ||||
| phpstan | ❌ | ||||
| phpmetrics | ❌ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| composer | ❌ | ❌ | |||
| npm | ✅ | ✅ 597/597 | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
Quality workflow — 2026-05-25 17:55 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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Fixes the fleet-wide
npm ciERESOLVE (#62) that blocked all quality + spec-validation CI jobs ondevelopmentand every PR.@nextcloud/eslint-config@8.4.2peer-requires@vue/eslint-config-typescript@^13andeslint-import-resolver-typescript@^3.8, neither of which was declared. npm eagerly resolved the optionaleslint-plugin-import-xpeer (which demands@typescript-eslint/utils@^8.56) against the pinned@typescript-eslint@7.18, producing the conflict.Changes
@vue/eslint-config-typescript@^13.0.0,eslint-import-resolver-typescript@~3.8.7,eslint-plugin-import@^2.31.0as explicit devDeps (the missing required peers).eslint-plugin-import-x->@typescript-eslint/utils@^7.18.0so the optional import-x peer stays on the 7.x tree.node-polyfill-webpack-plugin3 -> 4 (a second pre-existing ERESOLVE surfaced once the first cleared:@nextcloud/webpack-vue-config@6.3.2peersnode-polyfill-webpack-plugin@4.0.0).legacy-peer-depsescape hatch.Test plan
npm installexits 0, no ERESOLVEnpm ciexits 0 (the exact command from CI: npm ci ERESOLVE on @nextcloud/eslint-config@8.4.2 vs @typescript-eslint@7.18.0 (blocks all quality + spec-validation jobs) #62)npm run lintpasses (eslint config loads cleanly)