Skip to content

build(deps): patch js-yaml CPU exhaustion - #45

Merged
GSTJ merged 1 commit into
masterfrom
fix/js-yaml-redos-overrides
Sep 20, 2026
Merged

GSTJ merged 1 commit into
masterfrom
fix/js-yaml-redos-overrides

Conversation

@GSTJ

@GSTJ GSTJ commented Sep 20, 2026

Copy link
Copy Markdown
Owner

Summary

Overrides js-yaml to the patched releases, closing Dependabot alerts #57 and #58.

Details

  • Dependabot flagged js-yaml on both majors in the tree (eslint pulls 4.x, jest's coverage config pulls 3.x), and couldn't resolve past 3.15.1 on its own because the range comes from those dependencies, none of which publish a version that allows the fix.
  • Adds pnpm overrides pinning both to the patched releases:
    • js-yaml@<3.15.2 -> ^3.15.2
    • js-yaml@>=4.0.0 <4.3.2 -> ^4.3.2
  • Updates tools/dependency-security-check.mjs's installed-version assertions to match, so the check actually verifies the patched code is what's running instead of drifting silently.
  • Dev-only dependency (eslint, expo CLI, jest coverage), never touches the published build/ output, so this doesn't ship a package release on its own.

Testing steps

corepack pnpm install
pnpm run test
pnpm run security:check

Both should exit clean: 72 tests passing and the audit reporting only the two pre-existing, already-ignored image-size findings.

Local verification

Dependabot couldn't resolve past 3.15.1 on its own because the range
comes from eslint, @expo/xcpretty and jest's coverage config, all
capped below the fix. Overrides both js-yaml majors to the patched
releases and updates the installed-version assertions in the
dependency security check to match.

Closes alerts #57 and #58.
@GSTJ
GSTJ merged commit 833108e into master Sep 20, 2026
5 checks passed
@GSTJ
GSTJ deleted the fix/js-yaml-redos-overrides branch September 20, 2026 05:42
GSTJ added a commit that referenced this pull request Sep 21, 2026
* fix(release): bump a patch for build(deps) commits

Three security patches (#37, #38, #43, #44, #45) landed as
build(deps): commits and never reached npm: the changelog preset marks
build as effect: "changelog", so release-it correctly found nothing to
release and exited 0 every time. Nobody was watching for that, so the
patches sat on master.

findTypeEntry matches on type and scope before falling back to the
scope-less entry, so a build(deps) entry ahead of the generic build one
in TYPES lets dependency and security patches bump a patch while
scope-less build: (tooling, tsconfig, oxfmt) still doesn't move the
version. changelog-check.mjs's POLICY and assertions are updated to
match, including a build(deps) vs build bump test so this can't regress
silently again.

* docs: the Swift AppDelegate redirect already landed

bb07d7b fixed the SDK 53+ AppDelegate.swift bundle URL redirect back in
v1.0.13, but the SDK-support note above it was written 26 minutes
earlier the same day and never got updated. Confirmed by prebuild
against a fresh SDK 57 app: CodePush.bundleURL() lands in
ReactNativeDelegate.bundleURL() same as the Objective-C template does.

* style: satisfy oxfmt on changelog-check.mjs
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