Skip to content

fix(deps): update @wordpress/scripts to 37 and refresh stale npm overrides - #842

Open
aryanjasala wants to merge 2 commits into
fix/deps-security-refreshfrom
build/wordpress-scripts-37
Open

aryanjasala wants to merge 2 commits into
fix/deps-security-refreshfrom
build/wordpress-scripts-37

Conversation

@aryanjasala

Copy link
Copy Markdown
Member

What this PR does

Moves the theme to @wordpress/scripts 37 and its sibling packages, and fixes overrides that had started pinning the very versions Dependabot flags.

Closes

N/A

Changes

  • @wordpress/scripts 36.0.0 to 37.0.0, @wordpress/babel-preset-default 8.56.0 to 10.0.0, @wordpress/browserslist-config 6.56.0 to 7.0.0, @wordpress/interactivity 6.56.0 to 8.0.0.
  • @wordpress/eslint-plugin stays on 27.0.0: @rtcamp/eslint-config 1.2.0 accepts only ^25 to ^27 as a peer. wp-scripts 37 keeps its own nested 28.
  • overrides: express > qs 6.16.0 to 6.16.2 and copy-webpack-plugin > serialize-javascript 7.0.5 to 7.1.4 (both were pinned to the vulnerable versions), markdownlint-cli > smol-toml 1.9.1 added. The webpack-dev-server 5.2.6 override goes (wp-scripts 37 needs 6) and so does the sockjs one (webpack-dev-server 6 drops sockjs).

Breaking changes checked: webpack-dev-server 6 removes nothing webpack.blocks.config.js uses (it deletes the default proxy and sets port and allowed hosts). Interactivity 7 removes data-wp-ignore, two-hyphen unique IDs and negated function calls; the theme uses none of them. The rest raise the Node floor to 22.13, which the Node 24 floor meets.

How I verified

  • npm ci on Node 24 with CI's npm settings (no user .npmrc): no dependency EBADENGINE warnings.
  • npm run build:prod produces the same 18 files as the base branch.
  • Jest: 33 of 33 tests in 3 suites. lint:css and lint:package-json pass. lint:js (run outside the home directory): 0 errors, 6 warnings as on main.
  • webpack.blocks.config.js loads with webpack-dev-server 6.1.0.
  • No open Dependabot alert matches an installed version any more. npm audit: 0 critical, 0 high.

Moves @wordpress/scripts 36.0.0 to 37.0.0, @wordpress/babel-preset-default
8.56.0 to 10.0.0, @wordpress/browserslist-config 6.56.0 to 7.0.0 and
@wordpress/interactivity 6.56.0 to 8.0.0.

Breaking changes checked: scripts 37 bundles webpack-dev-server 6, and
webpack.blocks.config.js only deletes the default proxy and sets port and
allowedHosts, none of which v6 removed. Interactivity 7 drops
data-wp-ignore, two-hyphen unique IDs and negated function calls; the
theme uses none of them. The rest raise the Node floor to 22.13, which
the Node 24 floor already meets.

@wordpress/eslint-plugin stays on 27: @rtcamp/eslint-config 1.2.0 accepts
only ^25 to ^27 as a peer. wp-scripts 37 keeps its own nested 28.
The overrides pinned the very versions Dependabot now flags:
express's qs at 6.16.0 and copy-webpack-plugin's serialize-javascript at
7.0.5. They move to the patched 6.16.2 and 7.1.4, and markdownlint-cli's
smol-toml is pinned to the patched 1.9.1, since wp-scripts 37 still asks
for markdownlint-cli 0.49.

The webpack-dev-server 5.2.6 override goes: wp-scripts 37 needs
webpack-dev-server 6, which also drops sockjs, so the sockjs uuid
override goes too. package-lock.json is resolved without user-level npm
settings, as CI resolves it.

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant