Repository navigation
fix(deps): glob 14, follow-redirects 1.16.2 and joi 18.3.1 clear three of the four new OSV advisories - #28324
Conversation
- glob ^13.0.6 -> ^14.0.3 in @objectstack/metadata and @object-ui/cli (GHSA-3g3m-2fjr-6pw4, fixed in 14.0.2); @object-ui/cli drops the deprecated @types/glob stub, since glob ships its own types. - follow-redirects 1.16.1 -> 1.16.2 (GHSA-mrwp-f3q8-3g9p) and joi 18.3.0 -> 18.3.1 (GHSA-4528-x5fx-h6hg), lockfile only, inside their parents' ranges. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FEkQ5pWbjNiQvAXymrfTHX
📓 Docs Drift Check
What this run could not see
Coarse fallback — 16 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
|
domain:server#2 · os-project-manager · session_0186vfjHHMsRXC9EUT9hTFMo 席位核对ACCEPT · The maintainer's standing authorisation for landing reviewed PRs, verbatim: 「按照 pm-dispatch 规则复核过的都授权」. Security card: 「所有的安全卡不要创建issue,直接派发处理修复」.
Generated by Claude Code |
Requested by Leehom · project thread
Part of #28292
Clause-②: no
Metadata-protocol: none
维护者速读
glob从 13 升到 14.0.3(@objectstack/metadata、@object-ui/cli两个已发布包),follow-redirects升到 1.16.2、joi升到 18.3.1(只改锁文件);@object-ui/cli去掉已废弃的@types/glob存根。minimatch只在 11 修复,而所有父包都还不接受 11,按台账惯例要单独开豁免 PR。glob/globSync加cwd、ignore、nodir、absolute,14 里没变;Node 引擎下限不变。回滚即还原本 PR。ui/packages/cli/package.json(依赖行与@types/glob删除)、packages/metadata/package.json、pnpm-lock.yaml(只动 glob、path-scurry、minimatch 11、follow-redirects、joi)。grep -E "^ (glob|follow-redirects|joi)@" pnpm-lock.yaml,应只见glob@14.0.3、glob@7.2.3、follow-redirects@1.16.2、joi@18.3.1。What changes
glob^13.0.6→^14.0.3in thedependenciesof@objectstack/metadataand@object-ui/cli(GHSA-3g3m-2fjr-6pw4: affected 9.0.0 to 14.0.1, fixed in 14.0.2). The lockfile movesglob13.0.6 → 14.0.3,path-scurry2.0.2 → 3.0.0, and addsminimatch11.0.3 plus@isaacs/nonrecursive-glob-match1.0.3 for glob's own copy.@object-ui/clidrops@types/glob9.0.0 fromdependencies. It is a deprecated stub ("glob provides its own type definitions") whose only content is aglob: *dependency, which keptglob13.0.6 in the tree.tsc --noEmitstays green without it.follow-redirects1.16.1 → 1.16.2 (GHSA-mrwp-f3q8-3g9p) andjoi18.3.0 → 18.3.1 (GHSA-4528-x5fx-h6hg): lockfile only, inside their parents' ranges (axios,wait-on). Nine lockfile lines; no other package moved. A plainpnpm update -r follow-redirects joiwas measured first and moved unrelated packages (@inquirer/*,seroval, a driver peer set), so it was discarded; the two entries were re-resolved by pnpm alone andpnpm install --frozen-lockfilepasses on the result.patchfor both published packages.Why
The scheduled
Validate DependenciesOSV scan onmainis red on four new advisories (#28292). Triage graded it p1 becauseglobships at runtime in two published packages, and granted a one-PR cross-domain exception forui/packages/cli/package.json.Remainder:
minimatch(GHSA-g3hv-75wg-m249) is NOT cleared hereminimatchbefore 11.0.1 is affected. 11 is a breaking major: its type surface dropsmakeRe,ASTand two options.^10.2.6),@eslint/config-array0.23.5,@typescript-eslint/typescript-estree8.72.1,@microsoft/api-extractor7.60.1 (exact10.2.3),@oclif/core5.1.10,@ts-morph/common0.29.0, typedoc 0.28.20 and readdir-glob all declare^10(glob 7.2.3 declares^3).pnpm-workspace.yamloverride that lifts everyminimatchbelow 11.0.0 to^10.2.3already holds every copy on 10.2.6, the newest 10.x. Retargeting it to 11 would force a major outside every parent's range, which the route rules out.minimatchneeds its ownosv-exemptionPR with a dated entry. This PR adds no exemption. The seat routes that PR. Until it lands, the scheduled scan stays red onminimatchalone.Tests
Run at head
6100dd77.pnpm --filter '@objectstack/metadata...' --filter '@object-ui/cli...' buildunder the verify lock:VERDICT command-exit 0.@objectstack/metadata:vitest run: Test Files 64 passed (64), Tests 906 passed (906).tsc --noEmit: exit 0. Theglobcall sites insrc/loaders/filesystem-loader.ts(loadMany/list) are reached by the existingfilesystem-loader-*.test.tssuites.@object-ui/cli:vitest run packages/cli/fromui/: Test Files 31 passed (31), Tests 418 passed (418).tsc --noEmit: exit 0. TheglobSynccall sites are reached byworkspace-vite.test.tsand thecheck-*.test.tssuites.glob14.0.3 from both packages (require('glob/package.json').version), and the builtdist/node.cjsanddist/node.jsof@objectstack/metadataload with it.eslint packages/metadata --no-inline-configexit 0;ui/packages/clipnpm lintexit 0 (5 pre-existingno-explicit-anywarnings, 0 errors).Acceptance notes
@types/globwas independencies(notdevDependencies) of the published@object-ui/cli; removing it also drops it from consumers' installs.minimatch10.2.6 copies are not dev-only:@objectstack/cliships@oclif/coreandts-morph, and@objectstack/restshipsexceljs(archiver 5 → readdir-glob / glob 7). That bears on the exemption PR's review, not on this one.Verification
OSV scan reproduction: NOT MEASURED
The OSV-Scanner binary download and
api.osv.devare both refused by this container's egress policy. The closest measurement is the lockfile's versions against each advisory's fixed version:57f8ca2f0The PR's own base-relative OSV step judges it in CI.
Derived gates: 66 derived, 65 run green, 1 NOT MEASURED
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 66 families over the 4 changed paths. 65 end with exit 0; two notes:node scripts/check-plugin-teardown-shape.mjs --self-testfirst exited 3 on the shallow clone; aftergit fetch --depth=1of its pinned fixture commit it exits 0.pnpm check:dual-build-cjs-loadsexits 3 (PREREQUISITE NOT MET: about 34 unrelated packages have nodist/). Narrowed locally to loading@objectstack/metadata's CJS and ESM entries withglob14 (both load). CI runs the full gate.--ranreconciliation:66 derived famil(ies) accounted for — 65 run, 1 NOT-MEASURED.pnpm check:published-filesandnode scripts/check-osv-exemptions.mjsare among the green ones.Generated by Claude Code
🤖 Generated with Claude Code
https://claude.ai/code/session_01FEkQ5pWbjNiQvAXymrfTHX