Skip to content

build(deps): pin patched transitive dependency versions#404

Merged
dev-jodee merged 1 commit intomainfrom
fix/dependabot-transitive-remediation
Mar 27, 2026
Merged

build(deps): pin patched transitive dependency versions#404
dev-jodee merged 1 commit intomainfrom
fix/dependabot-transitive-remediation

Conversation

@dev-jodee
Copy link
Copy Markdown
Contributor

@dev-jodee dev-jodee commented Mar 27, 2026

Summary

  • Remediated all currently open lockfile-resolvable Dependabot alerts for sdks/pnpm-lock.yaml by pinning patched transitives via pnpm.overrides in sdks/package.json.
  • Added explicit multi-major pins for picomatch:
    • picomatch@^2 -> 2.3.2
    • picomatch@^4 -> 4.0.4
  • Updated transitive pins:
    • brace-expansion@^2 -> 2.0.3
    • yaml@^2 -> 2.8.3
  • Regenerated sdks/pnpm-lock.yaml with pnpm install --lockfile-only.

Dependabot Alerts In Scope

Test Plan

  • gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" '/repos/solana-foundation/kora/dependabot/alerts?state=open&per_page=100'
  • pnpm install --lockfile-only (run in sdks/)
    • Succeeded; lockfile regenerated with override pins.
  • rg -n "brace-expansion@2\\.0\\.2|picomatch@2\\.3\\.1|picomatch@4\\.0\\.3|yaml@2\\.8\\.1" sdks/pnpm-lock.yaml
    • No matches (vulnerable versions removed).
  • rg -n "brace-expansion@2\\.0\\.3|picomatch@2\\.3\\.2|picomatch@4\\.0\\.4|yaml@2\\.8\\.3" sdks/pnpm-lock.yaml
    • Matches found for all patched versions.
  • pnpm audit --json (run in sdks/)
    • Command exits non-zero due existing advisories outside this Dependabot alert set; output captured for follow-up.

Remaining Unresolved Alerts


Open with Devin

Pin patched transitive npm versions in sdks workspace via pnpm.overrides (brace-expansion@^2 -> 2.0.3, picomatch@^2 -> 2.3.2, picomatch@^4 -> 4.0.4, yaml@^2 -> 2.8.3).

Remaining unpatchable alerts in this Dependabot set: none identified; all open alerts (89-94) are lockfile-resolvable.
@dev-jodee dev-jodee requested a review from amilz as a code owner March 27, 2026 17:23
@github-actions
Copy link
Copy Markdown

📊 TypeScript Coverage Report

Coverage: 33.1%

View detailed report

Coverage artifacts have been uploaded to this workflow run.
View Artifacts

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 27, 2026

Greptile Summary

This PR remediates six open Dependabot alerts (#89#94) in sdks/pnpm-lock.yaml by pinning patched transitive dependency versions via pnpm.overrides in sdks/package.json, then regenerating the lockfile.\n\nKey changes:\n- Replaces the previous broad \"brace-expansion\": \">=2.0.2\" override with the correctly-scoped \"brace-expansion@^2\": \"2.0.3\", so consumers requesting ^1.x (e.g. minimatch@3.x) and ^5.x (e.g. minimatch@10.x) are no longer incorrectly forced onto the v2 branch.\n- Adds \"picomatch@^2\": \"2.3.2\" and \"picomatch@^4\": \"4.0.4\" to address the multi-major picomatch alerts.\n- Adds \"yaml@^2\": \"2.8.3\" to address the yaml alert.\n- The lockfile correctly reflects these pins — all previously vulnerable versions (picomatch@2.3.1, picomatch@4.0.3, brace-expansion@2.0.2, yaml@2.8.1) have been replaced.\n- As a side-effect of the now-scoped brace-expansion override, brace-expansion@1.1.13 and brace-expansion@5.0.5 appear as new entries for consumers in those semver ranges. These are the latest versions in their respective ranges and are not flagged by any of the in-scope Dependabot alerts.\n- A residual pnpm audit non-zero exit is acknowledged in the PR description as out-of-scope and tracked for follow-up.

Confidence Score: 5/5

Safe to merge — all in-scope Dependabot alerts are addressed with exact patched version pins and a correctly regenerated lockfile.

No P0 or P1 issues found. The overrides are correctly scoped to their semver ranges, all six patched versions are present in the lockfile, and the new brace-expansion v1/v5 entries are latest-in-range releases with no associated alerts. The change is narrowly scoped to dependency pinning with no application code modifications.

No files require special attention.

Important Files Changed

Filename Overview
sdks/package.json Replaces broad brace-expansion override with correctly-scoped semver overrides for picomatch, brace-expansion, and yaml; all pins target the exact patched versions from Dependabot alerts #89#94.
sdks/pnpm-lock.yaml Lockfile regenerated to reflect new pinned versions; vulnerable versions removed, patched versions installed, and previously-masked brace-expansion@1.x and @5.x consumers now resolve to their natural (non-overridden) latest releases (1.1.13 and 5.0.5 respectively).

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    OV["pnpm.overrides (sdks/package.json)"]
    OV -->|"brace-expansion@^2 → 2.0.3"| BE2["brace-expansion@2.0.3\n(minimatch@5, minimatch@9)"]
    OV -->|"picomatch@^2 → 2.3.2"| PM2["picomatch@2.3.2\n(anymatch, micromatch, jest-haste-map)"]
    OV -->|"picomatch@^4 → 4.0.4"| PM4["picomatch@4.0.4\n(fdir, tinyglobby)"]
    OV -->|"yaml@^2 → 2.8.3"| YML["yaml@2.8.3\n(typedoc-plugin-markdown)"]
    OV -. "unaffected (scoped override)" .-> BE1["brace-expansion@1.1.13\n(minimatch@3 — natural ^1 resolution)"]
    OV -. "unaffected (scoped override)" .-> BE5["brace-expansion@5.0.5\n(minimatch@10 — natural ^5 resolution)"]
Loading

Reviews (1): Last reviewed commit: "build(deps): pin patched transitive depe..." | Re-trigger Greptile

@dev-jodee dev-jodee merged commit 3b9408b into main Mar 27, 2026
4 checks passed
@dev-jodee dev-jodee deleted the fix/dependabot-transitive-remediation branch March 27, 2026 17:35
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.

2 participants