Skip to content

Override underscore to 1.13.8 and update nyc to 18.0.0 - #1012

Closed
acalcutt wants to merge 3 commits into
mapbox:masterfrom
acalcutt:mapbox-fix-underscore
Closed

acalcutt wants to merge 3 commits into
mapbox:masterfrom
acalcutt:mapbox-fix-underscore

Conversation

@acalcutt

@acalcutt acalcutt commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Fixes the remaining npm audit findings. Dev dependencies only; npm audit now reports 0 vulnerabilities (9 on master: 2 high, 7 moderate).

  • underscore → ^1.13.8 via overrides (high, GHSA-qpx9-hpmf-5gmw): mock-aws-s3 (latest 4.0.2, used by the S3 tests) pins underscore@1.12.1 and has no fixed release. 1.13.8 is a backwards compatible minor update.
  • nyc 17 → 18 (moderate, GHSA-w5hq-g745-h8pq): nyc 18 drops istanbul-lib-processinfo and its vulnerable uuid. It requires Node 20 or >=22, which only affects coverage tooling; CI runs lts/-1, lts/* and latest.
  • js-yaml → ^5.4.2 for @istanbuljs/load-nyc-config only (moderate, GHSA-hp3w-g68c-fv3c): nyc's config loader depends on js-yaml 3 → argparse 1 → sprintf-js, which has no patched release. js-yaml 4+ uses argparse 2 without sprintf-js, and the loader only calls load(), which behaves the same. The override is scoped to that package, unlike the global js-yaml override removed in Fix npm ci failing on all CI jobs due to js-yaml override and remove deprecated codecov #997.

Checked: clean npm ci works, npm run lint passes, test/s3_setup.test.js passes, mock-aws-s3 put/list/get work with underscore 1.13.8, coverage runs under nyc 18, and nyc still reads a .nycrc.yaml.

@acalcutt
acalcutt requested a review from a team as a code owner October 4, 2026 22:25
@acalcutt acalcutt changed the title Override underscore to 1.13.8 for mock-aws-s3 Override underscore to 1.13.8 and update nyc to 18.0.0 Oct 4, 2026
@cclauss

cclauss commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Git conflicts

acalcutt and others added 2 commits October 5, 2026 08:04
mock-aws-s3 (latest 4.0.2) pins underscore@1.12.1, which is affected by
GHSA-qpx9-hpmf-5gmw and has no fixed mock-aws-s3 release. Override
underscore to ^1.13.8, a backwards compatible minor update. Dev
dependency only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
nyc 17 depends on istanbul-lib-processinfo, which pulls in uuid < 11.1.1
(GHSA-w5hq-g745-h8pq). nyc 18 drops that dependency. nyc 18 requires
Node 20 or >=22, which only affects the dev/coverage tooling; CI already
runs on Node lts/-1, lts/* and latest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@acalcutt
acalcutt force-pushed the mapbox-fix-underscore branch from c59fcdd to 29376e7 Compare October 5, 2026 12:06
@acalcutt

acalcutt commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

@cclauss the conflicts should be fixed, this was made before the eslint fixes so it had to be updated

@istanbuljs/load-nyc-config (used by nyc 17 and 18) depends on
js-yaml 3 -> argparse 1 -> sprintf-js, which is affected by
GHSA-hp3w-g68c-fv3c with no patched release. js-yaml 4+ uses argparse 2,
which has no sprintf-js. The loader only calls js-yaml's load(), which
behaves the same in js-yaml 5, and only for .nycrc.yaml files.

The override is scoped to @istanbuljs/load-nyc-config, so other js-yaml
users are unaffected. Dev dependency only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@acalcutt acalcutt closed this Oct 6, 2026
@cclauss

cclauss commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Sorry if I merged out of order.

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