Repository navigation
Conversation
atinux
force-pushed
the
feat/client-bundle-summary
branch
from
November 8, 2026 08:33
18602f5 to
38d07fe
Compare
nuxt buildnuxt build
atinux
force-pushed
the
feat/client-bundle-summary
branch
from
November 8, 2026 08:45
38d07fe to
5ab9fa8
Compare
nuxt buildnuxt build
atinux
force-pushed
the
feat/client-bundle-summary
branch
2 times, most recently
from
November 8, 2026 08:57
aba7cd5 to
71dc0ba
Compare
atinux
force-pushed
the
feat/client-bundle-summary
branch
from
November 8, 2026 09:14
71dc0ba to
2c6edf6
Compare
atinux
force-pushed
the
feat/client-bundle-summary
branch
from
November 9, 2026 22:38
2c6edf6 to
893a812
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Stacked on #1662 (quieter server build output). Review that one first; this diff only adds the client summary on top of it.
After
nuxt build, Vite lists every client file with a hashed name (_nuxt/IS_fkJ2V.js 117.31 kB). That tells you nothing about why the bundle is that size: which packages are in it, what every page has to download, or what to change to make it smaller.What changed
nuxt build(andnuxt generate) now end with a app (client) summary:entry,every page,lazy app/pages/ws.vue,shared by N chunks) and its main contentsnpx nuxt-bundle-analyzerfor the full picturereportCompressedSize: false), since the summary computes gzip itself.vite:extendConfigthat reads the Rolldown bundle ingenerateBundle, along withgetModuleInfoimporters. It does nothing with--logLevel silentor with webpack/rspack.Evidence
The playground,
nuxt build, exit code 0, client section only (the Nitro part comes from #1662).Before (on
main; #1662 doesn't touch the client output):After:
A throwaway app with
yamlimported inapp.vue,acornin a<LazyEditor>component, and twosemverversions (7.8.5 directly, 6.3.1 through a locallegacypackage), coloured, full build output:Also checked:
playground-nightly(Nuxt 5 nightly, where Nitro runs the Vite environment build): the summary prints and the client file list is hidden.pnpm test:types,eslintandknippass.client-bundle.spec.tstests pass: the initial-load set, package attribution including nested copies, duplicate importers, the hint rules, and row truncation.env -u NO_COLOR TERM=xterm-256color pnpm exec vitest run packages: 154 files, 2183 tests passed).Details
customLoggerand drops the messages that name a client file collected ingenerateBundle. Matching on file names rather than an output directory works whetherbuildDiris.nuxtornode_modules/.cache/nuxt/.nuxt, and with Nitro writing straight to.output/public. Server output goes through the same logger and is left alone.@vue/*show as onevuerow?ELI5
When you build a Nuxt app, the CLI now tells you how much JavaScript your visitors download, which libraries that weight comes from, and which ones you could load later or deduplicate to make pages lighter.