-
Notifications
You must be signed in to change notification settings - Fork 27k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: adding bundle analyzer options #11066
Conversation
Feature Request: The previous version of bundle analyzer had the configuration at the nextConfig object. Adding this to the initializer to accept custom configuration for webpack-bundle-analyzer
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Increase detected
|
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
buildDuration | 11.2s | 11.2s | |
nodeModulesSize | 56.6 MB | 56.6 MB | ✓ |
Client Bundles (main, webpack, commons)
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
main-HASH.js gzip | 5.77 kB | 5.77 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..8eb0.js gzip | 9.78 kB | 9.78 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 55.4 kB | 55.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 26.2 kB | 26.2 kB | ✓ |
Overall change | 26.2 kB | 26.2 kB | ✓ |
Client Pages
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_app.js gzip | 1.09 kB | 1.09 kB | ✓ |
_error.js gzip | 2.96 kB | 2.96 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 1.89 kB | 1.89 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.38 kB | 7.38 kB | ✓ |
Client Pages Modern
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.06 kB | 2.06 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.26 kB | 5.26 kB | ✓ |
Client Build Manifests
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_error.js gzip | 293 kB | 293 kB | -104 B |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 957 B | 957 B | ✓ |
index.js gzip | 293 kB | 294 kB | |
link.js gzip | 301 kB | 301 kB | |
routerDirect.js gzip | 300 kB | 300 kB | -67 B |
withRouter.js gzip | 300 kB | 300 kB | -235 B |
Overall change | 1.49 MB | 1.49 MB |
Stats from current PRDefault Server ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless Mode (Increase detected
|
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
buildDuration | 10s | 10.1s | |
nodeModulesSize | 56.6 MB | 56.6 MB | ✓ |
Client Bundles (main, webpack, commons)
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
main-HASH.js gzip | 5.77 kB | 5.77 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..8eb0.js gzip | 9.78 kB | 9.78 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 55.4 kB | 55.4 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 26.2 kB | 26.2 kB | ✓ |
Overall change | 26.2 kB | 26.2 kB | ✓ |
Client Pages
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_app.js gzip | 1.09 kB | 1.09 kB | ✓ |
_error.js gzip | 2.96 kB | 2.96 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 1.89 kB | 1.89 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.38 kB | 7.38 kB | ✓ |
Client Pages Modern
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.06 kB | 2.06 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.26 kB | 5.26 kB | ✓ |
Client Build Manifests
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | andrescabana86/next.js patch-1 | Change | |
---|---|---|---|
_error.js gzip | 293 kB | 293 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 957 B | 957 B | ✓ |
index.js gzip | 294 kB | 293 kB | -278 B |
link.js gzip | 301 kB | 301 kB | |
routerDirect.js gzip | 300 kB | 300 kB | |
withRouter.js gzip | 299 kB | 300 kB | |
Overall change | 1.49 MB | 1.49 MB |
This was a conscious choice to not allow configuring the plugin as we'll likely change the bundle analyzer soon to be more geared towards Next.js output. If we were to allow configuration now that change would be breaking without a good reason. |
agreed with that, and I will close this PR and wait for a better solution In the mean time, @timneutkens... could you please tell me how I can implement this in my project? I tried following this documentation without success. More information about how to implement it in a github private project would be really helpful kind regards |
It's custom infrastructure that is probably not super useful in your own application as it's used to track Next.js internals. @ijjk can provide some pointers I guess.
I'll close the PR 👍 |
I wanted to return to this thread to share what we did to help improve our page developers' experience, as it pertains to studying bundle stats. We can now:
Now, individual page developers can use http://webpack.github.io/analyse and & https://chrisbateman.github.io/webpack-visualizer/, and be able to take corrective action. Without this ability to reduce stats.json,
|
Feature Request:
The previous version of bundle analyzer had the configuration at the nextConfig object.
Adding this to the initializer to accept custom configuration for webpack-bundle-analyzer
The bundle analyzer will accept custom options. This is an example: