Skip to content

chore: resolve open Dependabot alerts - #119

Merged
ScriptedAlchemy merged 2 commits into
mainfrom
chore/dependabot-alerts
Sep 4, 2026
Merged

chore: resolve open Dependabot alerts#119
ScriptedAlchemy merged 2 commits into
mainfrom
chore/dependabot-alerts

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Collaborator

Summary

Resolves the open Dependabot alerts. The notable one is React Router's RSC mode CSRF bypass (GHSA-qwww-vcr4-c8h2), fixed in 7.18.2 and 8.3.0; the lockfile moves to 7.18.3 and 8.3.1, and the test fixtures and examples follow.

  • React Router 7.18.3 / 8.3.1 plus matching @react-router/* tooling in the root dev dependencies, corpus fixtures, and examples
  • serialize-javascript 7.1.1, @faker-js/faker 10.5.0, morgan 1.11.0 where declared directly
  • pnpm overrides for the transitive fast-uri, js-yaml, undici, brace-expansion, socket.io-parser, ip-address, adm-zip, sharp, svgo, shell-quote, postcss, browserslist, and @remix-run/router, each pinned to its patched release within the same major

The plugin's published dependency and peer ranges are unchanged (^7.13.0 || ^8.0.0). React Router 8.3 adds a required future.unstable_enableNodeReadableStream to its resolved config type, so the plugin resolves it with a false default and passes it through to presets and buildEnd. Behavior is unchanged because the plugin ships its own server entry. A patch changeset is included for that.

Left open: react-router-dom 6.30.4 has no patched release and comes from @nasa-gcn/remix-seo in the epic-stack example.

Verification

  • pnpm typecheck, pnpm build, pnpm exec rstest run (all files pass)
  • Corpus against 8.3.1 fixtures: rsc-test, rsc-nojs-test, hmr-hdr-rsc-test, fog-of-war-test, prerender-test, route-exports-modified-offscreen-test: 115 passed
  • All ten examples build

🤖 Generated with Claude Code

Bump the vulnerable dependencies GitHub flagged on the lockfile and the
example and test manifests:

- react-router 7.18.1 -> 7.18.3 and 8.1.0 -> 8.3.1 (RSC CSRF bypass,
  GHSA-qwww-vcr4-c8h2), with the matching @react-router/* dev tooling
- serialize-javascript 6 -> 7.1.1 in the corpus and react-router-8 example
- @faker-js/faker 10.5.0 and morgan 1.11.0 in the epic-stack examples
- pnpm overrides for transitive fast-uri, js-yaml, undici, brace-expansion,
  socket.io-parser, ip-address, adm-zip, sharp, svgo, shell-quote, postcss,
  browserslist, and @remix-run/router, pinned to their patched patch or
  minor releases within the same major

The plugin's own dependency and peer ranges are unchanged and still cover
React Router 7 and 8. React Router 8.3 adds a required
`future.unstable_enableNodeReadableStream` flag to its resolved config, so
the plugin now resolves it (default false) and passes it through to presets
and buildEnd; the plugin ships its own server entry, so behavior is
unchanged. The RSC preview fixture drops a `@ts-expect-error` that 8.3's
typings made unnecessary.

react-router-dom 6.30.4 (GHSA-jjmj-jmhj-qwj2) stays: it is pulled in by
@nasa-gcn/remix-seo in the epic-stack example and has no patched release.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-04T02:34:31.523063Z 7ed03f2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@pkg-pr-new

pkg-pr-new Bot commented Sep 4, 2026

Copy link
Copy Markdown

Open in StackBlitz

pnpm add https://pkg.pr.new/rsbuild-plugin-react-router@1cd1409

commit: 1cd1409

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Benchmark results

Case Base Head Delta
build-256-ssr 2092.3 ms 2100.1 ms +0.4%
dev-48-ssr 899.3 ms 901.0 ms +0.2%

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7ed03f25cd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}>;

const createDefaultFutureConfig = (): FutureConfig => ({
unstable_enableNodeReadableStream: false,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve the resolved flag in buildEnd config

When neither the user nor a preset explicitly sets this flag, src/index.ts lines 475–478 replaces the fully resolved future object with userAndPresetConfig.future ?? {} before invoking buildEnd. Consequently, React Router 8.3 buildEnd hooks receive unstable_enableNodeReadableStream as undefined rather than the required default false, despite the changeset promising a resolved config matching the current shape. Pass the resolved future object through, or add this default when constructing buildEndReactRouterConfig.

Useful? React with 👍 / 👎.

@codspeed-hq

codspeed-hq Bot commented Sep 4, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 1 untouched benchmark
⏩ 2 skipped benchmarks1


Comparing chore/dependabot-alerts (1cd1409) with main (2e88249)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

The `reveal --no-typescript` help line now carries a deprecation note.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ScriptedAlchemy
ScriptedAlchemy merged commit 97aae44 into main Sep 4, 2026
9 checks passed
@ScriptedAlchemy
ScriptedAlchemy deleted the chore/dependabot-alerts branch September 4, 2026 03:04
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