Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

chore: add @nextcloud/* peer deps + .npmrc to fix dev baseline#324

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/fix-dev-baseline
May 10, 2026
Merged

chore: add @nextcloud/* peer deps + .npmrc to fix dev baseline#324
rubenvdlinde merged 1 commit into
developmentfrom
chore/fix-dev-baseline

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Restores npm ci, npm run lint, and npm run build on development. Mirror of the pattern that landed in decidesk #169, pipelinq #333, softwarecatalog #223.

Why .npmrc

@nextcloud/eslint-config@^8.4.1 declares its peer chain inside a transitive plugin, which npm 10's strict peer resolution refuses unless legacy-peer-deps is enabled. Local npm install --legacy-peer-deps works, but CI uses npm ci, which has no flag — the only way to make CI accept the same resolution is committing legacy-peer-deps=true in .npmrc.

Dependencies added

devDependencies (peer chain for @nextcloud/eslint-config@^8.4.1)

  • eslint-plugin-import ^2.32.0
  • eslint-plugin-n ^16.6.2
  • eslint-plugin-jsdoc ^46.10.1
  • eslint-plugin-promise ^6.6.0
  • eslint-plugin-vue ^9.33.0
  • eslint-config-standard ^17.1.0
  • @nextcloud/eslint-plugin ^2.2.1
  • @vue/eslint-config-typescript ^13.0.0
  • @babel/eslint-parser ^7.28.6
  • @babel/core ^7.29.0 (peer of @babel/eslint-parser)
  • eslint-import-resolver-exports ^1.0.0-beta.5
  • eslint-import-resolver-typescript ^3.10.1
  • typescript ^5.9.3 (peer of @vue/eslint-config-typescript)

devDependencies (peer chain for @nextcloud/webpack-vue-config@^6.0.1)

  • node-polyfill-webpack-plugin ^3.0.0

dependencies

  • @nextcloud/auth ^2.6.0 — used in 5 .vue files (VoorstelDetail, BesluitRegistration, ParafeerActionBar, ParafeerInbox, VoorstelCreateDialog) but never declared, so ESLint's n/no-extraneous-import flagged it once linting started working again

Gates

Gate Result
npm ci OK
npm run lint 7 errors / 13 warnings — see below
npm run build OK (webpack 5.105.2, 9 warnings)
npm test n/a (no test script)

Remaining lint errors

The 7 errors are pre-existing source bugs — they were hidden until peer deps were restored and lint started working again. Tracked separately in #323:

  • src/store/modules/bezwaar.js:499 — unused settingsStore
  • src/views/MyWork.vue:61 — duplicate v-else-if branch
  • src/views/cases/components/CaseTransferDialog.vue:38<template #actions> nested inside <div> instead of being a direct child of <NcDialog>
  • src/views/cases/components/CreateShareDialog.vue:92 — same v-slot scoping bug
  • src/views/cases/components/EmailComposer.vue:49,59 — Vue template parsing errors on {{ '{{' + v + '}}' }} in v-for
  • src/views/settings/components/DurationPicker.vue:31 — unused formatDuration

Source diffs

src/**/*.vue changes are exclusively npm run lint-fix auto-fixes (vue/order-in-components reordering, attribute wrapping). No manual code edits.

Restores `npm ci`, `npm run lint`, and `npm run build` on `development`.

Adds the missing peer-dependency chain for `@nextcloud/eslint-config@^8.4.1`
and `@nextcloud/webpack-vue-config@^6.0.1`. `.npmrc` sets
`legacy-peer-deps=true` so CI's `npm ci` (which doesn't take a flag) accepts
the same resolution npm install produced.

devDependencies added:
- eslint-plugin-import ^2.32.0
- eslint-plugin-n ^16.6.2
- eslint-plugin-jsdoc ^46.10.1
- eslint-plugin-promise ^6.6.0
- eslint-plugin-vue ^9.33.0
- eslint-config-standard ^17.1.0
- @nextcloud/eslint-plugin ^2.2.1
- @vue/eslint-config-typescript ^13.0.0
- @babel/eslint-parser ^7.28.6
- @babel/core ^7.29.0
- eslint-import-resolver-exports ^1.0.0-beta.5
- eslint-import-resolver-typescript ^3.10.1
- node-polyfill-webpack-plugin ^3.0.0
- typescript ^5.9.3

dependencies added:
- @nextcloud/auth ^2.6.0 (was used in 5 .vue files but never declared)

Vue files in src/ contain only `npm run lint-fix` auto-fix output
(vue/order-in-components reordering, attribute wrapping). No manual code
edits.

Mirror of pattern landed in decidesk #169, pipelinq #333, softwarecatalog #223.

Gates after change:
- `npm ci` succeeds
- `npm run lint` — 7 errors / 13 warnings remain; these are pre-existing
  source bugs (parsing errors, v-slot scoping, unused vars, duplicate
  v-else-if) tracked separately in #323 — not caused by this baseline fix
- `npm run build` — succeeds (webpack 5.105.2, 9 warnings)
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ eba90cd

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 407/407
PHPUnit ⏭️
Newman ⏭️
Playwright

Spec coverage: 3% (21 tests / 613 specs)


Quality workflow — 2026-05-10 20:54 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit d886c62 into development May 10, 2026
18 of 22 checks passed
@rubenvdlinde rubenvdlinde deleted the chore/fix-dev-baseline branch May 10, 2026 21:06
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant