Skip to content

Commit f7ea163

Browse files
hi-ogawaclaude
andauthored
refactor(plugin-rsc): convert hooks to nested handler form (#1093)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent a57f2dd commit f7ea163

File tree

7 files changed

+675
-607
lines changed

7 files changed

+675
-607
lines changed

packages/plugin-rsc/src/core/plugin.ts

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,28 @@ export default function vitePluginRscCore(): Plugin[] {
44
return [
55
{
66
name: 'rsc:patch-react-server-dom-webpack',
7-
transform(originalCode, _id, _options) {
8-
let code = originalCode
9-
if (code.includes('__webpack_require__.u')) {
10-
// avoid accessing `__webpack_require__` on import side effect
11-
// https://github.com/facebook/react/blob/a9bbe34622885ef5667d33236d580fe7321c0d8b/packages/react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpackBrowser.js#L16-L17
12-
code = code.replaceAll('__webpack_require__.u', '({}).u')
13-
}
7+
transform: {
8+
handler(originalCode, _id, _options) {
9+
let code = originalCode
10+
if (code.includes('__webpack_require__.u')) {
11+
// avoid accessing `__webpack_require__` on import side effect
12+
// https://github.com/facebook/react/blob/a9bbe34622885ef5667d33236d580fe7321c0d8b/packages/react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpackBrowser.js#L16-L17
13+
code = code.replaceAll('__webpack_require__.u', '({}).u')
14+
}
1415

15-
// the existance of `__webpack_require__` global can break some packages
16-
// https://github.com/TooTallNate/node-bindings/blob/c8033dcfc04c34397384e23f7399a30e6c13830d/bindings.js#L90-L94
17-
if (code.includes('__webpack_require__')) {
18-
code = code.replaceAll('__webpack_require__', '__vite_rsc_require__')
19-
}
16+
// the existance of `__webpack_require__` global can break some packages
17+
// https://github.com/TooTallNate/node-bindings/blob/c8033dcfc04c34397384e23f7399a30e6c13830d/bindings.js#L90-L94
18+
if (code.includes('__webpack_require__')) {
19+
code = code.replaceAll(
20+
'__webpack_require__',
21+
'__vite_rsc_require__',
22+
)
23+
}
2024

21-
if (code !== originalCode) {
22-
return { code, map: null }
23-
}
25+
if (code !== originalCode) {
26+
return { code, map: null }
27+
}
28+
},
2429
},
2530
},
2631
{

0 commit comments

Comments
 (0)