Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
320 commits
Select commit Hold shift + click to select a range
f54dc60
chore(rsc): setup github release (#546)
hi-ogawa Jul 7, 2025
c8ecad0
chore(deps): update dependency vite to v7 (#541)
renovate[bot] Jul 7, 2025
904a062
test(rsc): serial e2e (#545)
hi-ogawa Jul 8, 2025
8c3929c
chore(rsc): remove unused code (#550)
hi-ogawa Jul 8, 2025
b37d377
test(rsc): fix tests on rolldown-vite (#549)
hi-ogawa Jul 8, 2025
54a782f
test(react-swc): simplify ts-lib test (#548)
hi-ogawa Jul 8, 2025
1a4a7bb
chore(rsc): tweak cloudflare setting on rolldown-vite (#551)
hi-ogawa Jul 8, 2025
822e7dd
chore(rsc): update readme (#553)
hi-ogawa Jul 10, 2025
840f0b1
chore(deps): update prettier (#556)
sapphi-red Jul 10, 2025
fb5e40d
ci(rsc): disable `TEST_ISOLATED` on windows (#558)
hi-ogawa Jul 11, 2025
84dfff7
chore: overrides `@types/estree` to fix type duplicates (#557)
hi-ogawa Jul 11, 2025
22be17f
build: use tsdown for plugin-react / plugin-react-oxc (#554)
sapphi-red Jul 11, 2025
9ff1075
ci: fix duplicate artifact name (#560)
hi-ogawa Jul 11, 2025
6328ef2
build: use tsdown for plugin-react-swc (#555)
sapphi-red Jul 11, 2025
aa004d4
test(rsc): fix `setupIsolatedFixture` on windows ci (#559)
hi-ogawa Jul 11, 2025
0fc7fcd
fix(rsc): support setups without an SSR environment (#562)
jacob-ebey Jul 12, 2025
b598bb5
feat(rsc): support regex directive for `transformHoistInlineDirective…
hi-ogawa Jul 12, 2025
b1d63a8
test(rsc): fix ssr modulepreload link test (#565)
hi-ogawa Jul 12, 2025
44567c3
chore: ts-ignore for rolldown-vite ci (#566)
hi-ogawa Jul 12, 2025
9d4c60f
release: plugin-rsc@0.4.12
hi-ogawa Jul 14, 2025
2a3b053
fix(deps): update swc monorepo (#569)
renovate[bot] Jul 14, 2025
8804446
chore(rsc): tweak changelog (#570)
hi-ogawa Jul 14, 2025
20bf875
chore: add plugin-rsc to issue templates (#574)
hi-ogawa Jul 14, 2025
7c564ff
chore: replace `build --app` with `build` in examples (#572)
hi-ogawa Jul 14, 2025
fa60127
fix(rsc): await handler to avoid unhandled rejection (#576)
hi-ogawa Jul 14, 2025
d14f31d
fix(deps): update all non-major dependencies (#568)
renovate[bot] Jul 15, 2025
9552041
chore: merge main
sapphi-red Jul 15, 2025
706a033
chore: fix merge
sapphi-red Jul 15, 2025
df6a38e
fix(rsc): update rsc-html-stream v0.0.7 (#578)
hi-ogawa Jul 15, 2025
fdc9d9a
feat: add hmr support for compound components (#518)
Newbie012 Jul 18, 2025
bbfd1b7
chore: update changelog for #537
sapphi-red Jul 18, 2025
8041706
release: plugin-react@4.7.0
sapphi-red Jul 18, 2025
9e0c103
release: plugin-react-swc@3.11.0
sapphi-red Jul 18, 2025
1b4e0f0
release: plugin-react-oxc@0.3.0
sapphi-red Jul 18, 2025
fa1d260
fix(rsc): ensure trailing slash of `BASE_URL` (#589)
hi-ogawa Jul 19, 2025
bd6a2a1
chore(rsc): deprecate `@vitejs/plugin-rsc/extra` API (#592)
hi-ogawa Jul 21, 2025
d464e8f
chore(rsc): update React Router RSC references (#581)
hi-ogawa Jul 21, 2025
a6e1cca
refactor: remove `jsxPure` warning (#585)
sapphi-red Jul 21, 2025
c5f0bab
test(rsc): remove global unhandled error handlers (#597)
hi-ogawa Jul 21, 2025
87319bf
chore(rsc): remove `@vite/plugin-rsc/extra` API usages from examples …
hi-ogawa Jul 21, 2025
b550b63
chore(rsc): comment (#599)
hi-ogawa Jul 21, 2025
d7fcdd8
test(rsc): add more basic tests to starter (#600)
hi-ogawa Jul 21, 2025
5167266
test(rsc): refactor variant tests (#601)
hi-ogawa Jul 21, 2025
7223093
test(rsc): test module runner `hmr: false` (#595)
hi-ogawa Jul 21, 2025
8e0e8b6
chore(rsc): deprecate `rsc-html-stream` re-exports (#602)
hi-ogawa Jul 22, 2025
22e5398
chore(rsc): fix temporary references in examples (#603)
hi-ogawa Jul 22, 2025
4d6c72f
chore(rsc): move comment (#604)
hi-ogawa Jul 22, 2025
bfd434f
test(rsc): add SSR thenable workaround in examples (#591)
hi-ogawa Jul 22, 2025
b9efa3f
refactor!: bump required node version to 20.19+, 22.12+ and drop CJS …
sapphi-red Jul 22, 2025
005f16e
refactor!: remove old `babel-plugin-react-compiler` support (#584)
sapphi-red Jul 22, 2025
cadd7d2
fix!: remove `resolve.dedupe` (#586)
sapphi-red Jul 22, 2025
e8fa2d0
test(rsc): test build with `NODE_ENV=development` and vice versa (#606)
hi-ogawa Jul 22, 2025
2a7ff5c
chore(rsc): remove console.log (#607)
hi-ogawa Jul 22, 2025
9ce3b22
fix(deps): update all non-major dependencies (#593)
renovate[bot] Jul 22, 2025
2a81b90
test(rsc): add transitive cjs dep example (#611)
hi-ogawa Jul 23, 2025
26326b3
feat!: support including files in node_modules (#306)
Jinjiang Jul 23, 2025
4005dbe
docs(rsc): add `CONTRIBUTING.md` (#613)
hi-ogawa Jul 23, 2025
758dc73
ci: add workflow_dispatch to ci-rsc (#614)
hi-ogawa Jul 23, 2025
d9cb926
test(rsc): support `fs:cp` command in `setupInlineFixture` (#621)
hi-ogawa Jul 24, 2025
5314ed6
feat(rsc): add support for `experimental.renderBuiltUrl` on assets me…
HenriqueLimas Jul 24, 2025
6ab1973
release: plugin-rsc@0.4.13
hi-ogawa Jul 24, 2025
73d457b
docs(rsc): fix jsdoc (#623)
hi-ogawa Jul 25, 2025
d28356f
fix(rsc): handle transform errors before server hmr (#626)
hi-ogawa Jul 26, 2025
47d02d0
feat(rsc): validate `client-only` and `server-only` import during res…
Copilot Jul 26, 2025
24ddea4
test(rsc): parallel e2e (#628)
hi-ogawa Jul 26, 2025
707f35b
test(rsc): split starter tests into multiple files (#629)
hi-ogawa Jul 26, 2025
4568556
fix(rsc): add `getEntrySource` assertion error message (#633)
hi-ogawa Jul 27, 2025
b077c4a
chore(deps): update react-router (#632)
hi-ogawa Jul 27, 2025
3e2f5a9
ci(rsc): test react nightly (#630)
hi-ogawa Jul 27, 2025
d1fe8c2
release: plugin-rsc@0.4.14
hi-ogawa Jul 27, 2025
3e154c8
test(react): test no refresh transform for non-jsx files (#547)
hi-ogawa Jul 27, 2025
0f40c3b
chore(deps): update actions-cool/issues-helper digest to 50068f4 (#638)
renovate[bot] Jul 28, 2025
da0a786
feat(rsc): show warning for non optimized cjs (#635)
hi-ogawa Jul 28, 2025
d1b1636
chore(deps): pnpm dedupe (#642)
hi-ogawa Jul 28, 2025
b8a23e4
chore(deps): remove unused deps (#644)
hi-ogawa Jul 28, 2025
f0b4cff
fix(rsc): improve auto css heuristics (#643)
hi-ogawa Jul 28, 2025
9a0c739
release: plugin-rsc@0.4.15
hi-ogawa Jul 28, 2025
edadfef
chore: add `webpack` to `peerDependencyRules.ignoreMissing` (#648)
hi-ogawa Jul 28, 2025
133d786
feat: merge `plugin-react-oxc` into `plugin-react` (#609)
sapphi-red Jul 28, 2025
1a02ba7
chore(deps): update all non-major dependencies (#639)
renovate[bot] Jul 28, 2025
aca6a5e
fix(deps): update swc monorepo (#594)
renovate[bot] Jul 28, 2025
9ffd86d
fix(react): use development jsx transform for `NODE_ENV=development` …
sapphi-red Jul 28, 2025
7d3a57a
release: plugin-react@5.0.0-beta.0
sapphi-red Jul 28, 2025
d661a30
release: plugin-react-swc@4.0.0-beta.0
sapphi-red Jul 28, 2025
533e8cd
release: plugin-react-oxc@0.4.0-beta.0
sapphi-red Jul 28, 2025
ac0cac7
test(rsc): split more independent tests (#652)
hi-ogawa Jul 30, 2025
83a5741
feat(rsc): add `useBuildAppHook` option to switch `plugin.buildApp` o…
hi-ogawa Jul 30, 2025
c602225
test(rsc): port transform tests from waku (#655)
hi-ogawa Jul 30, 2025
ec151c8
chore: merge main
sapphi-red Jul 31, 2025
a1b5b19
chore: remove unneeded diff
sapphi-red Jul 31, 2025
c1383f8
fix(rsc): avoid unnecessary server hmr due to tailwind module deps (#…
hi-ogawa Aug 1, 2025
ff44ae4
refactor(rsc): split encryption runtime exports (#660)
hi-ogawa Aug 1, 2025
5df0070
feat(rsc): support `client` environment as `react-server` (#657)
hi-ogawa Aug 1, 2025
a34f8c5
refactor(rsc): move `writeManifest` inside `buildApp` hook (#659)
hi-ogawa Aug 1, 2025
aa95627
release: plugin-rsc@0.4.16
hi-ogawa Aug 1, 2025
ac20b31
fix(rsc): keep manually added link stylesheet during dev (#663)
hi-ogawa Aug 3, 2025
f4e0d2a
chore: add copilot-setup-steps.yml (#667)
hi-ogawa Aug 3, 2025
26ad4ad
test(rsc): test `React.cache` (#668)
Copilot Aug 4, 2025
61d777d
fix(deps): update all non-major dependencies (#670)
renovate[bot] Aug 4, 2025
4461638
ci: add `if-no-files-found: ignore` to `actions/upload-artifact` (#672)
hi-ogawa Aug 4, 2025
775ac61
test(rsc): test shared module hmr (#671)
hi-ogawa Aug 4, 2025
9b2741f
docs(rsc): notes on CSS support (#673)
hi-ogawa Aug 4, 2025
97b5f1b
refactor(rsc): update `@mjackson/node-fetch-server` to `@remix-run/no…
MichaelDeBoey Aug 5, 2025
556de15
fix(rsc): optimize `use-sync-external-store` (#674)
hi-ogawa Aug 5, 2025
7b07098
chore(rsc): tweak types and examples (#682)
hi-ogawa Aug 5, 2025
3c5de79
release: plugin-rsc@0.4.17
hi-ogawa Aug 5, 2025
dea484a
chore(rsc): mention deploy example (#685)
hi-ogawa Aug 7, 2025
6df7192
chore(rsc): add .gitignore to create-vite example (#686)
hi-ogawa Aug 7, 2025
9e4a944
release: plugin-react@5.0.0
sapphi-red Aug 7, 2025
590f394
release: plugin-react-swc@4.0.0
sapphi-red Aug 7, 2025
b654046
release: plugin-react-oxc@0.4.0
sapphi-red Aug 7, 2025
7a92083
fix(rsc): support cjs on module runner (#687)
hi-ogawa Aug 8, 2025
481edfb
chore(oxc): mention deprecation in readme (#693)
hi-ogawa Aug 11, 2025
5057858
fix(deps): update all non-major dependencies (#694)
renovate[bot] Aug 11, 2025
2f62dc0
fix(react): always skip react-compiler on non client envrionment (#689)
hi-ogawa Aug 11, 2025
9da2c98
release: plugin-rsc@0.4.18
hi-ogawa Aug 11, 2025
c329914
fix(rsc): fix cjs default import on module runner (#695)
hi-ogawa Aug 11, 2025
f0359c4
fix(rsc): replace `?v=` check with more robust `node_modules` detecti…
hi-ogawa Aug 11, 2025
a88fb2d
fix(rsc): replace non-optimized server cjs warning with debug only lo…
hi-ogawa Aug 11, 2025
11ecfb4
release: plugin-rsc@0.4.19
hi-ogawa Aug 11, 2025
a1f4311
refactor: move @vitejs/plugin-rsc to devDependencies in examples (#699)
hi-ogawa Aug 11, 2025
3114e88
fix(rsc): remove duplicate server css on initial render (#702)
hi-ogawa Aug 12, 2025
5b73cbe
chore(rsc): fix csp example for Vite server ping SharedWorker (#704)
hi-ogawa Aug 12, 2025
e5c3517
fix(rsc): warn dual module of optimized and non-optimized client refe…
hi-ogawa Aug 12, 2025
ad0139d
chore: mark plugin-react-oxc as deprecated (#709)
TheAlexLichter Aug 13, 2025
2d93ee4
chore(rsc): update package.json for starter-cf-single (#707)
mashaal Aug 13, 2025
ad7584a
fix(rsc): keep hoisted require order (#706)
hi-ogawa Aug 13, 2025
5d5edd4
fix(rsc): deprecate opt-out `ignoredPackageWarnings` option in favor …
hi-ogawa Aug 13, 2025
fc8c1d7
release: plugin-rsc@0.4.20
hi-ogawa Aug 13, 2025
28e723b
chore(rsc): rework ssg example (#713)
hi-ogawa Aug 13, 2025
a22f29b
fix(react): refreshWrapper was injected twice for class components wh…
sapphi-red Aug 14, 2025
32c4e2c
chore(react): changelog for #689 (#715)
hi-ogawa Aug 14, 2025
c7bc716
fix(rsc): fix custom `root` (#717)
hi-ogawa Aug 14, 2025
d431680
fix(react): respect `reactRefreshHost` option on rolldown-vite (#716)
hi-ogawa Aug 15, 2025
71bb49c
fix(rsc): exclude CSS imports with special queries from automatic inj…
hi-ogawa Aug 15, 2025
d33f37d
refactor(react): simplify rolldown-vite only plugins (#720)
hi-ogawa Aug 15, 2025
a39d837
test(rsc): fix invalid code (#722)
hi-ogawa Aug 15, 2025
e6d7392
docs(rsc): improve plugin-rsc README organization and clarity (#723)
hi-ogawa Aug 16, 2025
1abe044
chore(rsc): fix `examples/basic` on stackblitz (#724)
hi-ogawa Aug 16, 2025
cc1bcdf
chore(rsc): tweak React.cache example (#725)
hi-ogawa Aug 16, 2025
74ec0e0
fix(rsc): keep `import.meta.glob` during scan build for rolldown-vite…
hi-ogawa Aug 16, 2025
ba25233
chore(rsc): use named imports (#727)
hi-ogawa Aug 17, 2025
feb5553
chore: remove vite-plugin-inspect dependency from examples (#730)
hi-ogawa Aug 18, 2025
b49522b
chore(deps): update actions/checkout action to v5 (#731)
renovate[bot] Aug 18, 2025
ba0323c
fix(deps): update all non-major dependencies (#729)
renovate[bot] Aug 18, 2025
fe15467
chore(deps): update amannn/action-semantic-pull-request action to v6 …
renovate[bot] Aug 18, 2025
fd96308
test(rsc): test assets (#733)
hi-ogawa Aug 18, 2025
e2f0c78
fix(react): respect tsconfig jsxImportSource by default (#726)
hi-ogawa Aug 19, 2025
268354a
test(react): update `playground/react-emotion` to tsx and remove `pla…
hi-ogawa Aug 19, 2025
d3934ad
perf(react): skip react compiler when `compilationMode: "annotation"`…
hi-ogawa Aug 19, 2025
126bdb0
feat: set `optimizeDeps.rollupOptions.transform.jsx` instead of `opti…
sapphi-red Aug 19, 2025
2f04aa2
release: plugin-react-oxc@0.4.1
sapphi-red Aug 19, 2025
f21864b
release: plugin-react-swc@4.0.1
sapphi-red Aug 19, 2025
efe4344
release: plugin-react@5.0.1
sapphi-red Aug 19, 2025
ce12544
chore: update lockfile (#738)
hi-ogawa Aug 19, 2025
e1d1eea
release: plugin-rsc@0.4.21
hi-ogawa Aug 19, 2025
5b28ba5
fix(rsc): inject `__vite_rsc_importer_resources` import only once (#742)
hi-ogawa Aug 20, 2025
2640add
fix(rsc): include non-entry optimized modules for `optimizeDeps.exclu…
hi-ogawa Aug 20, 2025
f557503
chore: merge main
sapphi-red Aug 21, 2025
ae697dd
refactor: use self import
sapphi-red Aug 21, 2025
0a6cfdf
refactor(rsc): organize internal plugins (#745)
hi-ogawa Aug 21, 2025
bec6c82
refactor(rsc): remove `__fix_cloudflare` plugin (#746)
hi-ogawa Aug 21, 2025
1ab2666
build: watch `common` package (#748)
sapphi-red Aug 21, 2025
596c76b
fix(rsc): isolate plugin state per plugin instance (#747)
hi-ogawa Aug 21, 2025
232be7b
fix(rsc): handle added/removed `"use client"` during dev (#750)
hi-ogawa Aug 21, 2025
9988f54
refactor(rsc): simplify plugin state for server reference (#751)
hi-ogawa Aug 21, 2025
d2f2e71
fix(rsc): expose only `"use server"` as server functions (#752)
hi-ogawa Aug 21, 2025
7542e6f
refactor(rsc): handle added/removed `"use server"` during dev (#753)
hi-ogawa Aug 21, 2025
08986dd
fix(rsc): relax async function requirement for `"use server"` module …
hi-ogawa Aug 22, 2025
53b3f48
refactor(rsc): organize plugin utils (#755)
hi-ogawa Aug 22, 2025
bffc82e
fix(rsc): ensure `.js` suffix for internal virtual modules (#744)
hi-ogawa Aug 22, 2025
54fa87c
release: plugin-rsc@0.4.22
hi-ogawa Aug 22, 2025
a7ca366
chore(rsc): remove custom `react-dom/server.edge` types (#757)
hi-ogawa Aug 22, 2025
df8b800
chore(rsc): use `prerender` in ssg example (#758)
hi-ogawa Aug 22, 2025
72c7a87
fix(deps): update swc monorepo (#669)
renovate[bot] Aug 22, 2025
af4e16d
fix(rsc): replace `'rolldownVersion' in this.meta` with `'rolldownVer…
Copilot Aug 23, 2025
a46bdf4
test(rsc): test vite 6 (#762)
hi-ogawa Aug 23, 2025
22f6538
chore(rsc): simplify react-router example (#763)
hi-ogawa Aug 23, 2025
e891622
chore(deps): pnpm dedupe (#764)
hi-ogawa Aug 23, 2025
bf512e1
release: plugin-rsc@0.4.23
hi-ogawa Aug 23, 2025
6924db4
chore(rsc): custom client chunks example (#765)
hi-ogawa Aug 23, 2025
c40234e
feat(rsc): ability to merge client reference chunks (#766)
hi-ogawa Aug 24, 2025
41e4bf5
fix(rsc): fix client reference preload when group chunk re-exports cl…
hi-ogawa Aug 24, 2025
c69f0f6
feat(rsc): ability to merge client reference chunks based on server c…
hi-ogawa Aug 24, 2025
d9da80f
refactor(rsc): add `toRelativeId` util (#771)
hi-ogawa Aug 25, 2025
9869e2c
fix(rsc): normalize group chunk virtual id properly (#770)
hi-ogawa Aug 25, 2025
4c4879b
fix(rsc): fix CSS HMR with `?url` (#776)
hi-ogawa Aug 25, 2025
e71da84
test(rsc): organize css tests (#778)
hi-ogawa Aug 25, 2025
8fec8e3
chore(rsc): fix `useBuildAppHook: true` with cloudflare plugin (#780)
hi-ogawa Aug 25, 2025
1a07a8a
chore: remove tsx and use node for release scripts (#777)
hi-ogawa Aug 25, 2025
789e359
refactor(rsc): organize plugin utils (#779)
hi-ogawa Aug 25, 2025
44847c0
fix(deps): update dependency @swc/core to ^1.13.5 (#774)
renovate[bot] Aug 25, 2025
c5ebae2
chore(deps): update amannn/action-semantic-pull-request digest to 48f…
renovate[bot] Aug 25, 2025
9989897
fix(deps): update all non-major dependencies (#773)
renovate[bot] Aug 25, 2025
e202342
release: plugin-rsc@0.4.24
hi-ogawa Aug 25, 2025
e622a6a
test(rsc): test `hydrateRoot(..., { formState })` (#781)
hi-ogawa Aug 26, 2025
c719e5d
perf(react): skip transform hook completely in rolldown-vite in dev i…
sapphi-red Aug 26, 2025
92d7edf
chore: merge main
sapphi-red Aug 26, 2025
af9139f
chore(deps): update `@types/react-dom` to fix `formState` (#782)
hi-ogawa Aug 27, 2025
e3bf733
fix(rsc): optimize `react-dom/static.edge` (#786)
hi-ogawa Aug 27, 2025
2f255ad
fix(rsc): inject `AsyncLocalStorage` global via transform (#785)
hi-ogawa Aug 27, 2025
1f4b4d9
release: plugin-react@5.0.2
sapphi-red Aug 28, 2025
a8dc3fe
fix(rsc): propagate client reference invalidation to server (#788)
hi-ogawa Aug 28, 2025
f335343
release: plugin-rsc@0.4.25
hi-ogawa Aug 28, 2025
95e4091
chore(rsc): typo in viteRscAsyncHooks naming (#793)
StephaneMoyart Aug 28, 2025
8184a23
test: make tests pass
sapphi-red Aug 28, 2025
6de1af5
test: make tests pass
sapphi-red Aug 28, 2025
377a273
feat(rsc): enable server-chunk-based client chunks (#794)
hi-ogawa Aug 29, 2025
d8cfdfa
refactor(rsc): organize internal plugins (#791)
hi-ogawa Aug 29, 2025
907b9d8
docs(rsc): how to use `@vitejs/plugin-rsc` as framework's `dependenci…
hi-ogawa Aug 29, 2025
fab3ccb
chore: update vite and rolldown-vite
sapphi-red Aug 29, 2025
3250231
fix(rsc): use `req.originalUrl` for server handler (#797)
hi-ogawa Aug 29, 2025
3772be1
release: plugin-rsc@0.4.26
hi-ogawa Aug 29, 2025
508bed6
perf: remove unnecessary export checks (#798)
sapphi-red Aug 29, 2025
f9d7cd9
chore: fix type in `README.md` (#804)
Copilot Aug 31, 2025
437bab2
fix(deps): update all non-major dependencies (#809)
renovate[bot] Sep 1, 2025
6e4dfa7
chore(deps): update actions-cool/issues-helper digest to 45d75b6 (#808)
renovate[bot] Sep 1, 2025
07a64c2
feat(rsc): support `UserConfig.rsc: RscPluginOptions` (#810)
hi-ogawa Sep 1, 2025
4da5810
fix(rsc): delay `validateImportPlugin` setup (#813)
hi-ogawa Sep 1, 2025
3969f86
refactor(rsc): simplify `validateImportPlugin` (#814)
hi-ogawa Sep 1, 2025
0a02b83
feat(rsc): enable `buildApp` plugin hook by default for Vite 7 (#815)
hi-ogawa Sep 1, 2025
3568e89
docs(rsc): mention `@vitejs/plugin-rsc/types` (#816)
hi-ogawa Sep 1, 2025
7d7fab8
release: plugin-rsc@0.4.27
hi-ogawa Sep 1, 2025
b81bf6a
feat(rsc): support browser mode build (#801)
hi-ogawa Sep 2, 2025
4672651
test(rsc): test middleware mode (#817)
hi-ogawa Sep 4, 2025
768cfd3
test(rsc): test `useId` (#818)
hi-ogawa Sep 7, 2025
d1627cb
chore: add AGENTS.md documentation for AI agent development guidance …
Copilot Sep 7, 2025
d673dd0
fix(rsc): support `rsc.loadModuleDevProxy` top-level config (#825)
hi-ogawa Sep 8, 2025
6746d3d
release: plugin-rsc@0.4.28
hi-ogawa Sep 8, 2025
afa28f1
fix(deps): update all non-major dependencies (#823)
renovate[bot] Sep 8, 2025
2dd0993
chore(deps): update swc monorepo (#824)
renovate[bot] Sep 8, 2025
f515bd8
fix(rsc): fix build error when entire client reference module is tree…
hi-ogawa Sep 8, 2025
0a8e4dc
feat(rsc): expose `transforms` utils (#828)
hi-ogawa Sep 9, 2025
3122b0d
refactor(rsc): remove top-level `transformHoistInlineDirective` expor…
hi-ogawa Sep 9, 2025
97e733b
release: plugin-rsc@0.4.29
hi-ogawa Sep 9, 2025
9fc18d7
chore(deps): update dependency lint-staged to v16 (#476)
renovate[bot] Sep 9, 2025
9cabda1
docs(rsc): remove unimportant APIs (#830)
hi-ogawa Sep 9, 2025
12b05bb
fix(rsc): `copyPublicDir: false` for server build (#831)
hi-ogawa Sep 9, 2025
da29600
feat(react-swc): set SWC cacheRoot option (#802)
ArnaudBarre Sep 9, 2025
6d6890e
chore(deps): update dependency vite to v7.1.5 [security] (#832)
renovate[bot] Sep 9, 2025
f63bb83
fix(rsc): fix cjs transform to preserve `module.exports` on `require`…
hi-ogawa Sep 10, 2025
3a8b4a9
perf: avoid sourcemap for refresh wrapper injection (#835)
sapphi-red Sep 11, 2025
d21aefa
chore: merge main
sapphi-red Sep 11, 2025
0cf7c94
chore: merge main
sapphi-red Sep 11, 2025
843efd9
fix: merge conflict error
sapphi-red Sep 11, 2025
1caff55
wip: native react refresh wrapper plugin
sapphi-red Sep 11, 2025
fd65b75
wip: native react refresh wrapper plugin
sapphi-red Sep 12, 2025
153cf0e
wip: native react refresh wrapper plugin
sapphi-red Sep 16, 2025
0ee5e7c
wip: native react refresh wrapper plugin
sapphi-red Sep 16, 2025
934f295
wip: native react refresh wrapper plugin
sapphi-red Sep 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ body:
[plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-swc)
- label: |
[plugin-react-oxc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-oxc)
- label: |
[plugin-rsc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-rsc)
- type: textarea
id: bug-description
attributes:
Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ body:
[plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-swc)
- label: |
[plugin-react-oxc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-oxc)
- label: |
[plugin-rsc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-rsc)
- type: textarea
id: feature-description
attributes:
Expand Down
13 changes: 8 additions & 5 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base", "schedule:weekly", "group:allNonMajor"],
"extends": ["config:recommended", "schedule:weekly", "group:allNonMajor"],
"labels": ["dependencies"],
"ignorePaths": ["**/__tests__/**"],
"rangeStrategy": "bump",
"packageRules": [
{
"depTypeList": ["peerDependencies"],
"matchDepTypes": ["peerDependencies"],
"enabled": false,
},
{
"matchFileNames": ["**/react-18/**", "**/compiler-react-18/**"],
"ignoreDeps": ["react", "react-dom", "@types/react", "@types/react-dom"],
},
{
"extends": ["monorepo:swc"],
"groupName": "swc monorepo",
"separateMajorMinor": false,
},
// renovate doesn't properly handle x.x.x-beta-hash-yyyymm version schema
{
"matchPackageNames": [
Expand All @@ -23,16 +28,14 @@
},
{
"matchDepTypes": ["action"],
"excludePackagePrefixes": ["actions/", "github/"],
"pinDigests": true,
"matchPackageNames": ["!actions/{/,}**", "!github/{/,}**"],
},
],
"ignoreDeps": [
// manually bumping
"node",

"generouted", // testing lib shipping JSX (new version ship transpiled JS)

// breaking changes
"source-map", // `source-map:v0.7.0+` needs more investigation
"kill-port", // `kill-port:^2.0.0 has perf issues (#8392)
Expand Down
86 changes: 86 additions & 0 deletions .github/workflows/ci-rsc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: ci-rsc

permissions: {}

on:
workflow_dispatch:
push:
branches:
- main
pull_request:
paths:
- "packages/plugin-rsc/**"
- "pnpm-lock.yaml"
- ".github/workflows/ci-rsc.yml"

concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- run: pnpm i
- run: pnpm build
- run: pnpm -C packages/plugin-rsc tsc
- run: pnpm -C packages/plugin-rsc test

test-e2e:
name: test-rsc (${{ matrix.os }} / ${{ matrix.browser }}) ${{ matrix.rolldown == true && '(rolldown)' || '' }} ${{ matrix.react_version && format('(react-{0})', matrix.react_version) || '' }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
browser: [chromium]
rolldown: [false]
react_version: [""]
include:
- os: ubuntu-latest
browser: firefox
- os: macos-latest
browser: webkit
- os: ubuntu-latest
browser: chromium
rolldown: true
- os: ubuntu-latest
browser: chromium
react_version: canary
- os: ubuntu-latest
browser: chromium
react_version: experimental
fail-fast: false
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- run: pnpm i
- name: install react
if: ${{ matrix.react_version }}
run: |
sed -i "/^overrides:/a\ react: \"${{ matrix.react_version }}\"" pnpm-workspace.yaml
sed -i "/^overrides:/a\ react-dom: \"${{ matrix.react_version }}\"" pnpm-workspace.yaml
sed -i "/^overrides:/a\ react-server-dom-webpack: \"${{ matrix.react_version }}\"" pnpm-workspace.yaml
pnpm i --no-frozen-lockfile
- run: pnpm build
- name: install rolldown
if: ${{ matrix.rolldown }}
run: |
sed -i '/^overrides:/a\ vite: "npm:rolldown-vite@latest"' pnpm-workspace.yaml
pnpm i --no-frozen-lockfile
- run: pnpm -C packages/plugin-rsc exec playwright install ${{ matrix.browser }}
- run: pnpm -C packages/plugin-rsc test-e2e-ci --project=${{ matrix.browser }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-${{ matrix.os }}-${{ matrix.browser }}${{ matrix.rolldown == true && '-rolldown' || '' }}${{ matrix.react_version && format('-react-{0}', matrix.react_version) || '' }}
path: |
packages/plugin-rsc/test-results
if-no-files-found: ignore
20 changes: 17 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
node_version: [18, 20, 22]
node_version: [20, 22, 24]
include:
# Active LTS + other OS
- os: macos-latest
Expand All @@ -41,7 +41,7 @@ jobs:
name: "Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}"
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
Expand Down Expand Up @@ -87,19 +87,33 @@ jobs:
- name: Test serve
run: pnpm run test-serve

- name: Test full bundle mode serve
run: pnpm run test-full-bundle-mode

- name: Test build
run: pnpm run test-build

- name: Test SWC
run: pnpm --filter ./packages/plugin-react-swc run test

- name: Setup rolldown-vite
run: |
sed -i"" -e "s/overrides:/overrides:\n vite: catalog:rolldown-vite/" pnpm-workspace.yaml
pnpm i --no-frozen-lockfile

- name: Test serve (rolldown-vite)
run: pnpm run test-serve

- name: Test build (rolldown-vite)
run: pnpm run test-build

lint:
if: github.repository == 'vitejs/vite-plugin-react'
timeout-minutes: 10
runs-on: ubuntu-latest
name: "Lint: node-20, ubuntu-latest"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0

Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment

name: "Copilot Setup Steps"

on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
copilot-setup-steps:
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: 22
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- run: pnpm i
- run: pnpm exec playwright install chromium
2 changes: 1 addition & 1 deletion .github/workflows/issue-close-require.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
pull-requests: write # for actions-cool/issues-helper to update PRs
steps:
- name: need reproduction
uses: actions-cool/issues-helper@a610082f8ac0cf03e357eb8dd0d5e2ba075e017e # v3
uses: actions-cool/issues-helper@45d75b6cf72bf4f254be6230cb887ad002702491 # v3
with:
actions: "close-issues"
token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/issue-labeled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
steps:
- name: contribution welcome
if: github.event.label.name == 'contribution welcome' || github.event.label.name == 'help wanted'
uses: actions-cool/issues-helper@a610082f8ac0cf03e357eb8dd0d5e2ba075e017e # v3
uses: actions-cool/issues-helper@45d75b6cf72bf4f254be6230cb887ad002702491 # v3
with:
actions: "create-comment, remove-labels"
token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -25,7 +25,7 @@ jobs:

- name: remove pending
if: (github.event.label.name == 'enhancement' || contains(github.event.label.description, '(priority)')) && contains(github.event.issue.labels.*.name, 'pending triage')
uses: actions-cool/issues-helper@a610082f8ac0cf03e357eb8dd0d5e2ba075e017e # v3
uses: actions-cool/issues-helper@45d75b6cf72bf4f254be6230cb887ad002702491 # v3
with:
actions: "remove-labels"
token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -34,7 +34,7 @@ jobs:

- name: need reproduction
if: github.event.label.name == 'need reproduction'
uses: actions-cool/issues-helper@a610082f8ac0cf03e357eb8dd0d5e2ba075e017e # v3
uses: actions-cool/issues-helper@45d75b6cf72bf4f254be6230cb887ad002702491 # v3
with:
actions: "create-comment, remove-labels"
token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:
environment: Release
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0

- name: Set node version to 20
- name: Set node version
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
registry-url: https://registry.npmjs.org/
cache: "pnpm"

Expand Down Expand Up @@ -55,8 +55,17 @@ jobs:
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- if: steps.tag.outputs.isAlpha == 'false'
- if: steps.tag.outputs.isAlpha == 'false' && steps.tag.outputs.pkgName != 'plugin-rsc'
uses: ArnaudBarre/github-release@4fa6eafe8e2449c7c1c5a91ae50de4ee34db0b40 # v1.5.0
with:
path: packages/${{ steps.tag.outputs.pkgName }}/CHANGELOG.md
tag-name: ${{ github.ref_name }}

- if: steps.tag.outputs.isAlpha == 'false' && steps.tag.outputs.pkgName == 'plugin-rsc'
uses: yyx990803/release-tag@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
body: |
Please refer to [CHANGELOG.md](https://github.com/vitejs/vite-plugin-react/blob/${{ github.ref_name }}/packages/${{ steps.tag.outputs.pkgName }}/CHANGELOG.md) for details.
38 changes: 38 additions & 0 deletions .github/workflows/release-continuous.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Preview Publish

on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, labeled]

permissions: {}

jobs:
preview:
if: >
github.repository == 'vitejs/vite-plugin-react' &&
(github.event_name == 'push' ||
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'trigger: preview')))
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Install pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0

- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: pnpm

- name: Install dependencies
run: pnpm install

- name: Build
run: pnpm build

- name: Publish
run: pnpm dlx pkg-pr-new@0.0 publish --pnpm --compact './packages/*' './packages/plugin-react-swc/dist'
2 changes: 1 addition & 1 deletion .github/workflows/semantic-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
pull-requests: read
steps:
- name: Validate PR title
uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5
uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6
with:
subjectPattern: ^(?![A-Z]).+$
subjectPatternError: |
Expand Down
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ hoist-pattern[]=eslint-import-resolver-*
strict-peer-dependencies=false
shell-emulator=true
auto-install-peers=false
link-workspace-packages=true
prefer-workspace-packages=true
25 changes: 25 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# AI Agent Development Guide

This document provides AI-agent-specific guidance for working with the vite-plugin-react monorepo. For comprehensive documentation, see:

- **[README.md](README.md)** - Repository overview and package links
- **[CONTRIBUTING.md](CONTRIBUTING.md)** - Setup, testing, debugging, and contribution guidelines

## Quick Reference for AI Agents

### Repository Navigation

This monorepo contains multiple packages (see [README.md](README.md#packages) for details):

- `packages/plugin-react/` - Main React plugin with Babel
- `packages/plugin-react-swc/` - SWC-based React plugin
- `packages/plugin-rsc/` - React Server Components ([AI guidance](packages/plugin-rsc/AGENTS.md))
- `packages/plugin-react-oxc/` - Deprecated (merged with plugin-react)

### Essential Setup Commands

```bash
pnpm install && pnpm build # Initial setup (see CONTRIBUTING.md for details)
pnpm dev # Watch mode development
pnpm test # Run all tests
```
Loading
Loading