SKILL.md
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/[email protected] ... and import-map entries such as "react-router": "npm:[email protected]".
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.jsonentries in Node-based templatesdeno/deno.jsonctask 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.jsonfiles anddeno/deno.jsoncupdated to one React
Router version
pnpm-lock.yamlrefresheddeno/deno.locknot added unless it was already trackedpnpm --dir .tests testpasses
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:
- major
- minor
- patch
Then ask whether the user wants to update any of those packages next.