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

Allow custom amp validation #9191

Merged
merged 20 commits into from
Nov 26, 2019

Conversation

yosuke-furukawa
Copy link
Contributor

ref: #9176

This PR resolves #9176 .

usage is here.

// next.config.js
module.exports = {
  amp: {
    // pass custom validator. if specified, amphtml-validator could use custom validation script. 
    validator: "./validator_minified.js"
  }
};

@ijjk
Copy link
Member

ijjk commented Oct 26, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 16.8s 17.3s ⚠️ +497ms
nodeModulesSize 48.7 MB 48.7 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 16.8s 17.3s ⚠️ +542ms
nodeModulesSize 48.7 MB 48.7 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 241 kB 241 kB
_error.js gzip 64.3 kB 64.3 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.4 kB 64.4 kB
link.js 273 kB 273 kB
link.js gzip 73.4 kB 73.4 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.4 kB 71.4 kB
withRouter.js 266 kB 266 kB
withRouter.js gzip 71.5 kB 71.5 kB
Overall change 1.29 MB 1.29 MB

Commit: 0e88207

@ijjk
Copy link
Member

ijjk commented Oct 28, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 17.1s 17.2s ⚠️ +134ms
nodeModulesSize 48.5 MB 48.5 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 17.6s 17.5s -110ms
nodeModulesSize 48.5 MB 48.5 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 241 kB 241 kB
_error.js gzip 64.3 kB 64.3 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.4 kB 64.4 kB
link.js 273 kB 273 kB
link.js gzip 73.4 kB 73.4 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.4 kB 71.4 kB
withRouter.js 266 kB 266 kB
withRouter.js gzip 71.5 kB 71.5 kB
Overall change 1.29 MB 1.29 MB

Commit: 69086dd

@ijjk
Copy link
Member

ijjk commented Oct 29, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 16.9s 16.9s ⚠️ +24ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 17.8s 17.7s -60ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB
link.js 274 kB 274 kB
link.js gzip 73.4 kB 73.4 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.5 kB 71.5 kB
withRouter.js 267 kB 267 kB
withRouter.js gzip 71.6 kB 71.6 kB
Overall change 1.29 MB 1.29 MB

Commit: 97dbedb

@ijjk
Copy link
Member

ijjk commented Oct 29, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15s 14.7s -277ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15.3s 15.5s ⚠️ +195ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB
link.js 274 kB 274 kB
link.js gzip 73.4 kB 73.4 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.5 kB 71.5 kB
withRouter.js 267 kB 267 kB
withRouter.js gzip 71.6 kB 71.6 kB
Overall change 1.29 MB 1.29 MB

Commit: a9cb552

@ijjk
Copy link
Member

ijjk commented Oct 30, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15.8s 16.2s ⚠️ +442ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.85 kB 5.85 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..63e75d588.js 19.7 kB 19.7 kB
16b1a7225520..d588.js gzip 7.23 kB 7.23 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..51.module.js 15.8 kB 15.8 kB
16b1a7225520..dule.js gzip 6.06 kB 6.06 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 199 B 199 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 210 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 16.6s 16.2s -414ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.85 kB 5.85 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..63e75d588.js 19.7 kB 19.7 kB
16b1a7225520..d588.js gzip 7.23 kB 7.23 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..51.module.js 15.8 kB 15.8 kB
16b1a7225520..dule.js gzip 6.06 kB 6.06 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 199 B 199 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 210 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB
link.js 274 kB 274 kB
link.js gzip 73.5 kB 73.5 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.5 kB 71.5 kB
withRouter.js 267 kB 267 kB
withRouter.js gzip 71.6 kB 71.6 kB
Overall change 1.29 MB 1.29 MB

Commit: 3da2929

@ijjk
Copy link
Member

ijjk commented Oct 30, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15.6s 15.8s ⚠️ +188ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..63e75d588.js 19.7 kB 19.7 kB
16b1a7225520..d588.js gzip 7.23 kB 7.23 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..51.module.js 15.8 kB 15.8 kB
16b1a7225520..dule.js gzip 6.06 kB 6.06 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 199 B 199 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 210 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 16.3s 16.3s ⚠️ +11ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..63e75d588.js 19.7 kB 19.7 kB
16b1a7225520..d588.js gzip 7.23 kB 7.23 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..51.module.js 15.8 kB 15.8 kB
16b1a7225520..dule.js gzip 6.06 kB 6.06 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 199 B 199 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 210 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB
link.js 274 kB 274 kB
link.js gzip 73.5 kB 73.5 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.5 kB 71.5 kB
withRouter.js 267 kB 267 kB
withRouter.js gzip 71.6 kB 71.6 kB
Overall change 1.29 MB 1.29 MB

Commit: 327bda0

@ijjk
Copy link
Member

ijjk commented Nov 1, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 13.9s 14.5s ⚠️ +576ms
nodeModulesSize 48.5 MB 48.5 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..f81b4213a.js 28.6 kB 28.6 kB
de003c3a9d30..213a.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..82.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.68 kB 8.68 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.3s 14.3s -39ms
nodeModulesSize 48.5 MB 48.5 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..f81b4213a.js 28.6 kB 28.6 kB
de003c3a9d30..213a.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..82.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.68 kB 8.68 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 246 kB 246 kB
_error.js gzip 65.4 kB 65.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 247 kB 247 kB
index.js gzip 65.5 kB 65.5 kB
link.js 279 kB 279 kB
link.js gzip 74.4 kB 74.4 kB
routerDirect.js 272 kB 272 kB
routerDirect.js gzip 72.5 kB 72.5 kB
withRouter.js 272 kB 272 kB
withRouter.js gzip 72.6 kB 72.6 kB
Overall change 1.32 MB 1.32 MB

Commit: ccbb6cf

@ijjk
Copy link
Member

ijjk commented Nov 3, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14s 14.1s ⚠️ +47ms
nodeModulesSize 48.6 MB 48.6 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.03 kB 1.03 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.11 kB 1.11 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.5s 14.5s ⚠️ +40ms
nodeModulesSize 48.6 MB 48.6 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 248 kB 248 kB
_error.js gzip 65.6 kB 65.6 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 248 kB 248 kB
index.js gzip 65.8 kB 65.8 kB
link.js 280 kB 280 kB
link.js gzip 74.7 kB 74.7 kB
routerDirect.js 273 kB 273 kB
routerDirect.js gzip 72.8 kB 72.8 kB
withRouter.js 273 kB 273 kB
withRouter.js gzip 72.9 kB 72.9 kB
Overall change 1.33 MB 1.33 MB

Commit: 5ec434b

@yosuke-furukawa
Copy link
Contributor Author

Does anyone remind this PR?
We really need this option to create our application.

@ijjk
Copy link
Member

ijjk commented Nov 7, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 13.5s 13.3s -130ms
nodeModulesSize 49 MB 49 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.89 kB 5.89 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.31 kB 5.31 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 8.14 kB 8.14 kB
polyfills-HASH.js gzip 2.76 kB 2.76 kB
Overall change 8.14 kB 8.14 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.03 kB 1.03 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.11 kB 1.11 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 13.8s 13.7s -68ms
nodeModulesSize 49 MB 49 MB ⚠️ +416 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.89 kB 5.89 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.31 kB 5.31 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 8.14 kB 8.14 kB
polyfills-HASH.js gzip 2.76 kB 2.76 kB
Overall change 8.14 kB 8.14 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 248 kB 248 kB
_error.js gzip 65.6 kB 65.6 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 248 kB 248 kB
index.js gzip 65.8 kB 65.8 kB
link.js 280 kB 280 kB
link.js gzip 74.7 kB 74.7 kB
routerDirect.js 273 kB 273 kB
routerDirect.js gzip 72.8 kB 72.8 kB
withRouter.js 273 kB 273 kB
withRouter.js gzip 72.9 kB 72.9 kB
Overall change 1.33 MB 1.33 MB

Commit: bdcb615

@timneutkens
Copy link
Member

I'd be fine with landing this under experimental flag. So that we can remove it later on if there's a better solution.

module.exports = {
  experimental: {
    amp: {
	  validator: './path'
    }
  }
}

@yosuke-furukawa
Copy link
Contributor Author

fixed! Thank you for your review @timneutkens

@ijjk
Copy link
Member

ijjk commented Nov 23, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 13.8s 13.8s ⚠️ +42ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +147 B
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 14.9 kB -3.04 kB
main-HASH.js gzip 6.33 kB 5.12 kB -1.21 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB N/A N/A
16b1a7225520..c08d.js gzip 7.35 kB N/A N/A
4952ddcd88e7..49d7903c2.js 9.6 kB N/A N/A
4952ddcd88e7..03c2.js gzip 3.76 kB N/A N/A
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB N/A N/A
de003c3a9d30..82eb.js gzip 10.7 kB N/A N/A
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
16b1a7225520..b3f403e8a.js N/A 19.8 kB N/A
16b1a7225520..3e8a.js gzip N/A 7.28 kB N/A
314e4c089430..de6eb480f.js N/A 7.9 kB N/A
314e4c089430..480f.js gzip N/A 3.31 kB N/A
de003c3a9d30..39988e4af.js N/A 33.1 kB N/A
de003c3a9d30..e4af.js gzip N/A 12.3 kB N/A
Overall change 213 kB 213 kB -3.04 kB
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB ⚠️ +12 B
main-HASH.module.js gzip 5.3 kB 5.31 kB ⚠️ +9 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB N/A N/A
16b1a7225520..dule.js gzip 8.14 kB N/A N/A
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
16b1a7225520..d8.module.js N/A 16 kB N/A
16b1a7225520..dule.js gzip N/A 6.17 kB N/A
Overall change 196 kB 191 kB ⚠️ +12 B
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 7.71 kB ⚠️ +4.78 kB
_app.js gzip 1.32 kB 3.22 kB ⚠️ +1.9 kB
_error.js 13.2 kB 14.9 kB ⚠️ +1.7 kB
_error.js gzip 5.1 kB 5.57 kB ⚠️ +475 B
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 4.05 kB -2.7 kB
link.js gzip 2.88 kB 1.81 kB -1.06 kB
routerDirect.js 413 B 411 B -2 B
routerDirect.js gzip 285 B 283 B -2 B
withRouter.js 423 B 421 B -2 B
withRouter.js gzip 284 B 282 B -2 B
Overall change 26 kB 29.7 kB ⚠️ +3.77 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 353 B ⚠️ +109 B
_buildManifest.js gzip 201 B 259 B ⚠️ +58 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 209 B ⚠️ +1 B
Overall change 495 B 604 B ⚠️ +109 B
Rendered Page Sizes Overall decrease ✓
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 3.9 kB -154 B
index.html gzip 1.04 kB 1.01 kB -23 B
link.html 4.58 kB 4.58 kB
link.html gzip 1.12 kB 1.14 kB ⚠️ +24 B
withRouter.html 4.59 kB 4.43 kB -154 B
withRouter.html gzip 1.1 kB 1.09 kB -19 B
Overall change 13.2 kB 12.9 kB -308 B

Diffs

Diff for main-HASH.js
@@ -1,77 +1,5 @@
 (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[13],{
 
-/***/ "+oT+":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Promise = __webpack_require__("eVuF");
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
-
-/***/ }),
-
-/***/ "+plK":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("ApPD");
-module.exports = __webpack_require__("WEpk").Object.getPrototypeOf;
-
-
-/***/ }),
-
-/***/ "/+P4":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Object$getPrototypeOf = __webpack_require__("Bhuq");
-
-var _Object$setPrototypeOf = __webpack_require__("TRZx");
-
-function _getPrototypeOf(o) {
-  module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {
-    return o.__proto__ || _Object$getPrototypeOf(o);
-  };
-  return _getPrototypeOf(o);
-}
-
-module.exports = _getPrototypeOf;
-
-/***/ }),
-
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -137,38 +65,6 @@ exports.DataManager = DataManager;
 
 /***/ }),
 
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
-
-
-/***/ }),
-
-/***/ "ApPD":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = __webpack_require__("JB68");
-var $getPrototypeOf = __webpack_require__("U+KD");
-
-__webpack_require__("zn7N")('getPrototypeOf', function () {
-  return function getPrototypeOf(it) {
-    return $getPrototypeOf(toObject(it));
-  };
-});
-
-
-/***/ }),
-
 /***/ "BMP1":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -186,13 +82,6 @@ window.next = next;
 
 /***/ }),
 
-/***/ "Bhuq":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("+plK");
-
-/***/ }),
-
 /***/ "DqTX":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -437,7 +326,7 @@ if (!window.Promise) {
 
 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.1.5-canary.4";
+var version = "9.1.4-canary.3";
 exports.version = version;
 var props = data.props,
     err = data.err,
@@ -513,7 +402,7 @@ function (_react$default$Compon) {
       // If it's a dynamic route or has a querystring
 
 
-      if (data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search)) {
+      if (data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search || data.skeleton)) {
         // update query on mount for exported pages
         router.replace(router.pathname + '?' + (0, _querystring.stringify)((0, _extends2["default"])({}, router.query, {}, (0, _querystring.parse)(location.search.substr(1)))), asPath, {
           // WARNING: `_h` is an internal option for handing Next.js
@@ -1003,21 +892,6 @@ function _doRender() {
 
 /***/ }),
 
-/***/ "K47E":
-/***/ (function(module, exports) {
-
-function _assertThisInitialized(self) {
-  if (self === void 0) {
-    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-  }
-
-  return self;
-}
-
-module.exports = _assertThisInitialized;
-
-/***/ }),
-
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1025,46 +899,6 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
-/***/ "N9n2":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Object$create = __webpack_require__("SqZg");
-
-var setPrototypeOf = __webpack_require__("vjea");
-
-function _inherits(subClass, superClass) {
-  if (typeof superClass !== "function" && superClass !== null) {
-    throw new TypeError("Super expression must either be null or a function");
-  }
-
-  subClass.prototype = _Object$create(superClass && superClass.prototype, {
-    constructor: {
-      value: subClass,
-      writable: true,
-      configurable: true
-    }
-  });
-  if (superClass) setPrototypeOf(subClass, superClass);
-}
-
-module.exports = _inherits;
-
-/***/ }),
-
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1080,158 +914,6 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1243,25 +925,6 @@ $export($export.P + $export.R, 'Map', { toJSON: __webpack_require__("8iia")('Map
 
 /***/ }),
 
-/***/ "ZDA2":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _typeof = __webpack_require__("iZP3");
-
-var assertThisInitialized = __webpack_require__("K47E");
-
-function _possibleConstructorReturn(self, call) {
-  if (call && (_typeof(call) === "object" || typeof call === "function")) {
-    return call;
-  }
-
-  return assertThisInitialized(self);
-}
-
-module.exports = _possibleConstructorReturn;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
Diff for main-HASH.module.js
@@ -341,7 +341,7 @@ if (!window.Promise) {
 
 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.1.5-canary.4";
+var version = "9.1.4-canary.3";
 exports.version = version;
 var {
   props,
@@ -403,7 +403,7 @@ class Container extends _react.default.Component {
     // If it's a dynamic route or has a querystring
 
 
-    if (data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search)) {
+    if (data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search || data.skeleton)) {
       // update query on mount for exported pages
       router.replace(router.pathname + '?' + (0, _querystring.stringify)((0, _extends2.default)({}, router.query, {}, (0, _querystring.parse)(location.search.substr(1)))), asPath, {
         // WARNING: `_h` is an internal option for handing Next.js
Diff for _app.js
@@ -1,47 +1,14 @@
 (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
 
-/***/ "+oT+":
+/***/ "+SFK":
 /***/ (function(module, exports, __webpack_require__) {
 
-var _Promise = __webpack_require__("eVuF");
+__webpack_require__("AUvm");
+__webpack_require__("wgeU");
+__webpack_require__("adOz");
+__webpack_require__("dl0q");
+module.exports = __webpack_require__("WEpk").Symbol;
 
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
-  try {
-    var info = gen[key](arg);
-    var value = info.value;
-  } catch (error) {
-    reject(error);
-    return;
-  }
-
-  if (info.done) {
-    resolve(value);
-  } else {
-    _Promise.resolve(value).then(_next, _throw);
-  }
-}
-
-function _asyncToGenerator(fn) {
-  return function () {
-    var self = this,
-        args = arguments;
-    return new _Promise(function (resolve, reject) {
-      var gen = fn.apply(self, args);
-
-      function _next(value) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
-      }
-
-      function _throw(err) {
-        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
-      }
-
-      _next(undefined);
-    });
-  };
-}
-
-module.exports = _asyncToGenerator;
 
 /***/ }),
 
@@ -72,6 +39,296 @@ module.exports = _getPrototypeOf;
 
 /***/ }),
 
+/***/ "2Nb0":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("FlQf");
+__webpack_require__("bBy9");
+module.exports = __webpack_require__("zLkG").f('iterator');
+
+
+/***/ }),
+
+/***/ "A5Xg":
+/***/ (function(module, exports, __webpack_require__) {
+
+// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
+var toIObject = __webpack_require__("NsO/");
+var gOPN = __webpack_require__("ar/p").f;
+var toString = {}.toString;
+
+var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
+  ? Object.getOwnPropertyNames(window) : [];
+
+var getWindowNames = function (it) {
+  try {
+    return gOPN(it);
+  } catch (e) {
+    return windowNames.slice();
+  }
+};
+
+module.exports.f = function getOwnPropertyNames(it) {
+  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
+};
+
+
+/***/ }),
+
+/***/ "AUvm":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+// ECMAScript 6 symbols shim
+var global = __webpack_require__("5T2Y");
+var has = __webpack_require__("B+OT");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var $export = __webpack_require__("Y7ZC");
+var redefine = __webpack_require__("kTiW");
+var META = __webpack_require__("6/1s").KEY;
+var $fails = __webpack_require__("KUxP");
+var shared = __webpack_require__("29s/");
+var setToStringTag = __webpack_require__("RfKB");
+var uid = __webpack_require__("YqAc");
+var wks = __webpack_require__("UWiX");
+var wksExt = __webpack_require__("zLkG");
+var wksDefine = __webpack_require__("Zxgi");
+var enumKeys = __webpack_require__("R+7+");
+var isArray = __webpack_require__("kAMH");
+var anObject = __webpack_require__("5K7Z");
+var isObject = __webpack_require__("93I4");
+var toObject = __webpack_require__("JB68");
+var toIObject = __webpack_require__("NsO/");
+var toPrimitive = __webpack_require__("G8Mo");
+var createDesc = __webpack_require__("rr1i");
+var _create = __webpack_require__("oVml");
+var gOPNExt = __webpack_require__("A5Xg");
+var $GOPD = __webpack_require__("vwuL");
+var $GOPS = __webpack_require__("mqlF");
+var $DP = __webpack_require__("2faE");
+var $keys = __webpack_require__("w6GO");
+var gOPD = $GOPD.f;
+var dP = $DP.f;
+var gOPN = gOPNExt.f;
+var $Symbol = global.Symbol;
+var $JSON = global.JSON;
+var _stringify = $JSON && $JSON.stringify;
+var PROTOTYPE = 'prototype';
+var HIDDEN = wks('_hidden');
+var TO_PRIMITIVE = wks('toPrimitive');
+var isEnum = {}.propertyIsEnumerable;
+var SymbolRegistry = shared('symbol-registry');
+var AllSymbols = shared('symbols');
+var OPSymbols = shared('op-symbols');
+var ObjectProto = Object[PROTOTYPE];
+var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
+var QObject = global.QObject;
+// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
+var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
+
+// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
+var setSymbolDesc = DESCRIPTORS && $fails(function () {
+  return _create(dP({}, 'a', {
+    get: function () { return dP(this, 'a', { value: 7 }).a; }
+  })).a != 7;
+}) ? function (it, key, D) {
+  var protoDesc = gOPD(ObjectProto, key);
+  if (protoDesc) delete ObjectProto[key];
+  dP(it, key, D);
+  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
+} : dP;
+
+var wrap = function (tag) {
+  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
+  sym._k = tag;
+  return sym;
+};
+
+var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
+  return typeof it == 'symbol';
+} : function (it) {
+  return it instanceof $Symbol;
+};
+
+var $defineProperty = function defineProperty(it, key, D) {
+  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
+  anObject(it);
+  key = toPrimitive(key, true);
+  anObject(D);
+  if (has(AllSymbols, key)) {
+    if (!D.enumerable) {
+      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
+      it[HIDDEN][key] = true;
+    } else {
+      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
+      D = _create(D, { enumerable: createDesc(0, false) });
+    } return setSymbolDesc(it, key, D);
+  } return dP(it, key, D);
+};
+var $defineProperties = function defineProperties(it, P) {
+  anObject(it);
+  var keys = enumKeys(P = toIObject(P));
+  var i = 0;
+  var l = keys.length;
+  var key;
+  while (l > i) $defineProperty(it, key = keys[i++], P[key]);
+  return it;
+};
+var $create = function create(it, P) {
+  return P === undefined ? _create(it) : $defineProperties(_create(it), P);
+};
+var $propertyIsEnumerable = function propertyIsEnumerable(key) {
+  var E = isEnum.call(this, key = toPrimitive(key, true));
+  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
+  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
+};
+var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
+  it = toIObject(it);
+  key = toPrimitive(key, true);
+  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
+  var D = gOPD(it, key);
+  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
+  return D;
+};
+var $getOwnPropertyNames = function getOwnPropertyNames(it) {
+  var names = gOPN(toIObject(it));
+  var result = [];
+  var i = 0;
+  var key;
+  while (names.length > i) {
+    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
+  } return result;
+};
+var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
+  var IS_OP = it === ObjectProto;
+  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
+  var result = [];
+  var i = 0;
+  var key;
+  while (names.length > i) {
+    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
+  } return result;
+};
+
+// 19.4.1.1 Symbol([description])
+if (!USE_NATIVE) {
+  $Symbol = function Symbol() {
+    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
+    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
+    var $set = function (value) {
+      if (this === ObjectProto) $set.call(OPSymbols, value);
+      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
+      setSymbolDesc(this, tag, createDesc(1, value));
+    };
+    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
+    return wrap(tag);
+  };
+  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
+    return this._k;
+  });
+
+  $GOPD.f = $getOwnPropertyDescriptor;
+  $DP.f = $defineProperty;
+  __webpack_require__("ar/p").f = gOPNExt.f = $getOwnPropertyNames;
+  __webpack_require__("NV0k").f = $propertyIsEnumerable;
+  $GOPS.f = $getOwnPropertySymbols;
+
+  if (DESCRIPTORS && !__webpack_require__("uOPS")) {
+    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
+  }
+
+  wksExt.f = function (name) {
+    return wrap(wks(name));
+  };
+}
+
+$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
+
+for (var es6Symbols = (
+  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
+  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
+).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
+
+for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
+
+$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
+  // 19.4.2.1 Symbol.for(key)
+  'for': function (key) {
+    return has(SymbolRegistry, key += '')
+      ? SymbolRegistry[key]
+      : SymbolRegistry[key] = $Symbol(key);
+  },
+  // 19.4.2.5 Symbol.keyFor(sym)
+  keyFor: function keyFor(sym) {
+    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
+    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
+  },
+  useSetter: function () { setter = true; },
+  useSimple: function () { setter = false; }
+});
+
+$export($export.S + $export.F * !USE_NATIVE, 'Object', {
+  // 19.1.2.2 Object.create(O [, Properties])
+  create: $create,
+  // 19.1.2.4 Object.defineProperty(O, P, Attributes)
+  defineProperty: $defineProperty,
+  // 19.1.2.3 Object.defineProperties(O, Properties)
+  defineProperties: $defineProperties,
+  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
+  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
+  // 19.1.2.7 Object.getOwnPropertyNames(O)
+  getOwnPropertyNames: $getOwnPropertyNames,
+  // 19.1.2.8 Object.getOwnPropertySymbols(O)
+  getOwnPropertySymbols: $getOwnPropertySymbols
+});
+
+// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
+// https://bugs.chromium.org/p/v8/issues/detail?id=3443
+var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
+
+$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
+  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
+    return $GOPS.f(toObject(it));
+  }
+});
+
+// 24.3.2 JSON.stringify(value [, replacer [, space]])
+$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
+  var S = $Symbol();
+  // MS Edge converts symbol values to JSON as {}
+  // WebKit converts symbol values to JSON as null
+  // V8 throws on boxed symbols
+  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
+})), 'JSON', {
+  stringify: function stringify(it) {
+    var args = [it];
+    var i = 1;
+    var replacer, $replacer;
+    while (arguments.length > i) args.push(arguments[i++]);
+    $replacer = replacer = args[1];
+    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
+    if (!isArray(replacer)) replacer = function (key, value) {
+      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
+      if (!isSymbol(value)) return value;
+    };
+    args[1] = replacer;
+    return _stringify.apply($JSON, args);
+  }
+});
+
+// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
+$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__("NegM")($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
+// 19.4.3.5 Symbol.prototype[@@toStringTag]
+setToStringTag($Symbol, 'Symbol');
+// 20.2.1.9 Math[@@toStringTag]
+setToStringTag(Math, 'Math', true);
+// 24.3.3 JSON[@@toStringTag]
+setToStringTag(global.JSON, 'JSON', true);
+
+
+/***/ }),
+
 /***/ "ApPD":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -308,6 +565,42 @@ module.exports = _inherits;
 
 /***/ }),
 
+/***/ "R+7+":
+/***/ (function(module, exports, __webpack_require__) {
+
+// all enumerable object keys, includes symbols
+var getKeys = __webpack_require__("w6GO");
+var gOPS = __webpack_require__("mqlF");
+var pIE = __webpack_require__("NV0k");
+module.exports = function (it) {
+  var result = getKeys(it);
+  var getSymbols = gOPS.f;
+  if (getSymbols) {
+    var symbols = getSymbols(it);
+    var isEnum = pIE.f;
+    var i = 0;
+    var key;
+    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
+  } return result;
+};
+
+
+/***/ }),
+
+/***/ "XVgq":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("2Nb0");
+
+/***/ }),
+
+/***/ "Z7t5":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("+SFK");
+
+/***/ }),
+
 /***/ "ZDA2":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -327,6 +620,52 @@ module.exports = _possibleConstructorReturn;
 
 /***/ }),
 
+/***/ "Zxgi":
+/***/ (function(module, exports, __webpack_require__) {
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var LIBRARY = __webpack_require__("uOPS");
+var wksExt = __webpack_require__("zLkG");
+var defineProperty = __webpack_require__("2faE").f;
+module.exports = function (name) {
+  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
+  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
+};
+
+
+/***/ }),
+
+/***/ "adOz":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("Zxgi")('asyncIterator');
+
+
+/***/ }),
+
+/***/ "ar/p":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
+var $keys = __webpack_require__("5vMV");
+var hiddenKeys = __webpack_require__("FpHa").concat('length', 'prototype');
+
+exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+  return $keys(O, hiddenKeys);
+};
+
+
+/***/ }),
+
+/***/ "dl0q":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("Zxgi")('observable');
+
+
+/***/ }),
+
 /***/ "e9+W":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -338,6 +677,41 @@ module.exports = _possibleConstructorReturn;
     }]);
   
 
+/***/ }),
+
+/***/ "iZP3":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Symbol$iterator = __webpack_require__("XVgq");
+
+var _Symbol = __webpack_require__("Z7t5");
+
+function _typeof2(obj) { if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
+
+function _typeof(obj) {
+  if (typeof _Symbol === "function" && _typeof2(_Symbol$iterator) === "symbol") {
+    module.exports = _typeof = function _typeof(obj) {
+      return _typeof2(obj);
+    };
+  } else {
+    module.exports = _typeof = function _typeof(obj) {
+      return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : _typeof2(obj);
+    };
+  }
+
+  return _typeof(obj);
+}
+
+module.exports = _typeof;
+
+/***/ }),
+
+/***/ "zLkG":
+/***/ (function(module, exports, __webpack_require__) {
+
+exports.f = __webpack_require__("UWiX");
+
+
 /***/ })
 
-},[["e9+W",0,2,1,3,4]]]);
\ No newline at end of file
+},[["e9+W",0,2,1,3]]]);
\ No newline at end of file
Diff for _error.js
@@ -15,33 +15,6 @@ module.exports = __webpack_require__("WEpk").Set;
 
 /***/ }),
 
-/***/ "+plK":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("ApPD");
-module.exports = __webpack_require__("WEpk").Object.getPrototypeOf;
-
-
-/***/ }),
-
-/***/ "/+P4":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Object$getPrototypeOf = __webpack_require__("Bhuq");
-
-var _Object$setPrototypeOf = __webpack_require__("TRZx");
-
-function _getPrototypeOf(o) {
-  module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {
-    return o.__proto__ || _Object$getPrototypeOf(o);
-  };
-  return _getPrototypeOf(o);
-}
-
-module.exports = _getPrototypeOf;
-
-/***/ }),
-
 /***/ "/0+H":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -87,6 +60,19 @@ exports.useAmp = useAmp;
 
 /***/ }),
 
+/***/ "/HRN":
+/***/ (function(module, exports) {
+
+function _classCallCheck(instance, Constructor) {
+  if (!(instance instanceof Constructor)) {
+    throw new TypeError("Cannot call a class as a function");
+  }
+}
+
+module.exports = _classCallCheck;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -243,6 +229,110 @@ module.exports = _nonIterableSpread;
 
 /***/ }),
 
+/***/ "3GJH":
+/***/ (function(module, exports, __webpack_require__) {
+
+__webpack_require__("lCc8");
+var $Object = __webpack_require__("WEpk").Object;
+module.exports = function create(P, D) {
+  return $Object.create(P, D);
+};
+
+
+/***/ }),
+
+/***/ "6/1s":
+/***/ (function(module, exports, __webpack_require__) {
+
+var META = __webpack_require__("YqAc")('meta');
+var isObject = __webpack_require__("93I4");
+var has = __webpack_require__("B+OT");
+var setDesc = __webpack_require__("2faE").f;
+var id = 0;
+var isExtensible = Object.isExtensible || function () {
+  return true;
+};
+var FREEZE = !__webpack_require__("KUxP")(function () {
+  return isExtensible(Object.preventExtensions({}));
+});
+var setMeta = function (it) {
+  setDesc(it, META, { value: {
+    i: 'O' + ++id, // object ID
+    w: {}          // weak collections IDs
+  } });
+};
+var fastKey = function (it, create) {
+  // return primitive with prefix
+  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
+  if (!has(it, META)) {
+    // can't set metadata to uncaught frozen object
+    if (!isExtensible(it)) return 'F';
+    // not necessary to add metadata
+    if (!create) return 'E';
+    // add missing metadata
+    setMeta(it);
+  // return object ID
+  } return it[META].i;
+};
+var getWeak = function (it, create) {
+  if (!has(it, META)) {
+    // can't set metadata to uncaught frozen object
+    if (!isExtensible(it)) return true;
+    // not necessary to add metadata
+    if (!create) return false;
+    // add missing metadata
+    setMeta(it);
+  // return hash weak collections IDs
+  } return it[META].w;
+};
+// add metadata on freeze-family methods calling
+var onFreeze = function (it) {
+  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
+  return it;
+};
+var meta = module.exports = {
+  KEY: META,
+  NEED: false,
+  fastKey: fastKey,
+  getWeak: getWeak,
+  onFreeze: onFreeze
+};
+
+
+/***/ }),
+
+/***/ "6tYh":
+/***/ (function(module, exports, __webpack_require__) {
+
+// Works with __proto__ only. Old v8 can't work with null proto objects.
+/* eslint-disable no-proto */
+var isObject = __webpack_require__("93I4");
+var anObject = __webpack_require__("5K7Z");
+var check = function (O, proto) {
+  anObject(O);
+  if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
+};
+module.exports = {
+  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
+    function (test, buggy, set) {
+      try {
+        set = __webpack_require__("2GTP")(Function.call, __webpack_require__("vwuL").f(Object.prototype, '__proto__').set, 2);
+        set(test, []);
+        buggy = !(test instanceof Array);
+      } catch (e) { buggy = true; }
+      return function setPrototypeOf(O, proto) {
+        check(O, proto);
+        if (buggy) O.__proto__ = proto;
+        else set(O, proto);
+        return O;
+      };
+    }({}, false) : undefined),
+  check: check
+};
+
+
+/***/ }),
+
 /***/ "8Kt/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -409,22 +499,6 @@ exports["default"] = Head;
 
 /***/ }),
 
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
-
-
-/***/ }),
-
 /***/ "9BDd":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -434,22 +508,6 @@ module.exports = __webpack_require__("WEpk").Array.isArray;
 
 /***/ }),
 
-/***/ "ApPD":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = __webpack_require__("JB68");
-var $getPrototypeOf = __webpack_require__("U+KD");
-
-__webpack_require__("zn7N")('getPrototypeOf', function () {
-  return function getPrototypeOf(it) {
-    return $getPrototypeOf(toObject(it));
-  };
-});
-
-
-/***/ }),
-
 /***/ "B9jh":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -472,13 +530,6 @@ module.exports = __webpack_require__("raTm")(SET, function (get) {
 
 /***/ }),
 
-/***/ "Bhuq":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("+plK");
-
-/***/ }),
-
 /***/ "C2SN":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -502,6 +553,18 @@ module.exports = function (original) {
 
 /***/ }),
 
+/***/ "EXMj":
+/***/ (function(module, exports) {
+
+module.exports = function (it, Constructor, name, forbiddenField) {
+  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
+    throw TypeError(name + ': incorrect invocation!');
+  } return it;
+};
+
+
+/***/ }),
+
 /***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -541,6 +604,16 @@ $export($export.S, 'Array', { isArray: __webpack_require__("kAMH") });
 
 /***/ }),
 
+/***/ "Hfiw":
+/***/ (function(module, exports, __webpack_require__) {
+
+// 19.1.3.19 Object.setPrototypeOf(O, proto)
+var $export = __webpack_require__("Y7ZC");
+$export($export.S, 'Object', { setPrototypeOf: __webpack_require__("6tYh").set });
+
+
+/***/ }),
+
 /***/ "IP1Z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -557,44 +630,48 @@ module.exports = function (object, index, value) {
 
 /***/ }),
 
-/***/ "K47E":
-/***/ (function(module, exports) {
+/***/ "JbBM":
+/***/ (function(module, exports, __webpack_require__) {
 
-function _assertThisInitialized(self) {
-  if (self === void 0) {
-    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-  }
+__webpack_require__("Hfiw");
+module.exports = __webpack_require__("WEpk").Object.setPrototypeOf;
+
+
+/***/ }),
+
+/***/ "KI45":
+/***/ (function(module, exports) {
 
-  return self;
+function _interopRequireDefault(obj) {
+  return obj && obj.__esModule ? obj : {
+    "default": obj
+  };
 }
 
-module.exports = _assertThisInitialized;
+module.exports = _interopRequireDefault;
 
 /***/ }),
 
-/***/ "N9n2":
-/***/ (function(module, exports, __webpack_require__) {
+/***/ "NV0k":
+/***/ (function(module, exports) {
 
-var _Object$create = __webpack_require__("SqZg");
+exports.f = {}.propertyIsEnumerable;
 
-var setPrototypeOf = __webpack_require__("vjea");
 
-function _inherits(subClass, superClass) {
-  if (typeof superClass !== "function" && superClass !== null) {
-    throw new TypeError("Super expression must either be null or a function");
-  }
+/***/ }),
 
-  subClass.prototype = _Object$create(superClass && superClass.prototype, {
-    constructor: {
-      value: subClass,
-      writable: true,
-      configurable: true
-    }
-  });
-  if (superClass) setPrototypeOf(subClass, superClass);
-}
+/***/ "NwJ3":
+/***/ (function(module, exports, __webpack_require__) {
+
+// check on default Array iterator
+var Iterators = __webpack_require__("SBuE");
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var ArrayProto = Array.prototype;
+
+module.exports = function (it) {
+  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+};
 
-module.exports = _inherits;
 
 /***/ }),
 
@@ -613,20 +690,64 @@ module.exports = _iterableToArray;
 
 /***/ }),
 
-/***/ "RRc/":
+/***/ "RU/L":
 /***/ (function(module, exports, __webpack_require__) {
 
-var forOf = __webpack_require__("oioR");
+__webpack_require__("Rqdy");
+var $Object = __webpack_require__("WEpk").Object;
+module.exports = function defineProperty(it, key, desc) {
+  return $Object.defineProperty(it, key, desc);
+};
 
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
+
+/***/ }),
+
+/***/ "Rqdy":
+/***/ (function(module, exports, __webpack_require__) {
+
+var $export = __webpack_require__("Y7ZC");
+// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
+$export($export.S + $export.F * !__webpack_require__("jmDH"), 'Object', { defineProperty: __webpack_require__("2faE").f });
+
+
+/***/ }),
+
+/***/ "SqZg":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("3GJH");
+
+/***/ }),
+
+/***/ "TJWN":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+var global = __webpack_require__("5T2Y");
+var core = __webpack_require__("WEpk");
+var dP = __webpack_require__("2faE");
+var DESCRIPTORS = __webpack_require__("jmDH");
+var SPECIES = __webpack_require__("UWiX")('species');
+
+module.exports = function (KEY) {
+  var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
+  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+    configurable: true,
+    get: function () { return this; }
+  });
 };
 
 
 /***/ }),
 
+/***/ "TRZx":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("JbBM");
+
+/***/ }),
+
 /***/ "TbGu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -644,6 +765,35 @@ module.exports = _toConsumableArray;
 
 /***/ }),
 
+/***/ "TuGD":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ITERATOR = __webpack_require__("UWiX")('iterator');
+var SAFE_CLOSING = false;
+
+try {
+  var riter = [7][ITERATOR]();
+  riter['return'] = function () { SAFE_CLOSING = true; };
+  // eslint-disable-next-line no-throw-literal
+  Array.from(riter, function () { throw 2; });
+} catch (e) { /* empty */ }
+
+module.exports = function (exec, skipClosing) {
+  if (!skipClosing && !SAFE_CLOSING) return false;
+  var safe = false;
+  try {
+    var arr = [7];
+    var iter = arr[ITERATOR]();
+    iter.next = function () { return { done: safe = true }; };
+    arr[ITERATOR] = function () { return iter; };
+    exec(arr);
+  } catch (e) { /* empty */ }
+  return safe;
+};
+
+
+/***/ }),
+
 /***/ "V+O7":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -759,153 +909,41 @@ module.exports = __webpack_require__("ldVq");
 
 /***/ }),
 
-/***/ "Wu5q":
+/***/ "WaGi":
 /***/ (function(module, exports, __webpack_require__) {
 
-"use strict";
+var _Object$defineProperty = __webpack_require__("hfKm");
 
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
+function _defineProperties(target, props) {
+  for (var i = 0; i < props.length; i++) {
+    var descriptor = props[i];
+    descriptor.enumerable = descriptor.enumerable || false;
+    descriptor.configurable = true;
+    if ("value" in descriptor) descriptor.writable = true;
 
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
+    _Object$defineProperty(target, descriptor.key, descriptor);
   }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+  if (staticProps) _defineProperties(Constructor, staticProps);
+  return Constructor;
+}
+
+module.exports = _createClass;
+
+/***/ }),
+
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
 };
 
 
@@ -1017,25 +1055,6 @@ exports["default"] = function () {
 
 /***/ }),
 
-/***/ "ZDA2":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _typeof = __webpack_require__("iZP3");
-
-var assertThisInitialized = __webpack_require__("K47E");
-
-function _possibleConstructorReturn(self, call) {
-  if (call && (_typeof(call) === "object" || typeof call === "function")) {
-    return call;
-  }
-
-  return assertThisInitialized(self);
-}
-
-module.exports = _possibleConstructorReturn;
-
-/***/ }),
-
 /***/ "aPfg":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1129,6 +1148,23 @@ module.exports = _arrayWithoutHoles;
 
 /***/ }),
 
+/***/ "hfKm":
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__("RU/L");
+
+/***/ }),
+
+/***/ "lCc8":
+/***/ (function(module, exports, __webpack_require__) {
+
+var $export = __webpack_require__("Y7ZC");
+// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+$export($export.S, 'Object', { create: __webpack_require__("oVml") });
+
+
+/***/ }),
+
 /***/ "ldVq":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1174,6 +1210,14 @@ exports.AmpStateContext = React.createContext({});
 
 /***/ }),
 
+/***/ "mqlF":
+/***/ (function(module, exports) {
+
+exports.f = Object.getOwnPropertySymbols;
+
+
+/***/ }),
+
 /***/ "n3ko":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1186,6 +1230,38 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
+/***/ "oioR":
+/***/ (function(module, exports, __webpack_require__) {
+
+var ctx = __webpack_require__("2GTP");
+var call = __webpack_require__("sNwI");
+var isArrayIter = __webpack_require__("NwJ3");
+var anObject = __webpack_require__("5K7Z");
+var toLength = __webpack_require__("tEej");
+var getIterFn = __webpack_require__("fNZA");
+var BREAK = {};
+var RETURN = {};
+var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
+  var f = ctx(fn, that, entries ? 2 : 1);
+  var index = 0;
+  var length, step, iterator, result;
+  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+  // fast case for arrays with default iterator
+  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+    if (result === BREAK || result === RETURN) return result;
+  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+    result = call(iterator, f, step.value, entries);
+    if (result === BREAK || result === RETURN) return result;
+  }
+};
+exports.BREAK = BREAK;
+exports.RETURN = RETURN;
+
+
+/***/ }),
+
 /***/ "p0XB":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1260,6 +1336,25 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
 
 /***/ }),
 
+/***/ "sNwI":
+/***/ (function(module, exports, __webpack_require__) {
+
+// call something on iterator step with safe closing on error
+var anObject = __webpack_require__("5K7Z");
+module.exports = function (iterator, fn, value, entries) {
+  try {
+    return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+  // 7.4.6 IteratorClose(iterator, completion)
+  } catch (e) {
+    var ret = iterator['return'];
+    if (ret !== undefined) anObject(ret.call(iterator));
+    throw e;
+  }
+};
+
+
+/***/ }),
+
 /***/ "ttDY":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1280,6 +1375,54 @@ module.exports = function (original, length) {
 
 /***/ }),
 
+/***/ "vjea":
+/***/ (function(module, exports, __webpack_require__) {
+
+var _Object$setPrototypeOf = __webpack_require__("TRZx");
+
+function _setPrototypeOf(o, p) {
+  module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) {
+    o.__proto__ = p;
+    return o;
+  };
+
+  return _setPrototypeOf(o, p);
+}
+
+module.exports = _setPrototypeOf;
+
+/***/ }),
+
+/***/ "vwuL":
+/***/ (function(module, exports, __webpack_require__) {
+
+var pIE = __webpack_require__("NV0k");
+var createDesc = __webpack_require__("rr1i");
+var toIObject = __webpack_require__("NsO/");
+var toPrimitive = __webpack_require__("G8Mo");
+var has = __webpack_require__("B+OT");
+var IE8_DOM_DEFINE = __webpack_require__("eUtF");
+var gOPD = Object.getOwnPropertyDescriptor;
+
+exports.f = __webpack_require__("jmDH") ? gOPD : function getOwnPropertyDescriptor(O, P) {
+  O = toIObject(O);
+  P = toPrimitive(P, true);
+  if (IE8_DOM_DEFINE) try {
+    return gOPD(O, P);
+  } catch (e) { /* empty */ }
+  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
+};
+
+
+/***/ }),
+
+/***/ "wgeU":
+/***/ (function(module, exports) {
+
+
+
+/***/ }),
+
 /***/ "xvv9":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1294,6 +1437,23 @@ __webpack_require__("cHUd")('Set');
 
 module.exports = __webpack_require__("VKFn");
 
+/***/ }),
+
+/***/ "zn7N":
+/***/ (function(module, exports, __webpack_require__) {
+
+// most Object methods by ES6 should accept primitives
+var $export = __webpack_require__("Y7ZC");
+var core = __webpack_require__("WEpk");
+var fails = __webpack_require__("KUxP");
+module.exports = function (KEY, exec) {
+  var fn = (core.Object || {})[KEY] || Object[KEY];
+  var exp = {};
+  exp[KEY] = exec(fn);
+  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
+};
+
+
 /***/ })
 
-},[["04ac",0,2,1,3]]]);
\ No newline at end of file
+},[["04ac",0,2,1,5]]]);
\ No newline at end of file
Diff for link.js
@@ -1,32 +1,5 @@
 (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[10],{
 
-/***/ "+plK":
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("ApPD");
-module.exports = __webpack_require__("WEpk").Object.getPrototypeOf;
-
-
-/***/ }),
-
-/***/ "/+P4":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Object$getPrototypeOf = __webpack_require__("Bhuq");
-
-var _Object$setPrototypeOf = __webpack_require__("TRZx");
-
-function _getPrototypeOf(o) {
-  module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {
-    return o.__proto__ || _Object$getPrototypeOf(o);
-  };
-  return _getPrototypeOf(o);
-}
-
-module.exports = _getPrototypeOf;
-
-/***/ }),
-
 /***/ "/h46":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -36,60 +9,6 @@ __webpack_require__("cHUd")('Map');
 
 /***/ }),
 
-/***/ "8iia":
-/***/ (function(module, exports, __webpack_require__) {
-
-// https://github.com/DavidBruant/Map-Set.prototype.toJSON
-var classof = __webpack_require__("QMMT");
-var from = __webpack_require__("RRc/");
-module.exports = function (NAME) {
-  return function toJSON() {
-    if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
-    return from(this);
-  };
-};
-
-
-/***/ }),
-
-/***/ "ApPD":
-/***/ (function(module, exports, __webpack_require__) {
-
-// 19.1.2.9 Object.getPrototypeOf(O)
-var toObject = __webpack_require__("JB68");
-var $getPrototypeOf = __webpack_require__("U+KD");
-
-__webpack_require__("zn7N")('getPrototypeOf', function () {
-  return function getPrototypeOf(it) {
-    return $getPrototypeOf(toObject(it));
-  };
-});
-
-
-/***/ }),
-
-/***/ "Bhuq":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("+plK");
-
-/***/ }),
-
-/***/ "K47E":
-/***/ (function(module, exports) {
-
-function _assertThisInitialized(self) {
-  if (self === void 0) {
-    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
-  }
-
-  return self;
-}
-
-module.exports = _assertThisInitialized;
-
-/***/ }),
-
 /***/ "LX0d":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -97,32 +16,6 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
-/***/ "N9n2":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _Object$create = __webpack_require__("SqZg");
-
-var setPrototypeOf = __webpack_require__("vjea");
-
-function _inherits(subClass, superClass) {
-  if (typeof superClass !== "function" && superClass !== null) {
-    throw new TypeError("Super expression must either be null or a function");
-  }
-
-  subClass.prototype = _Object$create(superClass && superClass.prototype, {
-    constructor: {
-      value: subClass,
-      writable: true,
-      configurable: true
-    }
-  });
-  if (superClass) setPrototypeOf(subClass, superClass);
-}
-
-module.exports = _inherits;
-
-/***/ }),
-
 /***/ "ObF3":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -150,20 +43,6 @@ aLink.getInitialProps = function () {
 
 /***/ }),
 
-/***/ "RRc/":
-/***/ (function(module, exports, __webpack_require__) {
-
-var forOf = __webpack_require__("oioR");
-
-module.exports = function (iter, ITERATOR) {
-  var result = [];
-  forOf(iter, false, result.push, result, ITERATOR);
-  return result;
-};
-
-
-/***/ }),
-
 /***/ "UDep":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -192,158 +71,6 @@ module.exports = __webpack_require__("WEpk").Map;
 
 /***/ }),
 
-/***/ "Wu5q":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var dP = __webpack_require__("2faE").f;
-var create = __webpack_require__("oVml");
-var redefineAll = __webpack_require__("XJU/");
-var ctx = __webpack_require__("2GTP");
-var anInstance = __webpack_require__("EXMj");
-var forOf = __webpack_require__("oioR");
-var $iterDefine = __webpack_require__("MPFp");
-var step = __webpack_require__("UO39");
-var setSpecies = __webpack_require__("TJWN");
-var DESCRIPTORS = __webpack_require__("jmDH");
-var fastKey = __webpack_require__("6/1s").fastKey;
-var validate = __webpack_require__("n3ko");
-var SIZE = DESCRIPTORS ? '_s' : 'size';
-
-var getEntry = function (that, key) {
-  // fast case
-  var index = fastKey(key);
-  var entry;
-  if (index !== 'F') return that._i[index];
-  // frozen object case
-  for (entry = that._f; entry; entry = entry.n) {
-    if (entry.k == key) return entry;
-  }
-};
-
-module.exports = {
-  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
-    var C = wrapper(function (that, iterable) {
-      anInstance(that, C, NAME, '_i');
-      that._t = NAME;         // collection type
-      that._i = create(null); // index
-      that._f = undefined;    // first entry
-      that._l = undefined;    // last entry
-      that[SIZE] = 0;         // size
-      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
-    });
-    redefineAll(C.prototype, {
-      // 23.1.3.1 Map.prototype.clear()
-      // 23.2.3.2 Set.prototype.clear()
-      clear: function clear() {
-        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
-          entry.r = true;
-          if (entry.p) entry.p = entry.p.n = undefined;
-          delete data[entry.i];
-        }
-        that._f = that._l = undefined;
-        that[SIZE] = 0;
-      },
-      // 23.1.3.3 Map.prototype.delete(key)
-      // 23.2.3.4 Set.prototype.delete(value)
-      'delete': function (key) {
-        var that = validate(this, NAME);
-        var entry = getEntry(that, key);
-        if (entry) {
-          var next = entry.n;
-          var prev = entry.p;
-          delete that._i[entry.i];
-          entry.r = true;
-          if (prev) prev.n = next;
-          if (next) next.p = prev;
-          if (that._f == entry) that._f = next;
-          if (that._l == entry) that._l = prev;
-          that[SIZE]--;
-        } return !!entry;
-      },
-      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
-      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
-      forEach: function forEach(callbackfn /* , that = undefined */) {
-        validate(this, NAME);
-        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
-        var entry;
-        while (entry = entry ? entry.n : this._f) {
-          f(entry.v, entry.k, this);
-          // revert to the last existing entry
-          while (entry && entry.r) entry = entry.p;
-        }
-      },
-      // 23.1.3.7 Map.prototype.has(key)
-      // 23.2.3.7 Set.prototype.has(value)
-      has: function has(key) {
-        return !!getEntry(validate(this, NAME), key);
-      }
-    });
-    if (DESCRIPTORS) dP(C.prototype, 'size', {
-      get: function () {
-        return validate(this, NAME)[SIZE];
-      }
-    });
-    return C;
-  },
-  def: function (that, key, value) {
-    var entry = getEntry(that, key);
-    var prev, index;
-    // change existing entry
-    if (entry) {
-      entry.v = value;
-    // create new entry
-    } else {
-      that._l = entry = {
-        i: index = fastKey(key, true), // <- index
-        k: key,                        // <- key
-        v: value,                      // <- value
-        p: prev = that._l,             // <- previous entry
-        n: undefined,                  // <- next entry
-        r: false                       // <- removed
-      };
-      if (!that._f) that._f = entry;
-      if (prev) prev.n = entry;
-      that[SIZE]++;
-      // add to index
-      if (index !== 'F') that._i[index] = entry;
-    } return that;
-  },
-  getEntry: getEntry,
-  setStrong: function (C, NAME, IS_MAP) {
-    // add .keys, .values, .entries, [@@iterator]
-    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
-    $iterDefine(C, NAME, function (iterated, kind) {
-      this._t = validate(iterated, NAME); // target
-      this._k = kind;                     // kind
-      this._l = undefined;                // previous
-    }, function () {
-      var that = this;
-      var kind = that._k;
-      var entry = that._l;
-      // revert to the last existing entry
-      while (entry && entry.r) entry = entry.p;
-      // get next entry
-      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
-        // or finish the iteration
-        that._t = undefined;
-        return step(1);
-      }
-      // return step by kind
-      if (kind == 'keys') return step(0, entry.k);
-      if (kind == 'values') return step(0, entry.v);
-      return step(0, [entry.k, entry.v]);
-    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
-
-    // add [@@species], 23.1.2.2, 23.2.2.2
-    setSpecies(NAME);
-  }
-};
-
-
-/***/ }),
-
 /***/ "XLbu":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -363,25 +90,6 @@ module.exports = __webpack_require__("cTJO")
 
 /***/ }),
 
-/***/ "ZDA2":
-/***/ (function(module, exports, __webpack_require__) {
-
-var _typeof = __webpack_require__("iZP3");
-
-var assertThisInitialized = __webpack_require__("K47E");
-
-function _possibleConstructorReturn(self, call) {
-  if (call && (_typeof(call) === "object" || typeof call === "function")) {
-    return call;
-  }
-
-  return assertThisInitialized(self);
-}
-
-module.exports = _possibleConstructorReturn;
-
-/***/ }),
-
 /***/ "cTJO":
 /***/ (function(module, exports, __webpack_require__) {
Diff for routerDirect.js
@@ -40,4 +40,4 @@ routerDirect.getInitialProps = function () {
 
 /***/ })
 
-},[["LtRI",0,2,1,3,4,5]]]);
\ No newline at end of file
+},[["LtRI",0,2,1,3,4]]]);
\ No newline at end of file
Diff for withRouter.js
@@ -38,4 +38,4 @@ useWithRouter.getInitialProps = function () {
 
 /***/ })
 
-},[["eThv",0,2,1,3,4,5]]]);
\ No newline at end of file
+},[["eThv",0,2,1,3,4]]]);
\ No newline at end of file
Diff for _buildManifest.js
@@ -1 +1 @@
-self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.ee914e8dc1c0daa933b4.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
+self.__BUILD_MANIFEST = (function(a,b){return {"/_error":[b],"/link":[a,b],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.fa47d4aaa295dcae8d1b.js","static\u002Fchunks\u002F314e4c089430eb8cdc865a8a097be397fffdf2f3.dabd6bf1b89781ecd750.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
Diff for _buildManifest.module.js
@@ -1 +1 @@
-self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.5f63c642fc68b85bc4ba.module.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
+self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.59a07c7ab59f0e899509.module.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
Diff for index.html
@@ -12,14 +12,14 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9216a462ece5ea149b03.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-7f5a8bf381b68c2fbe01.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.9c9aa574c484a7d0240e.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
-        as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
         as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
+        as="script" crossorigin="anonymous" />
     </head>
     
     <body>
@@ -44,9 +44,9 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-aff7d904f7fb68db9907.js"
+        <script src="/_next/static/runtime/main-329e5ec066161bea38c6.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9216a462ece5ea149b03.module.js"
+        <script src="/_next/static/runtime/main-7f5a8bf381b68c2fbe01.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.4c64484d8a631a55b435.js"
         async="" crossorigin="anonymous" nomodule=""></script>
@@ -54,14 +54,12 @@
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/commons.50395f62af0789b10c7a.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.3ec8eb716b710a3491f9.js"
-        async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
-        async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.007dab24dcf3dfb91774.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.590e9c97bed24d8fff40.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
         async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.module.js"
Diff for link.html
@@ -14,13 +14,13 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.9c9aa574c484a7d0240e.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
-        as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.5f63c642fc68b85bc4ba.module.js"
+        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.59a07c7ab59f0e899509.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9216a462ece5ea149b03.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-7f5a8bf381b68c2fbe01.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -55,21 +55,21 @@
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/commons.50395f62af0789b10c7a.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.3ec8eb716b710a3491f9.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.590e9c97bed24d8fff40.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.007dab24dcf3dfb91774.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.fa47d4aaa295dcae8d1b.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.59a07c7ab59f0e899509.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.ee914e8dc1c0daa933b4.js"
+        <script src="/_next/static/chunks/314e4c089430eb8cdc865a8a097be397fffdf2f3.dabd6bf1b89781ecd750.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.5f63c642fc68b85bc4ba.module.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-aff7d904f7fb68db9907.js"
+        <script src="/_next/static/runtime/main-329e5ec066161bea38c6.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9216a462ece5ea149b03.module.js"
+        <script src="/_next/static/runtime/main-7f5a8bf381b68c2fbe01.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
Diff for withRouter.html
@@ -14,13 +14,13 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.9c9aa574c484a7d0240e.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
-        as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.5f63c642fc68b85bc4ba.module.js"
+        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.59a07c7ab59f0e899509.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9216a462ece5ea149b03.module.js"
+        <link rel="preload" href="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
+        as="script" crossorigin="anonymous" />
+        <link rel="preload" href="/_next/static/runtime/main-7f5a8bf381b68c2fbe01.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -53,21 +53,19 @@
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/commons.50395f62af0789b10c7a.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.3ec8eb716b710a3491f9.js"
-        async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
-        async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.007dab24dcf3dfb91774.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.590e9c97bed24d8fff40.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.dda3a797bb804537ed85.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.ee914e8dc1c0daa933b4.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.fa47d4aaa295dcae8d1b.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.5f63c642fc68b85bc4ba.module.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.59a07c7ab59f0e899509.module.js"
+        async="" crossorigin="anonymous" type="module"></script>
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.6ad24cd530d796126b06.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-aff7d904f7fb68db9907.js"
+        <script src="/_next/static/runtime/main-329e5ec066161bea38c6.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9216a462ece5ea149b03.module.js"
+        <script src="/_next/static/runtime/main-7f5a8bf381b68c2fbe01.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.3s 14.2s -107ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +147 B
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 14.9 kB -3.04 kB
main-HASH.js gzip 6.33 kB 5.12 kB -1.21 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB N/A N/A
16b1a7225520..c08d.js gzip 7.35 kB N/A N/A
4952ddcd88e7..49d7903c2.js 9.6 kB N/A N/A
4952ddcd88e7..03c2.js gzip 3.76 kB N/A N/A
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB N/A N/A
de003c3a9d30..82eb.js gzip 10.7 kB N/A N/A
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
16b1a7225520..b3f403e8a.js N/A 19.8 kB N/A
16b1a7225520..3e8a.js gzip N/A 7.28 kB N/A
314e4c089430..de6eb480f.js N/A 7.9 kB N/A
314e4c089430..480f.js gzip N/A 3.31 kB N/A
de003c3a9d30..39988e4af.js N/A 33.1 kB N/A
de003c3a9d30..e4af.js gzip N/A 12.3 kB N/A
Overall change 213 kB 213 kB -3.04 kB
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB ⚠️ +12 B
main-HASH.module.js gzip 5.3 kB 5.31 kB ⚠️ +9 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB N/A N/A
16b1a7225520..dule.js gzip 8.14 kB N/A N/A
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
16b1a7225520..d8.module.js N/A 16 kB N/A
16b1a7225520..dule.js gzip N/A 6.17 kB N/A
Overall change 196 kB 191 kB ⚠️ +12 B
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 7.71 kB ⚠️ +4.78 kB
_app.js gzip 1.32 kB 3.22 kB ⚠️ +1.9 kB
_error.js 13.2 kB 14.9 kB ⚠️ +1.7 kB
_error.js gzip 5.1 kB 5.57 kB ⚠️ +475 B
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 4.05 kB -2.7 kB
link.js gzip 2.88 kB 1.81 kB -1.06 kB
routerDirect.js 413 B 411 B -2 B
routerDirect.js gzip 285 B 283 B -2 B
withRouter.js 423 B 421 B -2 B
withRouter.js gzip 284 B 282 B -2 B
Overall change 26 kB 29.7 kB ⚠️ +3.77 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 353 B ⚠️ +109 B
_buildManifest.js gzip 201 B 259 B ⚠️ +58 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 209 B ⚠️ +1 B
Overall change 495 B 604 B ⚠️ +109 B
Serverless bundles Overall decrease ✓
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 255 kB 244 kB -11.9 kB
_error.js gzip 67.9 kB 64.9 kB -2.98 kB
hooks.html 4.19 kB 4.04 kB -154 B
hooks.html gzip 1.07 kB 1.05 kB -23 B
index.js 256 kB 244 kB -11.9 kB
index.js gzip 68 kB 65 kB -2.98 kB
link.js 288 kB 276 kB -12 kB
link.js gzip 77.1 kB 73.9 kB -3.11 kB
routerDirect.js 281 kB 269 kB -12 kB
routerDirect.js gzip 75.1 kB 72 kB -3.12 kB
withRouter.js 281 kB 269 kB -12 kB
withRouter.js gzip 75.2 kB 72.1 kB -3.12 kB
Overall change 1.37 MB 1.31 MB -60 kB

Commit: 6124ce3

@ijjk
Copy link
Member

ijjk commented Nov 23, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 13.4s 14.2s ⚠️ +761ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +582 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB 19.8 kB
16b1a7225520..c08d.js gzip 7.35 kB 7.35 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB 28.3 kB
de003c3a9d30..82eb.js gzip 10.7 kB 10.7 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 213 kB 213 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.14 kB 8.14 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 196 kB 196 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 208 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.12 kB 1.12 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.2s 14.2s -64ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +582 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB 19.8 kB
16b1a7225520..c08d.js gzip 7.35 kB 7.35 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB 28.3 kB
de003c3a9d30..82eb.js gzip 10.7 kB 10.7 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 213 kB 213 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.14 kB 8.14 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 196 kB 196 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 208 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 255 kB 255 kB
_error.js gzip 67.9 kB 67.9 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 256 kB 256 kB
index.js gzip 68 kB 68 kB
link.js 288 kB 288 kB
link.js gzip 77.1 kB 77.1 kB
routerDirect.js 281 kB 281 kB
routerDirect.js gzip 75.1 kB 75.1 kB
withRouter.js 281 kB 281 kB
withRouter.js gzip 75.2 kB 75.2 kB
Overall change 1.37 MB 1.37 MB

Commit: c42aa48

@ijjk
Copy link
Member

ijjk commented Nov 23, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.5s 14.9s ⚠️ +438ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +618 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB 19.8 kB
16b1a7225520..c08d.js gzip 7.35 kB 7.35 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB 28.3 kB
de003c3a9d30..82eb.js gzip 10.7 kB 10.7 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 213 kB 213 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.14 kB 8.14 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 196 kB 196 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 208 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.12 kB 1.12 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15.4s 15.2s -218ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +618 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB 19.8 kB
16b1a7225520..c08d.js gzip 7.35 kB 7.35 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB 28.3 kB
de003c3a9d30..82eb.js gzip 10.7 kB 10.7 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 213 kB 213 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.14 kB 8.14 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 196 kB 196 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 208 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 255 kB 255 kB
_error.js gzip 67.9 kB 67.9 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 256 kB 256 kB
index.js gzip 68 kB 68 kB
link.js 288 kB 288 kB
link.js gzip 77.1 kB 77.1 kB
routerDirect.js 281 kB 281 kB
routerDirect.js gzip 75.1 kB 75.1 kB
withRouter.js 281 kB 281 kB
withRouter.js gzip 75.2 kB 75.2 kB
Overall change 1.37 MB 1.37 MB

Commit: e1c1278

@@ -215,6 +215,9 @@ export default async function(
hotReloader: null,
canonicalBase: (nextConfig.amp && nextConfig.amp.canonicalBase) || '',
isModern: nextConfig.experimental.modern,
ampValidator:
(nextConfig.experimental.amp && nextConfig.experimental.amp.validator) ||
'',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think defaulting to '' is correct, it should probably be undefined, considering https://github.com/ampproject/amphtml/blob/master/validator/nodejs/index.js#L296

@timneutkens
Copy link
Member

It'd be nice if you could add a test for this change, but I'll land the PR 👍

@ijjk
Copy link
Member

ijjk commented Nov 23, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.8s 14.9s ⚠️ +66ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +632 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB 19.8 kB
16b1a7225520..c08d.js gzip 7.35 kB 7.35 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB 28.3 kB
de003c3a9d30..82eb.js gzip 10.7 kB 10.7 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 213 kB 213 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.14 kB 8.14 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 196 kB 196 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 208 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.12 kB 1.12 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15.4s 15.1s -300ms
nodeModulesSize 48.3 MB 48.3 MB ⚠️ +632 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..ebc17c08d.js 19.8 kB 19.8 kB
16b1a7225520..c08d.js gzip 7.35 kB 7.35 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..a824c82eb.js 28.3 kB 28.3 kB
de003c3a9d30..82eb.js gzip 10.7 kB 10.7 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 213 kB 213 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..9a.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.14 kB 8.14 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 196 kB 196 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 9.11 kB 9.11 kB
polyfills-HASH.js gzip 3.11 kB 3.11 kB
Overall change 9.11 kB 9.11 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 208 B 208 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 255 kB 255 kB
_error.js gzip 67.9 kB 67.9 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 256 kB 256 kB
index.js gzip 68 kB 68 kB
link.js 288 kB 288 kB
link.js gzip 77.1 kB 77.1 kB
routerDirect.js 281 kB 281 kB
routerDirect.js gzip 75.1 kB 75.1 kB
withRouter.js 281 kB 281 kB
withRouter.js gzip 75.2 kB 75.2 kB
Overall change 1.37 MB 1.37 MB

Commit: 1ac43a1

@ijjk
Copy link
Member

ijjk commented Nov 26, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 14.8s 14.5s -311ms
nodeModulesSize 48.6 MB 48.6 MB ⚠️ +632 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..4086094cc.js 19.8 kB 19.8 kB
16b1a7225520..94cc.js gzip 7.37 kB 7.37 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..64b97c6d1.js 21.1 kB 21.1 kB
de003c3a9d30..c6d1.js gzip 8.15 kB 8.15 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 206 kB 206 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..95.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.16 kB 8.16 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..f3.module.js 15 kB 15 kB
de003c3a9d30..dule.js gzip 6.13 kB 6.13 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 189 kB 189 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 15.3 kB 15.3 kB
polyfills-HASH.js gzip 4.75 kB 4.75 kB
Overall change 15.3 kB 15.3 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 210 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.04 kB 1.04 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.12 kB 1.12 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.11 kB 1.11 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
buildDuration 15.6s 14.8s -731ms
nodeModulesSize 48.6 MB 48.6 MB ⚠️ +632 B
Client Bundles (main, webpack, commons)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.js 17.9 kB 17.9 kB
main-HASH.js gzip 6.33 kB 6.33 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..4086094cc.js 19.8 kB 19.8 kB
16b1a7225520..94cc.js gzip 7.37 kB 7.37 kB
4952ddcd88e7..49d7903c2.js 9.6 kB 9.6 kB
4952ddcd88e7..03c2.js gzip 3.76 kB 3.76 kB
commons.HASH.js 10.4 kB 10.4 kB
commons.HASH.js gzip 3.91 kB 3.91 kB
de003c3a9d30..64b97c6d1.js 21.1 kB 21.1 kB
de003c3a9d30..c6d1.js gzip 8.15 kB 8.15 kB
framework.HASH.js 125 kB 125 kB
framework.HASH.js gzip 39.4 kB 39.4 kB
Overall change 206 kB 206 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.3 kB 5.3 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..95.module.js 21.3 kB 21.3 kB
16b1a7225520..dule.js gzip 8.16 kB 8.16 kB
4952ddcd88e7..cc.module.js 11.9 kB 11.9 kB
4952ddcd88e7..dule.js gzip 4.43 kB 4.43 kB
de003c3a9d30..f3.module.js 15 kB 15 kB
de003c3a9d30..dule.js gzip 6.13 kB 6.13 kB
framework.HASH.module.js 125 kB 125 kB
framework.HA..dule.js gzip 39.4 kB 39.4 kB
Overall change 189 kB 189 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
polyfills-HASH.js 15.3 kB 15.3 kB
polyfills-HASH.js gzip 4.75 kB 4.75 kB
Overall change 15.3 kB 15.3 kB
Client Pages
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.js 2.92 kB 2.92 kB
_app.js gzip 1.32 kB 1.32 kB
_error.js 13.2 kB 13.2 kB
_error.js gzip 5.1 kB 5.1 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 6.76 kB 6.76 kB
link.js gzip 2.88 kB 2.88 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 26 kB 26 kB
Client Pages Modern
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 677 B 677 B
hooks.module.js gzip 384 B 384 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.49 kB 5.49 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 19.3 kB 19.3 kB
Client Build Manifests
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 210 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary yosuke-furukawa/next.js fix_custom_amp_validator Change
_error.js 256 kB 256 kB
_error.js gzip 67.9 kB 67.9 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 256 kB 256 kB
index.js gzip 68.1 kB 68.1 kB
link.js 288 kB 288 kB
link.js gzip 77.2 kB 77.2 kB
routerDirect.js 281 kB 281 kB
routerDirect.js gzip 75.2 kB 75.2 kB
withRouter.js 281 kB 281 kB
withRouter.js gzip 75.3 kB 75.3 kB
Overall change 1.37 MB 1.37 MB

Commit: 0890a5d

@yosuke-furukawa
Copy link
Contributor Author

Thank you! I will add more tests on other PR.

@timneutkens timneutkens merged commit 93f7da2 into vercel:canary Nov 26, 2019
kodiakhq bot pushed a commit that referenced this pull request May 29, 2020
Updates docs for AMP validation with usage examples for custom validators added in #9191 and `skipValidation` mode added in #10705
rokinsky pushed a commit to rokinsky/next.js that referenced this pull request Jul 11, 2020
Updates docs for AMP validation with usage examples for custom validators added in vercel#9191 and `skipValidation` mode added in vercel#10705
@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
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.

Custom amphtml-validator for invalid amp
3 participants