Repository navigation
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Part of #82937.
What?
Upgrades
wp/5.6's pinned Node.js from12to14, with the two dependency bumpsnpm cineeds on Node 14..nvmrc12->14packages/env/package.jsonnodegit^0.26.2->^0.27.0package.jsonnode-sass4.13.1->4.14.1package-lock.jsonThe workflows read the version from
.nvmrc(#84959), so no workflow changes.Why?
wp/5.6has pinned Node 12 since it was cut in 2020.wp/5.7andwp/5.8later got commits pinning14, andwp/5.9onward inherited trunk's bump;wp/5.5andwp/5.6were missed. WordPress core'spackage.jsonalready required Node14.15.0whenwp/5.6was cut.Node 12 also can't parse the optional chaining (
?.) inyaml@2.x, which everydocker-compose(npm) release after0.24.0uses, so #84961's Docker Compose v2 migration needs Node 14.How?
At their old versions, neither native addon has a Node 14 (ABI 83) prebuilt binary, and the
node-gypfallback fails on a fresh runner (oldgypvs. current Python). Verified with Node14.21.3:nodegit^0.27.0(packages/env, used only bylib/download-source.jsto download WordPress;@wordpress/envis a development tool WordPress 5.6 doesn't bundle): installs a prebuilt binary.node-sass4.14.1(used bybin/packages/build-worker.jsandpackages/react-native-editor/sass-transformer.js): installs a prebuilt binary and compilesblock-library/src/style.scss+base-stylesto CSS byte-identical to4.13.1.The lockfile matches what
npm installwrites (Node14.21.3, npm6.14.18, as in CI), sonpm ci,npm installandcheck-local-changesagree:node-sass@4.14.1requiressass-graph@2.2.5, which requiresyargs@^13.3.2: a nestedsass-graph@2.2.5/yargs@13.3.2subtree is added, reusing the nestedyargs@14.0.0subtree's versions where ranges match (cliui,find-up,get-caller-file,require-main-filename,string-width,y18n), plusyargs-parser@13.1.2(the flat13.1.1doesn't satisfy^13.1.2) and a nestedansi-styles@3.2.1forwrap-ansi@5.1.0.packages/enventry'srequiressaysnodegit@^0.27.0; at^0.26.2it excludes the locked0.27.0andnpm installdrops thenodegitsubtree.nodegit@0.27.0replacespromisify-node/request-promise-nativewithgot@^10.7.0(already locked at10.7.0). The unusedpromisify-node,nodegit-promise,request-promise-native@1.0.5,request-promise-core@1.1.1, flatsass-graph@2.2.4and its nestedyargs@7are removed.Other dependencies weren't audited for Node 14; these two are the ones known to break.
Use of AI Tools
This PR was created by Claude Code under my supervision. All code should be treated as AI-produced and not yet reviewed by a human until this PR is marked Ready for Review.