Skip to content

Commit d3d2bc4

Browse files
committed
refactor(rsc): replace raw string code with function string
1 parent a96a6b2 commit d3d2bc4

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

packages/plugin-rsc/src/plugin.ts

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,23 +1009,31 @@ window.__vite_plugin_react_preamble_installed__ = true;
10091009
code += `await import(${JSON.stringify(resolvedEntry.id)});`
10101010
// server css is normally removed via `RemoveDuplicateServerCss` on useEffect.
10111011
// this also makes sure they are removed on hmr in case initial rendering failed.
1012-
code += /* js */ `
1013-
const ssrCss = document.querySelectorAll("link[rel='stylesheet']");
1014-
import.meta.hot.on("vite:beforeUpdate", () => {
1015-
ssrCss.forEach(node => {
1016-
if (node.dataset.precedence?.startsWith("vite-rsc/client-references")) {
1017-
node.remove();
1018-
}
1019-
});
1020-
});
1021-
`
1012+
code += `
1013+
import.meta.hot.on("vite:beforeUpdate", ${() => {
1014+
const nodes = document.querySelectorAll<HTMLElement>(
1015+
"link[rel='stylesheet']",
1016+
)
1017+
nodes.forEach((node) => {
1018+
if (
1019+
node.dataset.precedence?.startsWith(
1020+
'vite-rsc/client-references',
1021+
)
1022+
) {
1023+
node.remove()
1024+
}
1025+
})
1026+
}});
1027+
`
10221028
// close error overlay after syntax error is fixed and hmr is triggered.
10231029
// https://github.com/vitejs/vite/blob/8033e5bf8d3ff43995d0620490ed8739c59171dd/packages/vite/src/client/client.ts#L318-L320
10241030
code += `
1025-
import.meta.hot.on("rsc:update", () => {
1026-
document.querySelectorAll("vite-error-overlay").forEach((n) => n.close())
1027-
});
1028-
`
1031+
import.meta.hot.on("rsc:update", ${() => {
1032+
document
1033+
.querySelectorAll<HTMLDialogElement>('vite-error-overlay')
1034+
.forEach((n) => n.close())
1035+
}});
1036+
`
10291037
return code
10301038
},
10311039
),

0 commit comments

Comments
 (0)