Skip to content
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

Update to make sure AMP only bundles are always removed in production #11527

Merged
merged 1 commit into from
Apr 1, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Mar 31, 2020

In development we require the page's bundle in the hot-reloader to check the page config and ensure we 404 properly for AMP only client bundles. This makes sure we also use the page config from requiring the bundle during a production build to also make sure we remove any AMP only client bundles.

This fixes development and production mismatching behavior although was uncovered from the next-page-config babel transform not detecting the below export syntax. Since the transform there is mainly an optimization at this point and no longer required for detecting it can be updated in a follow-up PR after deciding which syntaxes should be supported for static analysis other than the normal export const config = {...}.

const config = {...}
export { config }

Closes: #11521

@ijjk ijjk added this to the 9.3.4 milestone Mar 31, 2020
@ijjk
Copy link
Member Author

ijjk commented Mar 31, 2020

Stats from current PR

Default Server Mode
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
buildDuration 9.5s 9.9s ⚠️ +395ms
nodeModulesSize 47.7 MB 47.7 MB ⚠️ +800 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
main-HASH.js gzip 6.25 kB 6.25 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.3 kB 56.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle 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 ijjk/next.js fix/amp-prod-bundle Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
_app.module.js gzip 594 B 594 B
_error.module.js gzip 2.08 kB 2.08 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.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
index.html gzip 920 B 920 B
link.html gzip 928 B 928 B
withRouter.html gzip 916 B 916 B
Overall change 2.76 kB 2.76 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
buildDuration 10.6s 10.5s -142ms
nodeModulesSize 47.7 MB 47.7 MB ⚠️ +800 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
main-HASH.js gzip 6.25 kB 6.25 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.3 kB 56.3 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle 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 ijjk/next.js fix/amp-prod-bundle Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle Change
_app.module.js gzip 594 B 594 B
_error.module.js gzip 2.08 kB 2.08 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.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/amp-prod-bundle 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 ijjk/next.js fix/amp-prod-bundle Change
_error.js gzip 232 kB 232 kB ⚠️ +273 B
404.html gzip 1.32 kB 1.32 kB
hooks.html gzip 960 B 960 B
index.js gzip 232 kB 232 kB ⚠️ +259 B
link.js gzip 243 kB 243 kB ⚠️ +68 B
routerDirect.js gzip 240 kB 241 kB ⚠️ +217 B
withRouter.js gzip 241 kB 241 kB ⚠️ +52 B
Overall change 1.19 MB 1.19 MB ⚠️ +869 B

@timneutkens timneutkens merged commit d61eced into vercel:canary Apr 1, 2020
@timneutkens timneutkens deleted the fix/amp-prod-bundle branch April 1, 2020 08:24
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Links from non-AMP pages to AMP pages causes broken pages
2 participants