build(deps): update dependencies - #4837
Conversation
Refresh every dependency whose new version still runs on the Node.js baseline the packages declare (>=20.9.0) and CI tests: eslint, webpack, sass, cspell, prettier, lint-staged, js-yaml, tsx, @swc/core, @types/node, @inquirer/*, webpack-bundle-analyzer and pkg-pr-new. webpack 5.110 strips TypeScript types through `module.stripTypeScriptTypes`, so builds of a `.ts` entry now carry Node's experimental-API warning on stderr. That is upstream behaviour the CLI should not hide, so the config format tests filter the warning instead of asserting an empty stderr. Also accept `toml@5` as a peer dependency — its `parse` export is unchanged, which is all the on-demand loader uses. Held back, each needing a Node.js newer than the declared baseline: commander 15 (>=22.12, and a runtime dependency of both published packages), execa 10 (>=22), @changesets/cli 3 and @changesets/get-github-info 1 (^22.11 || ^24 || >=26). TypeScript 7 is held back too: typescript-eslint does not support it yet, so `lint:code` refuses to run.
The release workflow runs on `lts/*`, which satisfies the Node.js the new
major asks for (^22.11 || ^24 || >=26).
`@changesets/get-github-info` v1 reshaped its API: `getInfo` is now
`getCommitInfo`, `getInfoFromPullRequest` is `getPullRequestInfo`, both return
`{commit, pull, author}` objects carrying a `markdownLink` instead of a flat
`links` map, and either can return undefined when the commit or pull request
is not found. The changelog generator follows, and keeps its output
byte-identical for every entry shape it handles.
Also point the config `$schema` at `@changesets/config@4.0.0`, which the new
major ships.
🦋 Changeset detectedLatest commit: e2218aa The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
|
This PR is packaged and the instant preview is available (99cfc4f). Install it locally:
npm i -D create-webpack-app@https://pkg.pr.new/create-webpack-app@99cfc4f webpack-cli@https://pkg.pr.new/webpack-cli@99cfc4f
yarn add -D create-webpack-app@https://pkg.pr.new/create-webpack-app@99cfc4f webpack-cli@https://pkg.pr.new/webpack-cli@99cfc4f
pnpm add -D create-webpack-app@https://pkg.pr.new/create-webpack-app@99cfc4f webpack-cli@https://pkg.pr.new/webpack-cli@99cfc4f |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4837 +/- ##
==========================================
- Coverage 94.80% 94.78% -0.02%
==========================================
Files 14 14
Lines 5406 5406
Branches 799 799
==========================================
- Hits 5125 5124 -1
- Misses 280 281 +1
Partials 1 1 see 1 file with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
`.c8rc.json` sets `exclude-after-remap`, so c8 source-map remaps every script V8 reported — all of node_modules included — before applying its `packages/*/src` include filter. On macOS runners that peaked at 2033 MB against Node.js 20's 2078 MB default cap: every test passed and the process then died merging coverage. Updating webpack to 5.110 grows what has to be remapped (measured over `test/build/config-format`: 99 MB of V8 coverage across 55 files before, 103 MB across 60 after), which is more than the 45 MB of headroom that job had left. Node.js 22 and newer, and the Linux and Windows runners, have room to spare and were unaffected.
Summary
Update every dependency whose new version still runs on the Node.js the packages declare (
>=20.9.0) and CI tests, plus changesets v3 — its new major needs Node.js^22.11 || ^24 || >=26, which the release workflow'slts/*satisfies.Two updates needed code changes:
module.stripTypeScriptTypes, so building a.tsentry now carries Node's experimental-API warning on stderr. That is upstream behaviour the CLI should not hide, so the config-format tests filter that one warning instead of asserting an empty stderr.@changesets/get-github-infov1 reshaped its API (getInfo→getCommitInfo,getInfoFromPullRequest→getPullRequestInfo, a{commit, pull, author}object carryingmarkdownLinkinstead of a flatlinksmap, andundefinedwhen the commit or pull request is not found). The changelog generator follows it and keeps its output byte-identical.toml@5is also accepted as a peer dependency — itsparseexport is unchanged, which is all the on-demand loader uses.Held back, each needing a Node.js newer than the declared baseline:
commander15 (>=22.12, and a runtime dependency of both published packages),execa10 (>=22, used by tests that run on the Node.js 20.x job).typescript7 is held back because typescript-eslint does not support it yet, solint:coderefuses to run.What kind of change does this PR introduce?
build
Did you add tests for your changes?
No new tests — existing ones cover it.
test/build/config-format/**was updated for the webpack 5.110 warning, and the changelog generator's output was checked against the previous implementation over every entry shape it handles (plain summary, no commit,PR:in summary,PR:pluscommit:override,author:override, multi-line body, and the three dependency-line cases) — all byte-identical, withnpm run versionadditionally exercised end to end.Does this PR introduce a breaking change?
No. The
tomlpeer range only widens, and the Node.js baseline is unchanged.If relevant, what needs to be documented once your changes are merged or what have you already documented?
n/a
Use of AI
Claude Code was used to survey outdated packages, check each candidate's
enginesagainst the supported Node.js versions, bisect the test failures to the webpack bump, write the changelog-generator migration, and run the verification described above. All changes were reviewed before committing.Generated by Claude Code