Skip to content

Commit ce83f40

Browse files
committed
chore: comment
1 parent 4f1d8dc commit ce83f40

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

packages/plugin-rsc/src/plugin.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,8 @@ class RscPluginManager {
9393
buildAssetsManifest: AssetsManifest | undefined
9494
isScanBuild: boolean = false
9595
clientReferenceMetaMap: Record<string, ClientReferenceMeta> = {}
96-
clientReferenceGroupMap: Record<string, ClientReferenceMeta[]> = {}
96+
clientReferenceGroups: Record</* group name*/ string, ClientReferenceMeta[]> =
97+
{}
9798
serverReferenceMetaMap: Record<string, ServerRerferenceMeta> = {}
9899
serverResourcesMetaMap: Record<string, { key: string }> = {}
99100

@@ -1122,9 +1123,11 @@ function vitePluginUseClient(
11221123
},
11231124
load(id) {
11241125
if (id === '\0virtual:vite-rsc/client-references') {
1126+
// not used during dev
11251127
if (this.environment.mode === 'dev') {
11261128
return { code: `export default {}`, map: null }
11271129
}
1130+
// no custom chunking needed for scan
11281131
if (manager.isScanBuild) {
11291132
let code = ``
11301133
for (const meta of Object.values(manager.clientReferenceMetaMap)) {
@@ -1133,16 +1136,18 @@ function vitePluginUseClient(
11331136
return { code, map: null }
11341137
}
11351138
let code = ''
1136-
manager.clientReferenceGroupMap = {}
1139+
// group client reference modules by `clientChunks` option
1140+
manager.clientReferenceGroups = {}
11371141
for (const meta of Object.values(manager.clientReferenceMetaMap)) {
11381142
const name =
11391143
useClientPluginOptions.clientChunks?.(meta.importId) ||
1144+
// use original module id as name by default
11401145
normalizePath(path.relative(manager.config.root, meta.importId))
1141-
const group = (manager.clientReferenceGroupMap[name] ??= [])
1146+
const group = (manager.clientReferenceGroups[name] ??= [])
11421147
group.push(meta)
11431148
}
11441149
for (const [name, metas] of Object.entries(
1145-
manager.clientReferenceGroupMap,
1150+
manager.clientReferenceGroups,
11461151
)) {
11471152
const groupVirtual = `virtual:vite-rsc/client-references/group/${name}`
11481153
for (const meta of metas) {
@@ -1157,14 +1162,16 @@ function vitePluginUseClient(
11571162
code = `export default {${code}};\n`
11581163
return { code, map: null }
11591164
}
1165+
// re-export client reference modules from each group
11601166
if (id.startsWith('\0virtual:vite-rsc/client-references/group/')) {
11611167
const name = id.slice(
11621168
'\0virtual:vite-rsc/client-references/group/'.length,
11631169
)
1164-
const metas = manager.clientReferenceGroupMap[name]
1170+
const metas = manager.clientReferenceGroups[name]
11651171
assert(metas, `unknown client reference group: ${name}`)
11661172
let code = ``
11671173
for (const meta of metas) {
1174+
// pick only rendredExports to tree-shake unused client references
11681175
const exports = meta.renderedExports
11691176
.map((name) => `${name}: import_${meta.referenceKey}.${name},\n`)
11701177
.sort()

0 commit comments

Comments
 (0)