Skip to content

fix: build by pinning dependency - #132

Merged
rikdepeuter merged 1 commit into
mainfrom
fix/pin-sass
Aug 13, 2026
Merged

fix: build by pinning dependency#132
rikdepeuter merged 1 commit into
mainfrom
fix/pin-sass

Conversation

@rikdepeuter

Copy link
Copy Markdown
Contributor

De CI-build faalt sinds run 31676703291, in de site-containerbuild bij RUN npm i:

npm ERR! code EBADENGINE
npm ERR! notsup Not compatible with your version of node/npm: sass@1.102.0
npm ERR! notsup Required: {"node":">=20.19.0"}
npm ERR! notsup Actual:   {"npm":"9.5.0","node":"v18.15.0"}

Waarom

site/.dockerignore sluit ./package-lock.json uit, dus de lockfile komt de buildcontext niet binnen. In de container heeft npm i niets om op te pinnen en herresolvet hij "sass": "^1.58.3" naar de nieuwste match — vandaag 1.102.0, en die laat Node 18 vallen. De build-stage draait op node:18.15.0-alpine.

Dit staat los van de laatste feature-commit: die raakt twee .vue-bestanden, een launch.json en een .gitignore, geen dependencies. Het was gewoon de eerste build ná de sass-release die Node 18 laat vallen; dezelfde build faalt vandaag ook zónder die commit.

Wat deze PR doet

sass exact vastzetten op 1.58.3 in site/package.json, en dezelfde spec bijwerken in site/package-lock.json zodat beide overeenkomen. Een exacte spec overleeft wél in de container, ook zonder lockfile.

Nagekeken:

  • sass@1.58.3 heeft engines: {node: ">=12.0.0"} — in orde op Node 18. sass@^1.58.3 resolvet vandaag tot 1.102.0.
  • Enkel sass-loader declareert sass nog, als peer ^1.3.0; 1.58.3 voldoet, dus één kopie en geen geneste installatie.
  • De nieuwste sass-loader binnen ^13.2.0 is 13.3.3 en peer't nog steeds sass: ^1.3.0, dus de pin botst niet met een nieuwere loader.

Wat dit níét oplost

Alle 129 directe dependencies van de site zweven (^/~), geen enkele staat vast. Elke andere kan morgen op exact dezelfde manier de build breken, met een identiek foutbeeld.

De structurele oplossing is de lockfile níét uitsluiten en npm i vervangen door npm ci, zodat imagebuilds reproduceerbaar zijn. Dat is bewust niet meegenomen hier — deze PR deblokkeert enkel de build. npm ci is strenger over overeenstemming tussen package.json en lockfile, dus dat verdient een eigen wijziging waarin dat eerst geverifieerd wordt.

@rikdepeuter
rikdepeuter requested a review from a team as a code owner August 13, 2026 08:16
Copilot AI lite review requested due to automatic review settings August 13, 2026 08:16

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.

Pull request overview

This pull request unblocks the site container CI build by preventing npm i (without a lockfile in the Docker build context) from re-resolving sass to a newer release that requires a newer Node version than the build image provides.

Changes:

  • Pin sass to an exact version (1.58.3) in site/package.json to avoid accidental upgrades during container builds.
  • Align site/package-lock.json to match the exact sass version spec.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
site/package.json Pins sass to 1.58.3 to keep installs compatible with Node 18 in the container build.
site/package-lock.json Updates the root dependency spec to match the pinned sass version.
Files not reviewed (1)
  • site/package-lock.json: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@rikdepeuter
rikdepeuter merged commit 0536031 into main Aug 13, 2026
1 check passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.21.0 🎉

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants