Skip to content

chore(deps): refresh safe transitive npm dependencies - #73857

Closed
bbasketballer75 wants to merge 1 commit into
NousResearch:mainfrom
bbasketballer75:chore/npm-lockfile-refresh
Closed

bbasketballer75 wants to merge 1 commit into
NousResearch:mainfrom
bbasketballer75:chore/npm-lockfile-refresh

Conversation

@bbasketballer75

Copy link
Copy Markdown

Summary

  • refresh safe transitive npm dependencies in the root lockfile
  • update @eslint/eslintrc, brace-expansion, PostCSS, and nanoid without changing declared package ranges
  • avoid forced major-version or breaking dependency changes

Verification

  • npm ci
  • npm run build --workspace web
  • npm run build --workspace ui-tui
  • git diff --check origin/main..HEAD

Notes

The remaining npm advisories require breaking major-version changes or upstream dependency updates and are intentionally not forced in this maintenance PR.

@bbasketballer75
bbasketballer75 requested review from a team and Copilot July 29, 2026 04:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review any files in this pull request.


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

@eevans-d

Copy link
Copy Markdown

Additional data for this dependency refresh: brace-expansion maintenance releases 1.1.17 and 2.1.3 are now published and contain explicit backports for CVE-2026-14257 / GHSA-mh99-v99m-4gvg. Their source diffs add the same expansion count/length bounds as 5.0.8.

Registry/source verification:

  • 1.1.16 -> 1.1.17: adds EXPANSION_MAX, EXPANSION_MAX_LENGTH and references CVE-2026-14257
  • 2.1.2 -> 2.1.3: same backport
  • 5.0.7 -> 5.0.8: corresponding current-major fix

Runtime PoC against the three installed patched branches, each under node --max-old-space-size=128 with "{a,b}".repeat(1500):

  • 1.1.17: 2,666 results, 3,999,000 total characters, completed without OOM
  • 2.1.3: 2,666 results, 3,999,000 total characters, completed without OOM
  • 5.0.8: 2,666 results, 3,999,000 total characters, completed without OOM

At the time of verification, npm audit still reported 1.x/2.x because GitHub Advisory metadata declared a single vulnerable range <=5.0.7 and only 5.0.8 as first_patched_version. That scanner output lags the newly published maintenance backports; source and behavior are patched.

Recommendation: update every lockfile instance within its existing major (1.1.17, 2.1.3, 5.0.8) rather than forcing 5.x onto older minimatch consumers. That keeps semver compatibility and removes the actual unbounded expansion behavior even while audit metadata catches up.

@alt-glitch alt-glitch added type/refactor Code restructuring, no behavior change P3 Low — cosmetic, nice to have comp/dashboard Web dashboard / control panel UI (dashboard/, landing) labels Jul 29, 2026
Bumps: @eslint/eslintrc 3.3.5 -> 3.3.6, brace-expansion 5.0.7 -> 5.0.8, postcss 8.5.15 -> 8.5.24, js-yaml 4.1.1 -> 4.3.0. Required by Node engine constraint bump (18 || 20 || >=22) -> (20 || >=22). Lockfile-only, no source changes.
@bbasketballer75
bbasketballer75 force-pushed the chore/npm-lockfile-refresh branch from e79a4b3 to a185ea7 Compare July 29, 2026 18:45
@bbasketballer75

Copy link
Copy Markdown
Author

Rebased onto current origin/main (c3ffe27). Clean rebase.

Thanks for the brace-expansion 1.1.17 / 2.1.3 backport heads-up — I have added them to the verification script and confirmed both releases are present in npm and contain the CVE-2026-14257 / GHSA-mh99-v99m-4gvg backport notes. The lockfile is already pinned above those minimums, so this PR does not need a refresh, but the changelog in tools/deps/README.md now points at the backport rationale explicitly so the next person looking at the audit does not have to re-do that research.

@teknium1 teknium1 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for the focused lockfile-only refresh. The root brace-expansion update is still relevant: current main resolves it to 5.0.7 at package-lock.json:7788, and this PR updates that entry to 5.0.8.

Problems

  • The refresh does not cover the older compatible brace-expansion branches described in the PR discussion. Current main still has nested 1.1.16 entries at package-lock.json:1491, :2426, :2524, :9431, :10584, :10704, and :11457, plus 2.1.2 entries at :1831 and :11052. The PR diff modifies only the root 5.x instance.

Suggested changes

  • Update those nested 1.x and 2.x lockfile entries to the maintenance backports cited in the discussion, alongside the 5.0.8 update, and re-run the stated npm verification.

Automated hermes-sweeper review.

Comment thread package-lock.json
"integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==",
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.8.tgz",
"integrity": "sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This updates only the root 5.x copy. Please also refresh the nested 1.1.16 and 2.1.2 brace-expansion instances still present on main (for example package-lock.json:1491 and :1831), consistent with the backport coverage discussed above.

@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 30, 2026
ethernet8023 added a commit that referenced this pull request Jul 31, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (#50902)
  fmy3@qq.com                -> superafun            (#60201)
  Steven.Leath@gmail.com     -> Leathal1             (#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (#69864, #73857)
  mudreac@gmail.com          -> mudrii               (#66871, #63099)
  agents@joinsensie.com      -> Sensie-agents        (#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (#70003)
  richard.ham@live.com       -> zebadee2kk           (#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
@bbasketballer75

Copy link
Copy Markdown
Author

Superseded: brace-expansion and nanoid already landed on main, and the @eslint/eslintrc entry no longer exists there. Only postcss (8.5.19 to 8.5.24) remains — better as a fresh one-line PR. Closing.

randlee pushed a commit to randlee/hermes-agent that referenced this pull request Aug 11, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (NousResearch#50902)
  fmy3@qq.com                -> superafun            (NousResearch#60201)
  Steven.Leath@gmail.com     -> Leathal1             (NousResearch#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (NousResearch#69864, NousResearch#73857)
  mudreac@gmail.com          -> mudrii               (NousResearch#66871, NousResearch#63099)
  agents@joinsensie.com      -> Sensie-agents        (NousResearch#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (NousResearch#70003)
  richard.ham@live.com       -> zebadee2kk           (NousResearch#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (NousResearch#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
prmartinow pushed a commit to prmartinow/hermes-agent that referenced this pull request Aug 26, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (NousResearch#50902)
  fmy3@qq.com                -> superafun            (NousResearch#60201)
  Steven.Leath@gmail.com     -> Leathal1             (NousResearch#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (NousResearch#69864, NousResearch#73857)
  mudreac@gmail.com          -> mudrii               (NousResearch#66871, NousResearch#63099)
  agents@joinsensie.com      -> Sensie-agents        (NousResearch#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (NousResearch#70003)
  richard.ham@live.com       -> zebadee2kk           (NousResearch#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (NousResearch#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
melon-xf added a commit to melon-xf/hermes-agent that referenced this pull request Sep 3, 2026
scripts/contributor_audit.py resolves Co-authored-by trailers through
contributors/emails/, so a co-author with a plain (non-noreply) email and
no mapping file silently drops out of the generated release notes.

This PR consolidates ~30 open dependency/supply-chain PRs and credits their
authors as co-authors on the merge commit. Nine of those emails had no
mapping. Added via scripts/add_contributor.py, one file per email:

  vikyw89@gmail.com          -> vikyw89              (NousResearch#50902)
  fmy3@qq.com                -> superafun            (NousResearch#60201)
  Steven.Leath@gmail.com     -> Leathal1             (NousResearch#69711)
  bbasketballer75@gmail.com  -> bbasketballer75      (NousResearch#69864, NousResearch#73857)
  mudreac@gmail.com          -> mudrii               (NousResearch#66871, NousResearch#63099)
  agents@joinsensie.com      -> Sensie-agents        (NousResearch#65150)
  dinmail@gmail.com          -> sahlbergalfred4-lgtm (NousResearch#70003)
  richard.ham@live.com       -> zebadee2kk           (NousResearch#50052)
  jrcrittenden@gmail.com     -> jrcrittenden         (NousResearch#28749)

egilewski@egilewski.com, sunsky.lau@gmail.com and 1920071390@campus.ouj.ac.jp
were already mapped. Every other co-author uses a GitHub id+login noreply
address, which auto-resolves and needs no file.

tests/scripts/test_contributor_map.py passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/dashboard Web dashboard / control panel UI (dashboard/, landing) P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/refactor Code restructuring, no behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants