| name | react-router-template-dep-bump |
| description | Update pinned react-router and @react-router package versions in the remix-run/react-router-templates repo, refresh the pnpm lockfile, and verify with the Playwright suite in .tests. |
React Router Template Dep Bump
Use this when updating React Router dependencies in react-router-templates.
Run these commands from the repo root.
1. Confirm the current pins
rg -n '(@react-router/[^@\" ]+@|react-router@|"(?:react-router|@react-router/[^"]+)"\s*:)' . \
--glob '!**/node_modules/**' \
--glob '!pnpm-lock.yaml' \
--glob '!deno.lock'
This repo has both Node and Deno templates. Do not limit the search to
package.json files: the Deno template pins React Router packages in
deno/deno.jsonc, including both task commands such as
deno run -A npm:@react-router/dev@x.y.z ... and import-map entries such as
"react-router": "npm:react-router@x.y.z".
2. Resolve the latest published React Router versions
pnpm view react-router version
pnpm view <currently-used-@react-router-package> version
Run the second command once for each @react-router/* package currently used
in the template pins from step 1. Use the shared latest version across that
family when they match.
3. Update the pinned versions in every affected template
Update all matching pins for react-router and every currently used
@react-router/* dependency:
package.json entries in Node-based templates
deno/deno.jsonc task command pins and import-map entries
Check the touched files with:
git diff --name-only
4. Refresh the lockfile
pnpm install
If deno/deno.jsonc changed, also refresh Deno's local install/lock metadata:
deno install
deno/deno.lock is intentionally untracked in this repo. Do not add it unless
the repository starts tracking it separately.
5. Run the Playwright tests
Install the browser if needed:
pnpm --dir .tests playwright install chromium
Then run the suite:
pnpm --dir .tests test
If Chromium fails to launch with a macOS sandbox error like MachPortRendezvousServer ... Permission denied, rerun the same test command outside the sandbox or with elevated permissions.
6. Sanity check the diff
git status --short
git diff --stat
Expected result:
- template
package.json files and deno/deno.jsonc updated to one React
Router version
pnpm-lock.yaml refreshed
deno/deno.lock not added unless it was already tracked
pnpm --dir .tests test passes
7. Report other outdated packages
After the React Router bump is complete and tests pass, run:
pnpm outdated -r --format json
Reply with the remaining outdated packages grouped by update type:
Then ask whether the user wants to update any of those packages next.