Skip to content

Repair wp/5.7 branch Actions: Stop the puppeteer alias from changing package-lock.json - #84782

Open
desrosj wants to merge 2 commits into
fix-actions-5.7/fix-react-native-screens-git-dependencyfrom
fix-actions-5.7/fix-puppeteer-alias-lockfile-drift
Open

desrosj wants to merge 2 commits into
fix-actions-5.7/fix-react-native-screens-git-dependencyfrom
fix-actions-5.7/fix-puppeteer-alias-lockfile-drift

Conversation

@desrosj

@desrosj desrosj commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Part of #82936.

What?

Two commits:

  1. Pins @types/yauzl (2.9.2) exactly in the root devDependencies, at the versions already in package-lock.json. npm drops "optional": true from the @types/yauzl entry, since it is now a direct dependency.
  2. Updates the remaining entries under the puppeteer alias in package-lock.json to the versions npm resolves today: debug 4.4.3, ms 2.1.3, pump 3.0.4 (also under get-stream), readable-stream 3.6.2 and tar-fs 2.1.5, plus sha512 integrity for fd-slicer and yauzl.

Why?

The "Static Analysis" job runs npm install and then npm run check-local-changes, which fails because npm install rewrites package-lock.json.

package.json declares Puppeteer through an npm alias ("puppeteer": "npm:puppeteer-core@5.5.0"). npm 6 doesn't keep the locked versions of an aliased package's dependencies: on every install it re-resolves them to the newest versions their ranges allow, so the lockfile changes whenever one of them publishes a release. Trunk has no such alias.

Pinning holds the top-level @types entries for good. The other entries are nested under the alias because other packages use older major versions at the top level, so they can't be pinned the same way (overrides needs npm 8.3+), and they will need updating again when they publish new releases in range.

How?

Both commits contain exactly what npm 6.14.18 (Node 14, as in CI) writes: npm install --package-lock-only reproduces CI's lockfile diff line for line, and a second run on the result leaves the lockfile unchanged. Placed directly above #84781 so Static Analysis can pass from here up.

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.

🤖 Generated with Claude Code

@desrosj desrosj added [Type] Build Tooling Issues or PRs related to build tooling [Tool] Env /packages/env labels Oct 15, 2026
@desrosj desrosj self-assigned this Oct 15, 2026
@github-actions github-actions Bot removed the [Tool] Env /packages/env label Oct 15, 2026
@coderabbitai

coderabbitai Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a0773127-4702-4a35-b2f1-3f78fae7ce06

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

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 props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: desrosj <desrosj@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@desrosj
desrosj removed this pull request from stack #84872 October 16, 2026 15:52
@desrosj
desrosj force-pushed the fix-actions-5.7/fix-puppeteer-alias-lockfile-drift branch from 77a7676 to ed18e76 Compare October 16, 2026 15:52
@desrosj
desrosj added this pull request to stack #84945 October 16, 2026 15:53
@desrosj
desrosj force-pushed the fix-actions-5.7/fix-puppeteer-alias-lockfile-drift branch from ed18e76 to beba7f7 Compare October 19, 2026 17:09
@desrosj
desrosj removed this pull request from stack #84945 October 21, 2026 19:48
@desrosj
desrosj added this pull request to stack #85354 October 21, 2026 19:48

@ntsekouras ntsekouras left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, thanks! npm install no longer changes package-lock.json, so Static Analysis goes green.

Nit (not blocking): maybe add a comment above "Build artifacts" in static-checks.yml pointing here, for when the alias drifts again?

@desrosj
desrosj force-pushed the fix-actions-5.7/fix-puppeteer-alias-lockfile-drift branch from beba7f7 to 8153722 Compare October 23, 2026 13:59

This branch has not been deployed

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

Labels

[Type] Build Tooling Issues or PRs related to build tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants