Skip to content

security: Patch 60 Dependabot alerts across quickstart apps#244

Merged
Connor Power (connorpower) merged 4 commits intomainfrom
security/patch-dependabot-alerts
Mar 10, 2026
Merged

security: Patch 60 Dependabot alerts across quickstart apps#244
Connor Power (connorpower) merged 4 commits intomainfrom
security/patch-dependabot-alerts

Conversation

@connorpower
Copy link
Member

@connorpower Connor Power (connorpower) commented Mar 6, 2026

Closes SPO-67
Closes SPO-72
Closes SPO-73
Closes SPO-74
Closes SPO-87
Closes SPO-88
Closes SPO-89
Closes SPO-90
Closes SPO-91
Closes SPO-95
Closes SPO-96
Closes SPO-97
Closes SPO-98
Closes SPO-99
Closes SPO-102

Summary

Patches all 60 open high/critical Dependabot alerts across 5 manifests in a single PR.

javascript-tui/ (package-lock.json)

  • minimatch 3.1.2 → 3.1.5, 9.0.5 → 9.0.9
  • tar 7.4.3 → 7.5.10

javascript-web/ (package-lock.json)

  • minimatch 3.1.2 → 3.1.5, 9.0.5 → 9.0.9
  • rollup 4.40.1 → 4.59.0
  • tar 6.2.1 → 7.5.10

react-native-expo/ (package-lock.json + yarn.lock)

  • minimatch 3.1.2 → 3.1.5, 9.0.5 → 9.0.9
  • fast-xml-parser 4.5.3 → 4.5.4
  • tar 7.5.2 → 7.5.10
  • react-server-dom-webpack 19.0.1 → removed (no longer resolved)
  • serialize-javascript 6.0.2 → 7.0.3

react-native/ (yarn.lock)

  • minimatch 3.1.2 → 3.1.5, 9.0.5 → 9.0.9
  • fast-xml-parser 4.5.3 → 4.5.4
  • glob 10.4.5 → 10.5.0

Approach

  • npm manifests: npm audit fix (with --legacy-peer-deps for react-native-expo)
  • react-native yarn.lock: Scoped resolutions in package.json — all parent semver ranges already permit the patched versions, but yarn v1 pins old resolutions for transitive deps

Build verification

App Result
javascript-tui npm run build passes
javascript-web npm run build passes
react-native-expo npx expo export fails with "No routes found" — pre-existing on main, not caused by this PR
react-native npx yarn install --check-files passes (native build requires Xcode/Android SDK)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolves high/critical vulnerabilities in:
- javascript-tui/: minimatch, tar
- javascript-web/: minimatch, rollup, tar
- react-native-expo/ (both lockfiles): minimatch, fast-xml-parser, tar,
  react-server-dom-webpack, serialize-javascript

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds scoped resolutions to patch transitive dependencies that yarn v1
cannot bump via `yarn upgrade` alone:
- minimatch 3.1.2 -> 3.1.5 (via glob, eslint, test-exclude)
- minimatch 9.0.5 -> 9.0.9 (via @typescript-eslint/typescript-estree)
- fast-xml-parser 4.5.3 -> 4.5.4 (via @react-native-community/cli-config-android)
- glob 10.4.5 -> 10.5.0 (via @expo/config-plugins)

All parent semver ranges already allow these versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR patches 60 high/critical Dependabot alerts across 5 manifests (5 quickstart apps) in a single PR. The fixes upgrade vulnerable transitive dependencies — primarily minimatch, tar, fast-xml-parser, glob, and rollup — to their patched versions. The approach uses npm audit fix for npm manifests and scoped resolutions entries in package.json for yarn v1 lockfiles.

Changes:

  • react-native/package.json: New scoped resolutions added to force vulnerable transitive dependencies to patched versions in yarn v1
  • react-native/yarn.lock + react-native-expo/yarn.lock: Updated lockfile entries for patched packages (minimatch, fast-xml-parser, glob, ansi-regex, strip-ansi, tar, etc.)
  • javascript-tui/package-lock.json: Updated entries for minimatch, tar, ajv, lodash, undici to patched versions
  • CLAUDE.md: New "Security Patching" section documenting the process for future contributors

Reviewed changes

Copilot reviewed 2 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
react-native/package.json Adds scoped yarn resolutions to pin vulnerable transitive dependencies to patched versions
react-native/yarn.lock Updates lockfile entries; consolidates duplicate stanzas and bumps vulnerable packages
react-native-expo/yarn.lock Updates lockfile entries with patched versions; removes react-server-dom-webpack and its transitive deps
javascript-tui/package-lock.json Bumps minimatch, tar, ajv, lodash, undici to patched versions via npm audit fix
CLAUDE.md Documents the security patching workflow for future automated/manual use
Files not reviewed (2)
  • javascript-tui/package-lock.json: Language not supported
  • react-native-expo/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Podfile.lock pinned DittoReactNativeIOS at 4.13.0 but package.json has
@dittolive/ditto@4.13.1, causing `pod install` to fail in CI. Removing
the lockfile so CI regenerates it with the correct versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@connorpower
Copy link
Member Author

Re: Copilot review comment on missing diffs — both javascript-web/package-lock.json and react-native-expo/package-lock.json are present in the PR diff. The lockfile diffs are large (thousands of lines) so GitHub collapses them by default in the UI, which may make them appear missing. You can verify with gh pr diff 244 --name-only.

@connorpower Connor Power (connorpower) merged commit 0bce61b into main Mar 10, 2026
20 checks passed
@connorpower Connor Power (connorpower) deleted the security/patch-dependabot-alerts branch March 10, 2026 20:32
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.

4 participants