Skip to content

fix(deps): regenerate package-lock.json with upstream registry resolutions#176

Merged
printminion-co merged 1 commit into
mainfrom
mk/dev/fix-upstream-icon-deps-lockfile
May 13, 2026
Merged

fix(deps): regenerate package-lock.json with upstream registry resolutions#176
printminion-co merged 1 commit into
mainfrom
mk/dev/fix-upstream-icon-deps-lockfile

Conversation

@printminion-co

Copy link
Copy Markdown
Contributor

Summary

  • Lockfile at d87bf5b resolves @mdi/js and vue-material-design-icons as file: links into ../../custom-npms/..., even though package.json declares the upstream semver versions (^7.4.47, ^5.3.1). The earlier "replace file: deps with upstream" commit (5ba39d8) only updated the root deps section; the npm audit fix in d87bf5b preserved the inconsistency because custom-npms/ was checked out locally when it ran.
  • Local installs always succeeded because devs have nc-server/custom-npms/ checked out, so npm created working symlinks. CI runners have no custom-npms/, so the symlinks dangled, npm ci silently succeeded, and webpack failed with Module not found: 'vue-material-design-icons/Close.vue' and friends.
  • Regenerated by deleting node_modules/ and package-lock.json with custom-npms/ moved aside, then npm install --no-audit. Both packages now resolve via registry.npmjs.org with integrity hashes (same versions already declared in package.json).

Test plan

  • Verified package-lock.json no longer contains "link": true for @mdi/js or vue-material-design-icons; both resolve to https://registry.npmjs.org/... URLs with integrity hashes.
  • Local CI-like reproduction: mv custom-npms /tmp/ && rm -rf node_modules && npm ci --prefer-offline --no-audit && npm run build → webpack compiles with 0 errors (2 informational size warnings on main.js/entrypoint).
  • After merge: bump submodule pointer in IONOS-Productivity/nc-server PR #226 and confirm build-apps (simplesettings, …) matrix leg goes green.

…tions

Commit 5ba39d8 ("replace file: deps with upstream") rewrote
package.json and the root packages."".dependencies section of
package-lock.json from `file:` to `^semver`, but left the
packages."node_modules/@mdi/js" and packages."node_modules/vue-material-design-icons"
entries as `{ "link": true, "resolved": "../../custom-npms/..." }`.
Commit d87bf5b ("npm audit fix") preserved that inconsistency.

Local installs worked because nc-server/custom-npms/ is checked
out on developer machines, so npm ci happily created symlinks to
the file:-resolved targets. CI runners have no custom-npms/, so
the symlinks dangle, npm ci silently succeeds, and webpack later
fails with `Module not found: 'vue-material-design-icons/Close.vue'`
and `Module not found: '@mdi/js'`.

Regenerated by deleting node_modules and package-lock.json with
custom-npms/ moved aside, then running `npm install --no-audit`.
Both packages now resolve via registry.npmjs.org with integrity
hashes (@mdi/js 7.4.47, vue-material-design-icons 5.3.1 — same
versions already declared in package.json).

Verified with `npm ci --prefer-offline --no-audit && npm run build`
on Node 22 with custom-npms/ absent — webpack compiles with 2 size
warnings and 0 errors.

Unblocks IONOS-Productivity/nc-server PR #226 (CI cached matrix
migration), which exposed the bug by cache-missing the
simplesettings build artifact.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
@printminion-co printminion-co requested a review from Copilot May 13, 2026 10:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@printminion-co printminion-co merged commit 373db5b into main May 13, 2026
37 checks passed
@printminion-co printminion-co deleted the mk/dev/fix-upstream-icon-deps-lockfile branch May 13, 2026 10:06
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.

2 participants