Skip to content

fix(deps): lift vue to 3.5.44 and drop unused Vue dependencies - #387

Merged
AndyScherzinger merged 2 commits into
mainfrom
fix/npm-audit-vue
Oct 17, 2026
Merged

AndyScherzinger merged 2 commits into
mainfrom
fix/npm-audit-vue

Conversation

@AndyScherzinger

Copy link
Copy Markdown
Member

The npm audit workflow (run) reported 2 fixable vulnerabilities but opened no PR, because npm audit fix changed nothing.

The 2 fixable items are vue and @vue/server-renderer 3.5.33, affected by GHSA-g2v6-rqmx-r4w6 (high, fixed in 3.5.42). They stay at 3.5.33 because:

  • floating-vue and emoji-mart-vue-fast (via @nextcloud/vue from @nextcloud/dialogs and @nextcloud/viewer) only declare vue as a peer, so npm satisfies them with one hoisted copy.
  • vue and @vue/server-renderer require each other at the exact same version, so neither npm audit fix nor npm update vue can move that pair.
  • The root peerDependencies entry "vue": ">=2.7.0" pinned it as well.

Changes:

  • Drop the root vue peer dependency and the @vue/test-utils dev dependency. Both were only needed for the Vue viewer component, which fix(viewer): migrate to @nextcloud/viewer for Nextcloud 36 #375 replaced with a custom element; nothing imports either anymore.
  • npm dedupe, which hoists vue/@vue/* 3.5.44. Everything else it touches is a patch or minor update within the existing ranges (e.g. @babel/parser, bn.js, minimatch, undici, vite's nested esbuild 0.27.2 → 0.28.2).

npm audit goes from 17 vulnerabilities (5 high) to 15 (3 high). The rest are only fixable with --force: a breaking change of vite-plugin-static-copy, and the @nextcloud/vite-config polyfill/vite-plugin-dts chain, which has no fix yet.

Since @nextcloud/viewer bundles the Vue runtime into this app's JS, the change ships, so it was tested in the browser on 32, 34 and 36 (open, save, public share).

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI (N/A)

Both were only needed for the Vue viewer component, which #375 replaced
with a custom element. Nothing imports vue or @vue/test-utils anymore.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
vue and @vue/server-renderer require each other at the exact same
version, so npm audit fix could not move the hoisted copy off 3.5.33,
which GHSA-g2v6-rqmx-r4w6 affects (fixed in 3.5.42). npm dedupe hoists
3.5.44 instead; the rest are patch and minor updates within the
existing ranges.

Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
@nextcloud-command nextcloud-command added the AI assisted This PR contains AI-assisted commits label Oct 17, 2026
@AndyScherzinger
AndyScherzinger merged commit 781248e into main Oct 17, 2026
8 checks passed
@AndyScherzinger
AndyScherzinger deleted the fix/npm-audit-vue branch October 17, 2026 16:13
@AndyScherzinger AndyScherzinger added this to the v0.1.4 milestone Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI assisted This PR contains AI-assisted commits

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants