Skip to content

📦🔧:make the major dependency bump work - #1773

Merged
OpenINFbot merged 5 commits into
livefrom
build/major-deps-bump
Aug 7, 2026
Merged

📦🔧:make the major dependency bump work#1773
OpenINFbot merged 5 commits into
livefrom
build/major-deps-bump

Conversation

@DerekNonGeneric

Copy link
Copy Markdown
Member

📦🔧 Salvages #1601, which has been red since it was opened. The bump
itself is fine; what fails is entirely new pnpm 11 behaviour plus four
breaking changes in the majors it pulls in.

CI shows only Install failing and everything after it skipped, which
makes this look worse than it is. Two separate pnpm 11 gates were
stopping it:

  • Every dependency wanting to run an install script now needs an explicit
    decision or the install refuses to proceed. pnpm-workspace.yaml
    records one for each; all are denied, matching the ignore-dep-scripts
    already set in .npmrc.
  • The committed lockfile failed the supply-chain policy — six transitive
    entries were published inside the minimum release age window.
    Re-resolving from scratch picks versions that satisfy it, so the policy
    stays on rather than being relaxed.

Past the install, four things break:

  • zod 4 no longer treats .or(z.undefined()) as making a key
    optional, so every page without draft front matter was rejected and
    the build died before writing a file.
  • biome 2 renamed files.ignore to files.includes with negated
    patterns, moved organizeImports under assist, and replaced
    rules.recommended with rules.preset. The old keys are hard errors,
    which took out verify.js, verify.json and verify.ts at once.
  • biome migrate emitted a directory-only exclusion that v2 no longer
    matches, so goatcounter's bundled count.js was linted for the first
    time and reported twenty findings against vendored code. Fixed with a
    trailing /**.
  • stylelint-config-standard-scss 17 adds color-function-alias-notation
    and the recess-order bump reorders text properties. verify.scss now
    passes, where it had a pre-existing failure before.

Verified against a clean live baseline: every verify task matches it,
and verify.scss is better. Install (frozen), build, the path-gated
verify steps and nps test all pass locally on Node 24.19.0 / pnpm
11.20.0.

Two things worth flagging separately, both out of scope here:

  • vnu-jar gained a postinstall in 26.x that downloads a Temurin JDK
    from GitHub releases; 24.x had no scripts at all. It is denied here, so
    the HTML validation task uses the runner's Java.
  • verify.all is for i in build/tasks/verify/*.mts; do tsx "$i"; done,
    and a shell loop exits with only the last command's status — so
    nps test reports success as long as verify-yaml.mts passes,
    regardless of the twelve tasks before it.

renovate Bot and others added 5 commits August 7, 2026 01:31
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Two things block the install, and both are new pnpm 11 behaviour rather
than anything wrong with the bumped versions.

pnpm 11 will not install until every dependency wanting to run an install
script has an explicit decision recorded, so pnpm-workspace.yaml now
carries one for each. All are denied, matching the `ignore-dep-scripts`
this repository already sets in .npmrc. Worth noting for the next person
reading this: vnu-jar gained a postinstall in 26.x that downloads a
Temurin JDK from GitHub releases, where 24.x had no scripts at all.
Denying it means the html validation task uses the runner's Java, which
GitHub's images provide.

The lockfile also failed the supply-chain policy: six transitive entries
were published inside pnpm 11's minimum release age window. Re-resolving
from scratch picks versions that satisfy it, so the policy stays on
rather than being relaxed or bypassed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
zod 4 no longer treats a union with `undefined` as making the key itself
optional, so every page without `draft` front matter was rejected as
"expected nonoptional" and the build failed before writing anything.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Biome 2 renamed `files.ignore` to `files.includes` with negated patterns,
moved `organizeImports` under `assist`, and replaced `rules.recommended`
with `rules.preset`. The old keys are hard errors, which took out the
JavaScript, JSON and TypeScript verify tasks at once -- all three run
biome.

`biome migrate` handled most of it. The vendor exclusion needed a manual
trailing `/**`: the directory-only form it produced no longer matches
files underneath, which left goatcounter's bundled count.js being linted
for the first time and reporting twenty findings against third-party
code.

The two source changes are biome 2's import-organization assist, applied
with the repository's own format task.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
stylelint-config-standard-scss 17 adds color-function-alias-notation,
which wants `rgb` over `rgba`, and the recess-order bump moved
text-transform ahead of text-shadow. Applied with the repository's own
format task; this leaves verify.scss passing, where it had one
pre-existing failure before.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@netlify

netlify Bot commented Aug 7, 2026

Copy link
Copy Markdown

Deploy Preview for gh-pages-openinf ready!

Name Link
🔨 Latest commit 59eeffe
🔍 Latest deploy log https://app.netlify.com/projects/gh-pages-openinf/deploys/6a753a9a87b0ef0009e73692
😎 Deploy Preview https://deploy-preview-1773--gh-pages-openinf.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@socket-security

Copy link
Copy Markdown

@OpenINFbot
OpenINFbot merged commit d710331 into live Aug 7, 2026
13 checks passed
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