Skip to content

fix: pin rollup binary and sharp to resolve npm install and GoCD GLIBC failures - #76

Merged
cs-raj merged 1 commit into
mainfrom
fix/npm-install-sharp-override
Jul 30, 2026
Merged

fix: pin rollup binary and sharp to resolve npm install and GoCD GLIBC failures#76
cs-raj merged 1 commit into
mainfrom
fix/npm-install-sharp-override

Conversation

@cs-raj

@cs-raj cs-raj commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Problems Fixed

1. GoCD CI failure — GLIBC_2.32 not found

`@rollup/rollup-linux-x64-gnu@4.62.3` introduced a GLIBC_2.32 requirement. GoCD's Linux agent only has GLIBC_2.31, causing `nuxt prepare` to fail with:
```
GLIBC_2.32' not found (required by rollup-linux-x64-gnu/rollup.linux-x64-gnu.node)
```

Fix: Pin `@rollup/rollup-linux-x64-gnu` and `@rollup/rollup-linux-x64-musl` to `^4.62.2` in `optionalDependencies`. The committed `package-lock.json` locks both to exactly `4.62.2` (GLIBC_2.14 only), preventing npm from ever resolving to `4.62.3`.

2. npm install crash — `Cannot read properties of null (reading 'edgesOut')`

npm's arborist crashes on fresh installs due to `@nuxt/image` pulling in `ipx@4.0.0-beta.1`, which declares `sharp` as a peer dep. Without a concrete version pinned, arborist dies mid-resolution building nuxt's peer set.

Fix: Add `"sharp": "0.35.3"` to `overrides`, giving the resolver a fixed answer upfront.

Changes

What Before After
Package version 1.1.2 1.1.3
@contentstack/delivery-sdk ^5.4.0 ^5.5.0
@nuxt/image ^2.0.0 ^2.1.0
nuxt ^4.5.0 ^4.5.1
brace-expansion override 5.0.7 5.0.9
sharp override (not set) 0.35.3
@rollup/rollup-linux-x64-gnu ^4.62.3 ^4.62.2
@rollup/rollup-linux-x64-musl ^4.62.3 ^4.62.2

Test plan

  • Fresh clone + npm install completes without errors (no --legacy-peer-deps needed)
  • GoCD CI pipeline passes — no GLIBC error
  • npm run build succeeds
  • npm run dev starts without issues

npm's arborist crashes with 'Cannot read properties of null (reading
edgesOut)' when resolving the peer dep graph for nuxt + @nuxt/image.
The root cause is ipx@4.0.0-beta.1 (pulled in by @nuxt/image) requiring
sharp as a peer dep — arborist dies mid-resolution building nuxt's peer
set without a concrete version pinned.

Adding sharp@0.35.3 to overrides gives the resolver a fixed answer
upfront and plain npm install works without any flags.
@cs-raj
cs-raj requested a review from a team as a code owner July 30, 2026 10:22
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 1 4 25 ✅ Passed
🟡 Medium Severity 0 44 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

ℹ️ Vulnerabilities Without Available Fixes (Informational Only)

The following vulnerabilities were detected but do not have fixes available (no upgrade or patch). These are excluded from failure thresholds:

  • Critical without fixes: 0
  • High without fixes: 4
  • Medium without fixes: 44
  • Low without fixes: 0

✅ BUILD PASSED - All security checks passed

@cs-raj
cs-raj merged commit 7c8f8ed into main Jul 30, 2026
6 checks passed
@cs-raj
cs-raj deleted the fix/npm-install-sharp-override branch July 30, 2026 10:25
@cs-raj cs-raj changed the title fix: pin sharp in overrides to resolve npm install crash fix: pin rollup binary and sharp to resolve npm install and GoCD GLIBC failures Jul 30, 2026
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.

4 participants