Skip to content

Commit 170f74e

Browse files
Copilothi-ogawa
andauthored
feat(rsc): show logs for build steps (#936)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hi-ogawa <4232207+hi-ogawa@users.noreply.github.com> Co-authored-by: Hiroshi Ogawa <hi.ogawa.zz@gmail.com>
1 parent 202ed19 commit 170f74e

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

packages/plugin-rsc/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
"@types/react-dom": "^19.2.2",
5959
"@vitejs/plugin-react": "workspace:*",
6060
"@vitejs/test-dep-cjs-and-esm": "./test-dep/cjs-and-esm",
61+
"picocolors": "^1.1.1",
6162
"react": "^19.2.0",
6263
"react-dom": "^19.2.0",
6364
"react-server-dom-webpack": "^19.2.0",

packages/plugin-rsc/src/plugin.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,19 +271,28 @@ export default function vitePluginRsc(
271271
const manager = new RscPluginManager()
272272

273273
const buildApp: NonNullable<BuilderOptions['buildApp']> = async (builder) => {
274+
const colors = await import('picocolors')
275+
const logStep = (msg: string) => {
276+
builder.config.logger.info(colors.blue(msg))
277+
}
278+
274279
// no-ssr case
275280
// rsc -> client -> rsc -> client
276281
if (!builder.environments.ssr?.config.build.rollupOptions.input) {
277282
manager.isScanBuild = true
278283
builder.environments.rsc!.config.build.write = false
279284
builder.environments.client!.config.build.write = false
285+
logStep('[1/4] analyze client references...')
280286
await builder.build(builder.environments.rsc!)
287+
logStep('[2/4] analyze server references...')
281288
await builder.build(builder.environments.client!)
282289
manager.isScanBuild = false
283290
builder.environments.rsc!.config.build.write = true
284291
builder.environments.client!.config.build.write = true
292+
logStep('[3/4] build rsc environment...')
285293
await builder.build(builder.environments.rsc!)
286294
manager.stabilize()
295+
logStep('[4/4] build client environment...')
287296
await builder.build(builder.environments.client!)
288297
writeAssetsManifest(['rsc'])
289298
return
@@ -293,14 +302,19 @@ export default function vitePluginRsc(
293302
manager.isScanBuild = true
294303
builder.environments.rsc!.config.build.write = false
295304
builder.environments.ssr!.config.build.write = false
305+
logStep('[1/5] analyze client references...')
296306
await builder.build(builder.environments.rsc!)
307+
logStep('[2/5] analyze server references...')
297308
await builder.build(builder.environments.ssr!)
298309
manager.isScanBuild = false
299310
builder.environments.rsc!.config.build.write = true
300311
builder.environments.ssr!.config.build.write = true
312+
logStep('[3/5] build rsc environment...')
301313
await builder.build(builder.environments.rsc!)
302314
manager.stabilize()
315+
logStep('[4/5] build client environment...')
303316
await builder.build(builder.environments.client!)
317+
logStep('[5/5] build ssr environment...')
304318
await builder.build(builder.environments.ssr!)
305319
writeAssetsManifest(['ssr', 'rsc'])
306320
}

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)