Files
Tim NeutkensandGitHub 0f01364309 Add React sync development skill (#95620)
### What?

Add a repository skill for building local React stable and experimental
bundles, syncing them into Next.js, and verifying the integration.

### Why?

Testing upstream React changes in Next.js requires a precise bundle
list, both React release channels, and the repository-pinned pnpm
version. Capturing the workflow as a skill makes it repeatable and
avoids global pnpm versions bypassing workspace linking.

### How?

Add `$react-sync` with a reusable build helper and document it in
`AGENTS.md`. The sync command puts the Corepack shim first on `PATH` so
nested pnpm commands use the version pinned by Next.js.

### Verification

- `bash -n .agents/skills/react-sync/scripts/build-for-next.sh`
- `python3
~/.codex/skills/.system/skill-creator/scripts/quick_validate.py
.agents/skills/react-sync`
- Prettier check for `AGENTS.md` and `SKILL.md`
- Full local React build and `pnpm sync-react` workflow completed
successfully
- `pnpm --filter=next build`

<!-- NEXT_JS_LLM_PR -->
2026-07-14 12:49:59 +02:00

36 lines
964 B
Bash

#!/usr/bin/env bash
set -euo pipefail
set -x
bundles=(
"react/index"
"react/jsx"
"react-jsx-runtime.react-server"
"react-jsx-dev-runtime.react-server"
"react/compiler-runtime"
"react.react-server"
"react-dom/index"
"react-dom/client"
"react-dom/profiling"
"react-dom/server"
"react-dom.react-server"
"react-dom-server.browser"
"react-dom-server.bun"
"react-dom-server.edge"
"react-dom-server.node"
"react-dom-server-legacy.browser"
"react-dom-server-legacy.node"
"react-is"
"scheduler"
"react-server-dom-webpack/"
"react-server-dom-turbopack/"
)
type="BUN_DEV,BUN_PROD,NODE_DEV,NODE_PROD,NODE_PROFILING,ESM_DEV,ESM_PROD,NODE_ES2015"
RELEASE_CHANNEL=stable node ./scripts/rollup/build.js "${bundles[@]}" --type="$type"
mv ./build/node_modules ./build/oss-stable
RELEASE_CHANNEL=experimental node ./scripts/rollup/build.js "${bundles[@]}" --type="$type" --unsafe-partial
mv ./build/node_modules ./build/oss-experimental