Repository navigation
chore(deps): refresh vulnerable lockfile entries and raise the minimatch floor of @linaria/react - #1522
Merged
Anber merged 3 commits intoOct 22, 2026
Conversation
🦋 Changeset detectedLatest commit: 1bfa3da The changes in this PR will be included in the next version bump. This PR includes changesets to release 9 packages
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 |
Re-resolve the 37 lockfile entries with known advisories of loader-utils, proxy-addr, shell-quote, seroval, launch-editor, follow-redirects, fast-uri, brace-expansion, flatted, js-yaml, micromatch, nanoid, source-map-js, ajv, colord, yaml, browserslist, baseline-browser-mapping, cross-spawn, diff, path-to-regexp, rollup, tmp, vite 6.4, @babel/plugin-transform-modules-systemjs and minimatch 3 and 5 to the newest versions their existing ranges allow among releases published at least a week before this change; each of them contains the fix for its advisory. caniuse-lite and electron-to-chromium, which publish browser data almost daily, are taken at their latest versions. Only those entries are re-resolved, not the whole lockfile: no manifest, specifier, setting or override changes, and the other entries keep their versions apart from the new transitive dependencies the refreshed packages need. postcss keeps its versions; it is updated separately.
minimatch versions below 9.0.7 have known regular expression denial of service advisories (GHSA-3ppc-4f35-3m26, GHSA-7r86-cg39-jmmj and GHSA-23c5-xmqv-rm74), and the previous range ^9.0.3 let a consumer of @linaria/react keep one of them. Raise the range to ^9.0.7; the lockfile resolves it to 9.0.9, which it already contains.
Anber
force-pushed
the
chore/refresh-vulnerable-lockfile-entries
branch
from
October 22, 2026 15:18
aebe8c0 to
1bfa3da
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
A dependency audit of
pnpm-lock.yamlreports vulnerable packages. For some of them the fixed version lies inside the range their dependents already declare, so re-resolving the lockfile reaches it without editing any manifest. This pull request does that for 37 such instances.One more problem sits in a manifest:
@linaria/reactdeclares"minimatch": "^9.0.3"independencies, and the lockfile resolved it to 9.0.3. minimatch 9.x below 9.0.7 is affected by regular expression denial of service advisories (GHSA-3ppc-4f35-3m26 below 9.0.6, GHSA-7r86-cg39-jmmj and GHSA-23c5-xmqv-rm74 below 9.0.7), so^9.0.3lets a consumer of@linaria/reactstay on an affected version.This is not a fix for every advisory in the lockfile. After the branch, the same audit still lists 31 vulnerable packages in 39 instances; the main leftovers and the reasons for them are under "Left out".
Summary
The branch has three commits, one item each, on top of the current
master:chore(deps): refresh vulnerable lockfile entries within their rangeschanges onlypnpm-lock.yaml.fix(react): raise the minimatch floor to ^9.0.7changespackages/react/package.jsonand the matching importer lines ofpnpm-lock.yaml.chore(react): add a changeset for the minimatch flooradds one changeset.Three files differ from
master:.changeset/raise-react-minimatch-floor.md,packages/react/package.jsonandpnpm-lock.yaml.Lockfile refresh (commit 1)
importers:is the same as onmaster. No package that was already in the lockfile gains a new major version line.caniuse-liteandelectron-to-chromium, which publish browser data almost daily and are taken at their latest versions. The newest of the other versions was published on 2026-10-09.name@versionpairs the refresh moves to (new lockfile entries, new targets of dependency lines and changed importer versions).vite6.4.3 to 6.4.4,rollup3.29.5 to 3.30.0,launch-editor2.14.1 to 2.14.2,eslint'sminimatch3.1.2 to 3.1.5,nanoid3.3.6 and 3.3.16 to 3.3.20,source-map-js1.0.2 and 1.2.1 to 1.2.2, and theserovalused bysolid-js1.5.5 to 1.6.9. Some refreshed packages need new transitive packages, such asnode-releasesfor the refreshedbrowserslist.nanoidandsource-map-js. No postcss instance changes version (8.4.31, 8.5.19 and 8.5.31 stay).examples/vitechanges only in resolved versions (vite6.4.3 to 6.4.4 and therolluppeer suffix 3.29.5 to 3.30.0), with its specifiers unchanged. The importer blocks ofexamples/astro-solidandexamples/vpssr-linaria-soliddo not change. No manifest of any example changes.minimatch floor (commit 2)
packages/react/package.json:"minimatch": "^9.0.3"becomes"minimatch": "^9.0.7". It is the only manifest line of the whole branch that changes.pnpm-lock.yaml: thepackages/reactimporter goes fromspecifier: ^9.0.3/version: 9.0.3tospecifier: ^9.0.7/version: 9.0.9. minimatch 9.0.9 was already in the lockfile, so no package is added, and no other importer specifier changes.^9.0.7excludes all three advisories above.syncpack(dev tooling) pins it exactly. It is not reachable at runtime from a published package, andpackages/reactresolves 9.0.9.Changeset (commit 3)
.changeset/raise-react-minimatch-floor.mdmarks@linaria/reactaspatchand says "Require minimatch ^9.0.7 so installs no longer resolve a minimatch version with known regular expression denial of service advisories." It names only the package whose manifest changes;@linaria/reactis in thefixedgroup of the changeset config, and an existing changeset also names a single package of that kind.Left out
These are separate changes and none is touched here:
braces3.0.3: no fixed release exists.postcss-selector-parser6.0.10: the fix needs a new major version, reached through the stylelint chain.syncpackas described above.webpack-dev-server,tsupandturbo.Three instances that a published package can still reach at runtime remain after the branch:
braces3.0.3, postcss 8.4.31 andpostcss-selector-parser6.0.10.Test plan
I ran these with pnpm 9.15.9 (the version in the root
packageManagerfield):pnpm install --frozen-lockfile --ignore-scriptssucceeds at each of the three commits, in a clean copy of each, and leavespnpm-lock.yamlunchanged. At the head,pnpm install --lockfile-only --ignore-scriptsalso leaves the file byte-identical.pnpm --filter ./packages/react testafter building@linaria/core: 2 suites, 22 tests and 17 snapshots pass.syncpack list-mismatchesandcommitlintover the three commits exit 0.@linaria/reactminimatch line, no specifier changes (the importer specifiers are otherwise the same, with the same 22 workspace links), and none ofwebpack-dev-server,eslint,tsup,turbo,syncpack,stylelint,astroandtypescriptchanges version.Not verified
--ignore-scripts, so no lifecycle scripts of the refreshed packages were run.pnpm-lock.yamlmay conflict textually with this one; I did not test the branch merged with any other change.