Skip to content

Roll back to npm 11 - #12120

Merged
znarf merged 2 commits into
mainfrom
chore/rollback-npm-12
Sep 16, 2026
Merged

znarf merged 2 commits into
mainfrom
chore/rollback-npm-12

Conversation

@znarf

@znarf znarf commented Sep 16, 2026 •

Copy link
Copy Markdown
Member

Reverts #12073 and pins npm to the major bundled with Node.

No Node release ships npm 12: Node 24.21 (our LTS line) and Node 26.9 both bundle npm 11, and the Node PR to bundle npm 12 (nodejs/node#64882) was closed unmerged in August. Requiring 12.x therefore means every environment (CI, Heroku, Docker, and every other repo that installs this one in its workflows) has to install npm on top of Node for the life of the LTS. Today that broke the frontend E2E job and the images CI, which install this repo with the stock npm, and the API's own E2E only passed on node_modules cache hits.

  • engines.npm back to 11.x, packageManager field removed, Enable npm 12 steps removed from ci.yml and e2e.yml, README back to 11.x. The commitizen config returns to package.json (the .czrc move was only needed for npm 12).
  • renovate.json: disable major updates of the npm engine so Renovate does not re-propose 12.

Verified with the stock npm 11.12.1: npm ci installs 1488 packages, no EBADENGINE, no EUNKNOWNCONFIG.

Supersedes #12119. opencollective/opencollective-images#687 (merged) and opencollective/opencollective-frontend#12401 (open) were both driven by #12073 and need to follow: images back to accepting npm 11, and the frontend PR closed.

Related to opencollective/opencollective#8984

No Node release bundles npm 12 (nodejs/node#64882 was closed), so a
12.x engine pin forces every environment to install npm on top of Node
for the life of the LTS. Stay on the bundled major and stop Renovate
from proposing the next one.
@coderabbitai

coderabbitai Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 16cac2a1-b58f-4410-bc7e-04e5d258cfe2

📥 Commits

Reviewing files that changed from the base of the PR and between 164e6a8 and 06c6bb2.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • .czrc
  • .github/workflows/ci.yml
  • .github/workflows/e2e.yml
  • README.md
  • package.json
  • renovate.json
💤 Files with no reviewable changes (3)
  • .github/workflows/e2e.yml
  • .czrc
  • .github/workflows/ci.yml

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change standardizes the repository on npm 11.x. CI and end-to-end workflows no longer install npm 12 and instead use the npm version supplied by Node.js setup. Renovate ignores major npm engine updates. Commitizen configuration moves into package.json, and .czrc is removed. The package manager declaration and dependency-checker ignore entries are updated.

Area Changes
NPM Uses npm 11.x in documentation and package engines.
CI Removes npm 12 installation steps.
Commitizen Moves configuration into package.json and removes .czrc.
Renovate Disables major npm engine updates.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: betree

Merge Risk: ⚪ Minimal · up to 06c6b

The npm 11 rollback and Commitizen migration preserve clean installs, CI behavior, and commit tooling, so the change is ready to merge.

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 06c6bb2b2d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/e2e.yml
- name: Enable npm 12
run: npm install -g [email protected]

# Checkouts

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Coordinate the images rollback before removing npm 12

When the images dependency cache misses, this workflow checks out opencollective-images at its current default branch and runs its npm ci with the stock npm 11 selected here. As the commit description notes, images PR #687 has already moved that repository to npm 12 and its npm-11 rollback still needs to follow, so its engine-strict install exits with EBADENGINE; npm documents that engines becomes enforceable when engine-strict is enabled. Keep a per-checkout npm 12 setup or land the images rollback before deleting this step, otherwise the API E2E job only succeeds while the images node_modules cache hits.

Useful? React with 👍 / 👎.

@znarf
znarf merged commit 4cd8d90 into main Sep 16, 2026
21 of 26 checks passed
@znarf
znarf deleted the chore/rollback-npm-12 branch September 16, 2026 20:52
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.

1 participant