Skip to content

fix(deps): resolve five transitive security alerts in the lockfile - #51

Merged
htcom-code merged 1 commit into
mainfrom
fix/transitive-security-alerts
Oct 6, 2026
Merged

htcom-code merged 1 commit into
mainfrom
fix/transitive-security-alerts

Conversation

@htcom-code

Copy link
Copy Markdown
Owner

Resolves five open Dependabot alerts on transitive build-time dependencies. The lockfile is the only file that changes.

Alert Severity Package From To Pulled in by
#8, #9, #10 high, high, moderate brace-expansion 5.0.9 5.0.12 typedoc → minimatch 10.2.6 (^5.0.8)
#11 high source-map-js 1.2.1 1.2.2 @vue/compiler-core, @vue/compiler-sfc (^1.2.1)
#7 moderate markdown-it 14.3.0 14.3.2 typedoc (^14.3.0)

All five are denial-of-service advisories triggered by crafted input: brace patterns, indexed
source maps, and linkified markdown.

How

pnpm update -r --depth Infinity brace-expansion source-map-js markdown-it, the same route
#26 took for fast-uri. Every consumer's range already admits the patched version, so no
pnpm.overrides is added; an override would only leave a floor to remove later. Two of the
three just collapse onto a version the tree already had (brace-expansion 5.0.12 via
api-extractor, source-map-js 1.2.2 via postcss), so the lockfile shrinks.

markdown-it lands on 14.3.2, one patch past the advisory's 14.3.1, because that is the
latest release.

Exposure

None of these reach a published package. brace-expansion and markdown-it run only inside
tools/docs (typedoc); source-map-js comes in through the Vue compiler used by the dev
build and the demo. @hexcanvas/vue takes vue as a peer, so consumers resolve their own
copy and this lockfile does not reach them. pnpm check:publish confirms that all five
tarballs are publishable.

Not addressed

#12 (sprintf-js <= 1.1.3, moderate) has no patched release. It arrives through
@microsoft/api-extractor → @rushstack/ts-command-line → argparse 1.0.10 (~1.0.2),
so nothing can be done here until upstream moves.

Verification

  • pnpm install --frozen-lockfile passes, and plain pnpm install leaves the lockfile
    unchanged
  • pnpm check: build, per-package checks, test typecheck, 391 tests pass
  • pnpm test:browser: 477 tests pass
  • pnpm api: all 5 API reports match
  • pnpm api:docs: the generated HTML and JSON are byte-identical to main's (diff -r), so
    the markdown-it step does not change rendered docs
  • pnpm check:publish: all 5 packages publishable

Dependabot reports five open alerts on transitive build-time
dependencies: brace-expansion 5.0.9 (#8, #9, #10, two high), via
typedoc's minimatch; source-map-js 1.2.1 (#11, high), via the Vue
compiler; and markdown-it 14.3.0 (#7), via typedoc. All are
denial-of-service advisories triggered by crafted input.

Every consumer's range already admits the patched version, so this
is `pnpm update -r --depth Infinity` on the three packages and no
override, the route #26 took for fast-uri. brace-expansion and
source-map-js collapse onto versions the tree already had;
markdown-it lands on 14.3.2, the latest patch.

None of these reach a published package. typedoc's generated output
is byte-identical to main's, so the markdown-it step changes no
rendered docs. #12 (sprintf-js) has no patched release and stays
open.

Tags: #deps #security

Co-Authored-By: htjulia <htjulia1@gmail.com>
@htcom-code
htcom-code merged commit 4254927 into main Oct 6, 2026
4 checks passed
@htcom-code
htcom-code deleted the fix/transitive-security-alerts branch October 6, 2026 05:17
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.

1 participant