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
Custom Server with bodyParser, don't parse body again in API Route #16169
Conversation
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 13.9s | 14s | |
nodeModulesSize | 57.3 MB | 57.3 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.418 | 2.631 | |
/ avg req/sec | 1034.1 | 950.18 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.5 | 1.582 | |
/error-in-render avg req/sec | 1666.62 | 1579.8 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..c139.js gzip | 10.2 kB | 10.2 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-50e55c1..9850.js gzip | 6.73 kB | 6.73 kB | ✓ |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.9 kB | 56.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.12 kB | 6.12 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-7c4b50e..dule.js gzip | 5.82 kB | 5.82 kB | ✓ |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.8 kB | 51.8 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-4c2bd9b..eadd.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-236a801..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 650 B | 650 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 946 B | 946 B | ✓ |
link.html gzip | 953 B | 953 B | ✓ |
withRouter.html gzip | 940 B | 940 B | ✓ |
Overall change | 2.84 kB | 2.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 15.6s | 16.4s | |
nodeModulesSize | 57.3 MB | 57.3 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..c139.js gzip | 10.2 kB | 10.2 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-50e55c1..9850.js gzip | 6.73 kB | 6.73 kB | ✓ |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.9 kB | 56.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.12 kB | 6.12 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-7c4b50e..dule.js gzip | 5.82 kB | 5.82 kB | ✓ |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.8 kB | 51.8 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-4c2bd9b..eadd.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-236a801..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 650 B | 650 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1.03 MB | 1.03 MB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 1.03 MB | 1.03 MB | |
link.js | 1.07 MB | 1.07 MB | |
routerDirect.js | 1.06 MB | 1.06 MB | |
withRouter.js | 1.06 MB | 1.06 MB | |
Overall change | 5.26 MB | 5.26 MB |
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 9.9s | 9.8s | -112ms |
nodeModulesSize | 57.3 MB | 57.3 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 1.755 | 1.771 | |
/ avg req/sec | 1424.56 | 1411.33 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 0.952 | 0.968 | |
/error-in-render avg req/sec | 2627.07 | 2583.39 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..c139.js gzip | 10.2 kB | 10.2 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-e664fd6..72f3.js gzip | 6.74 kB | 6.74 kB | ✓ |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.9 kB | 56.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.12 kB | 6.12 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-9e8666e..dule.js gzip | 5.82 kB | 5.82 kB | ✓ |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.8 kB | 51.8 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-4c2bd9b..eadd.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-236a801..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 650 B | 650 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 945 B | 945 B | ✓ |
link.html gzip | 953 B | 953 B | ✓ |
withRouter.html gzip | 940 B | 940 B | ✓ |
Overall change | 2.84 kB | 2.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 11.2s | 11.8s | |
nodeModulesSize | 57.3 MB | 57.3 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..c139.js gzip | 10.2 kB | 10.2 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-e664fd6..72f3.js gzip | 6.74 kB | 6.74 kB | ✓ |
webpack-ccf5..276a.js gzip | 751 B | 751 B | ✓ |
Overall change | 56.9 kB | 56.9 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 6.12 kB | 6.12 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
main-9e8666e..dule.js gzip | 5.82 kB | 5.82 kB | ✓ |
webpack-10c7..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 51.8 kB | 51.8 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-75..1629.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-874bd8a..0103.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-fa39c..ec40.js gzip | 3.45 kB | 3.45 kB | ✓ |
hooks-585f07..95a3.js gzip | 887 B | 887 B | ✓ |
index-c7b63f..fc02.js gzip | 227 B | 227 B | ✓ |
link-4c2bd9b..eadd.js gzip | 1.29 kB | 1.29 kB | ✓ |
routerDirect..ebc7.js gzip | 284 B | 284 B | ✓ |
withRouter-2..db68.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.71 kB | 7.71 kB | ✓ |
Client Pages Modern
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-97e743e..dule.js gzip | 626 B | 626 B | ✓ |
_error-b4004..dule.js gzip | 2.3 kB | 2.3 kB | ✓ |
hooks-696209..dule.js gzip | 387 B | 387 B | ✓ |
index-a4dd74..dule.js gzip | 226 B | 226 B | ✓ |
link-236a801..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-1..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.37 kB | 5.37 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 321 B | 321 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 650 B | 650 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1.03 MB | 1.03 MB | |
404.html | 4.18 kB | 4.18 kB | ✓ |
hooks.html | 3.82 kB | 3.82 kB | ✓ |
index.js | 1.03 MB | 1.03 MB | |
link.js | 1.07 MB | 1.07 MB | |
routerDirect.js | 1.06 MB | 1.06 MB | |
withRouter.js | 1.06 MB | 1.06 MB | |
Overall change | 5.26 MB | 5.26 MB |
first time PR contribution. how does one request feedback? i read through the contributing guide but came up short. thanks! |
We've recently had an influx in new PRs so we're slowly working our way through them. Will give feedback soon. |
What's the current status of this PR? This PR would help a lot for my current use case. The
which channels into two different endpoints:
and I want to disable |
In that case you should create more files that cover different patterns. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add integration tests and documentation for this change given it's a change in behavior from what we currently have. It could potentially also be confusing if we suddenly pass through req.body
from the custom server 🤔
@timneutkens: That's possible, but I don't think the endpoint pattern design should be driven by missing configuration options. If there is a way to preserve the above mentioned endpoint patterns, fine, but I think you are suggesting something like:
My current workaround is to opt out from |
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 9s | 8.9s | -128ms |
nodeModulesSize | 82.4 MB | 82.4 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.133 | 2.207 | |
/ avg req/sec | 1171.81 | 1132.54 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.133 | 1.14 | |
/error-in-render avg req/sec | 2206.22 | 2193.23 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 614 B | 614 B | ✓ |
link.html gzip | 621 B | 621 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 10.8s | 10.4s | -322ms |
nodeModulesSize | 82.4 MB | 82.4 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1 MB | 1 MB | |
404.html | 2.67 kB | 2.67 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1 MB | 1 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.16 MB | 5.16 MB |
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 10s | 9.9s | -136ms |
nodeModulesSize | 82.4 MB | 82.4 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.385 | 2.443 | |
/ avg req/sec | 1048.13 | 1023.37 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.243 | 1.277 | |
/error-in-render avg req/sec | 2011.04 | 1958.19 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 614 B | 614 B | ✓ |
link.html gzip | 621 B | 621 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 11.6s | 12s | |
nodeModulesSize | 82.4 MB | 82.4 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1 MB | 1 MB | |
404.html | 2.67 kB | 2.67 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1 MB | 1 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.16 MB | 5.16 MB |
Failing test suitesCommit: d118dec test/integration/image-optimizer/test/index.test.js
Expand output● Image Optimizer › config checks › should error when domains length exceeds 50
● Image Optimizer › config checks › should error when sizes length exceeds 25
● Image Optimizer › config checks › should error when deviceSizes contains invalid widths
● Image Optimizer › config checks › should error when imageSizes contains invalid widths
● Image Optimizer › config checks › should error when loader contains invalid value
● Image Optimizer › dev support w/o next.config.js › should return home page
● Image Optimizer › dev support w/o next.config.js › should maintain animated gif
● Image Optimizer › dev support w/o next.config.js › should maintain animated png
● Image Optimizer › dev support w/o next.config.js › should maintain animated webp
● Image Optimizer › dev support w/o next.config.js › should maintain vector svg
● Image Optimizer › dev support w/o next.config.js › should maintain ico format
● Image Optimizer › dev support w/o next.config.js › should maintain jpg format for old Safari
● Image Optimizer › dev support w/o next.config.js › should maintain png format for old Safari
● Image Optimizer › dev support w/o next.config.js › should fail when url is missing
● Image Optimizer › dev support w/o next.config.js › should fail when w is missing
● Image Optimizer › dev support w/o next.config.js › should fail when q is missing
● Image Optimizer › dev support w/o next.config.js › should fail when q is greater than 100
● Image Optimizer › dev support w/o next.config.js › should fail when q is less than 1
● Image Optimizer › dev support w/o next.config.js › should fail when w is 0 or less
● Image Optimizer › dev support w/o next.config.js › should fail when w is not a number
● Image Optimizer › dev support w/o next.config.js › should fail when q is not a number
● Image Optimizer › dev support w/o next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › dev support w/o next.config.js › should fail when width is not in next.config.js
● Image Optimizer › dev support w/o next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › dev support w/o next.config.js › should resize relative url and png accept header
● Image Optimizer › dev support w/o next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › dev support w/o next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › dev support w/o next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › dev support w/o next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › dev support w/o next.config.js › should fail when url has file protocol
● Image Optimizer › dev support w/o next.config.js › should fail when url has ftp protocol
● Image Optimizer › dev support w/o next.config.js › should use cached image file when parameters are the same
● Image Optimizer › dev support w/o next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › dev support w/o next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › dev support w/o next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › dev support with next.config.js › should return home page
● Image Optimizer › dev support with next.config.js › should maintain animated gif
● Image Optimizer › dev support with next.config.js › should maintain animated png
● Image Optimizer › dev support with next.config.js › should maintain animated webp
● Image Optimizer › dev support with next.config.js › should maintain vector svg
● Image Optimizer › dev support with next.config.js › should maintain ico format
● Image Optimizer › dev support with next.config.js › should maintain jpg format for old Safari
● Image Optimizer › dev support with next.config.js › should maintain png format for old Safari
● Image Optimizer › dev support with next.config.js › should fail when url is missing
● Image Optimizer › dev support with next.config.js › should fail when w is missing
● Image Optimizer › dev support with next.config.js › should fail when q is missing
● Image Optimizer › dev support with next.config.js › should fail when q is greater than 100
● Image Optimizer › dev support with next.config.js › should fail when q is less than 1
● Image Optimizer › dev support with next.config.js › should fail when w is 0 or less
● Image Optimizer › dev support with next.config.js › should fail when w is not a number
● Image Optimizer › dev support with next.config.js › should fail when q is not a number
● Image Optimizer › dev support with next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › dev support with next.config.js › should fail when width is not in next.config.js
● Image Optimizer › dev support with next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › dev support with next.config.js › should resize relative url and png accept header
● Image Optimizer › dev support with next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › dev support with next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › dev support with next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › dev support with next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › dev support with next.config.js › should resize absolute url from localhost
● Image Optimizer › dev support with next.config.js › should fail when url has file protocol
● Image Optimizer › dev support with next.config.js › should fail when url has ftp protocol
● Image Optimizer › dev support with next.config.js › should fail when url fails to load an image
● Image Optimizer › dev support with next.config.js › should use cached image file when parameters are the same
● Image Optimizer › dev support with next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › dev support with next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › dev support with next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › Server support w/o next.config.js › should return home page
● Image Optimizer › Server support w/o next.config.js › should maintain animated gif
● Image Optimizer › Server support w/o next.config.js › should maintain animated png
● Image Optimizer › Server support w/o next.config.js › should maintain animated webp
● Image Optimizer › Server support w/o next.config.js › should maintain vector svg
● Image Optimizer › Server support w/o next.config.js › should maintain ico format
● Image Optimizer › Server support w/o next.config.js › should maintain jpg format for old Safari
● Image Optimizer › Server support w/o next.config.js › should maintain png format for old Safari
● Image Optimizer › Server support w/o next.config.js › should fail when url is missing
● Image Optimizer › Server support w/o next.config.js › should fail when w is missing
● Image Optimizer › Server support w/o next.config.js › should fail when q is missing
● Image Optimizer › Server support w/o next.config.js › should fail when q is greater than 100
● Image Optimizer › Server support w/o next.config.js › should fail when q is less than 1
● Image Optimizer › Server support w/o next.config.js › should fail when w is 0 or less
● Image Optimizer › Server support w/o next.config.js › should fail when w is not a number
● Image Optimizer › Server support w/o next.config.js › should fail when q is not a number
● Image Optimizer › Server support w/o next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › Server support w/o next.config.js › should fail when width is not in next.config.js
● Image Optimizer › Server support w/o next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › Server support w/o next.config.js › should resize relative url and png accept header
● Image Optimizer › Server support w/o next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › Server support w/o next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › Server support w/o next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › Server support w/o next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › Server support w/o next.config.js › should fail when url has file protocol
● Image Optimizer › Server support w/o next.config.js › should fail when url has ftp protocol
● Image Optimizer › Server support w/o next.config.js › should use cached image file when parameters are the same
● Image Optimizer › Server support w/o next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › Server support w/o next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › Server support w/o next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › Server support with next.config.js › should return home page
● Image Optimizer › Server support with next.config.js › should maintain animated gif
● Image Optimizer › Server support with next.config.js › should maintain animated png
● Image Optimizer › Server support with next.config.js › should maintain animated webp
● Image Optimizer › Server support with next.config.js › should maintain vector svg
● Image Optimizer › Server support with next.config.js › should maintain ico format
● Image Optimizer › Server support with next.config.js › should maintain jpg format for old Safari
● Image Optimizer › Server support with next.config.js › should maintain png format for old Safari
● Image Optimizer › Server support with next.config.js › should fail when url is missing
● Image Optimizer › Server support with next.config.js › should fail when w is missing
● Image Optimizer › Server support with next.config.js › should fail when q is missing
● Image Optimizer › Server support with next.config.js › should fail when q is greater than 100
● Image Optimizer › Server support with next.config.js › should fail when q is less than 1
● Image Optimizer › Server support with next.config.js › should fail when w is 0 or less
● Image Optimizer › Server support with next.config.js › should fail when w is not a number
● Image Optimizer › Server support with next.config.js › should fail when q is not a number
● Image Optimizer › Server support with next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › Server support with next.config.js › should fail when width is not in next.config.js
● Image Optimizer › Server support with next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › Server support with next.config.js › should resize relative url and png accept header
● Image Optimizer › Server support with next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › Server support with next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › Server support with next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › Server support with next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › Server support with next.config.js › should resize absolute url from localhost
● Image Optimizer › Server support with next.config.js › should fail when url has file protocol
● Image Optimizer › Server support with next.config.js › should fail when url has ftp protocol
● Image Optimizer › Server support with next.config.js › should fail when url fails to load an image
● Image Optimizer › Server support with next.config.js › should use cached image file when parameters are the same
● Image Optimizer › Server support with next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › Server support with next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › Server support with next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › Serverless support with next.config.js › should return home page
● Image Optimizer › Serverless support with next.config.js › should maintain animated gif
● Image Optimizer › Serverless support with next.config.js › should maintain animated png
● Image Optimizer › Serverless support with next.config.js › should maintain animated webp
● Image Optimizer › Serverless support with next.config.js › should maintain vector svg
● Image Optimizer › Serverless support with next.config.js › should maintain ico format
● Image Optimizer › Serverless support with next.config.js › should maintain jpg format for old Safari
● Image Optimizer › Serverless support with next.config.js › should maintain png format for old Safari
● Image Optimizer › Serverless support with next.config.js › should fail when url is missing
● Image Optimizer › Serverless support with next.config.js › should fail when w is missing
● Image Optimizer › Serverless support with next.config.js › should fail when q is missing
● Image Optimizer › Serverless support with next.config.js › should fail when q is greater than 100
● Image Optimizer › Serverless support with next.config.js › should fail when q is less than 1
● Image Optimizer › Serverless support with next.config.js › should fail when w is 0 or less
● Image Optimizer › Serverless support with next.config.js › should fail when w is not a number
● Image Optimizer › Serverless support with next.config.js › should fail when q is not a number
● Image Optimizer › Serverless support with next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › Serverless support with next.config.js › should fail when width is not in next.config.js
● Image Optimizer › Serverless support with next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › Serverless support with next.config.js › should resize relative url and png accept header
● Image Optimizer › Serverless support with next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › Serverless support with next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › Serverless support with next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › Serverless support with next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › Serverless support with next.config.js › should resize absolute url from localhost
● Image Optimizer › Serverless support with next.config.js › should fail when url has file protocol
● Image Optimizer › Serverless support with next.config.js › should fail when url has ftp protocol
● Image Optimizer › Serverless support with next.config.js › should fail when url fails to load an image
● Image Optimizer › Serverless support with next.config.js › should use cached image file when parameters are the same
● Image Optimizer › Serverless support with next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › Serverless support with next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › Serverless support with next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › dev support next.config.js cloudinary loader › should 404 when loader is not default
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
|
@timneutkens I added integration tests for this. PS heard you on a podcast today, nice job ;) |
Failing test suitesCommit: 6f8008f test/integration/image-optimizer/test/index.test.js
Expand output● Image Optimizer › config checks › should error when domains length exceeds 50
● Image Optimizer › config checks › should error when sizes length exceeds 25
● Image Optimizer › config checks › should error when deviceSizes contains invalid widths
● Image Optimizer › config checks › should error when imageSizes contains invalid widths
● Image Optimizer › config checks › should error when loader contains invalid value
● Image Optimizer › dev support w/o next.config.js › should return home page
● Image Optimizer › dev support w/o next.config.js › should maintain animated gif
● Image Optimizer › dev support w/o next.config.js › should maintain animated png
● Image Optimizer › dev support w/o next.config.js › should maintain animated webp
● Image Optimizer › dev support w/o next.config.js › should maintain vector svg
● Image Optimizer › dev support w/o next.config.js › should maintain ico format
● Image Optimizer › dev support w/o next.config.js › should maintain jpg format for old Safari
● Image Optimizer › dev support w/o next.config.js › should maintain png format for old Safari
● Image Optimizer › dev support w/o next.config.js › should fail when url is missing
● Image Optimizer › dev support w/o next.config.js › should fail when w is missing
● Image Optimizer › dev support w/o next.config.js › should fail when q is missing
● Image Optimizer › dev support w/o next.config.js › should fail when q is greater than 100
● Image Optimizer › dev support w/o next.config.js › should fail when q is less than 1
● Image Optimizer › dev support w/o next.config.js › should fail when w is 0 or less
● Image Optimizer › dev support w/o next.config.js › should fail when w is not a number
● Image Optimizer › dev support w/o next.config.js › should fail when q is not a number
● Image Optimizer › dev support w/o next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › dev support w/o next.config.js › should fail when width is not in next.config.js
● Image Optimizer › dev support w/o next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › dev support w/o next.config.js › should resize relative url and png accept header
● Image Optimizer › dev support w/o next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › dev support w/o next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › dev support w/o next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › dev support w/o next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › dev support w/o next.config.js › should fail when url has file protocol
● Image Optimizer › dev support w/o next.config.js › should fail when url has ftp protocol
● Image Optimizer › dev support w/o next.config.js › should use cached image file when parameters are the same
● Image Optimizer › dev support w/o next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › dev support w/o next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › dev support w/o next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › dev support with next.config.js › should return home page
● Image Optimizer › dev support with next.config.js › should maintain animated gif
● Image Optimizer › dev support with next.config.js › should maintain animated png
● Image Optimizer › dev support with next.config.js › should maintain animated webp
● Image Optimizer › dev support with next.config.js › should maintain vector svg
● Image Optimizer › dev support with next.config.js › should maintain ico format
● Image Optimizer › dev support with next.config.js › should maintain jpg format for old Safari
● Image Optimizer › dev support with next.config.js › should maintain png format for old Safari
● Image Optimizer › dev support with next.config.js › should fail when url is missing
● Image Optimizer › dev support with next.config.js › should fail when w is missing
● Image Optimizer › dev support with next.config.js › should fail when q is missing
● Image Optimizer › dev support with next.config.js › should fail when q is greater than 100
● Image Optimizer › dev support with next.config.js › should fail when q is less than 1
● Image Optimizer › dev support with next.config.js › should fail when w is 0 or less
● Image Optimizer › dev support with next.config.js › should fail when w is not a number
● Image Optimizer › dev support with next.config.js › should fail when q is not a number
● Image Optimizer › dev support with next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › dev support with next.config.js › should fail when width is not in next.config.js
● Image Optimizer › dev support with next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › dev support with next.config.js › should resize relative url and png accept header
● Image Optimizer › dev support with next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › dev support with next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › dev support with next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › dev support with next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › dev support with next.config.js › should resize absolute url from localhost
● Image Optimizer › dev support with next.config.js › should fail when url has file protocol
● Image Optimizer › dev support with next.config.js › should fail when url has ftp protocol
● Image Optimizer › dev support with next.config.js › should fail when url fails to load an image
● Image Optimizer › dev support with next.config.js › should use cached image file when parameters are the same
● Image Optimizer › dev support with next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › dev support with next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › dev support with next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › Server support w/o next.config.js › should return home page
● Image Optimizer › Server support w/o next.config.js › should maintain animated gif
● Image Optimizer › Server support w/o next.config.js › should maintain animated png
● Image Optimizer › Server support w/o next.config.js › should maintain animated webp
● Image Optimizer › Server support w/o next.config.js › should maintain vector svg
● Image Optimizer › Server support w/o next.config.js › should maintain ico format
● Image Optimizer › Server support w/o next.config.js › should maintain jpg format for old Safari
● Image Optimizer › Server support w/o next.config.js › should maintain png format for old Safari
● Image Optimizer › Server support w/o next.config.js › should fail when url is missing
● Image Optimizer › Server support w/o next.config.js › should fail when w is missing
● Image Optimizer › Server support w/o next.config.js › should fail when q is missing
● Image Optimizer › Server support w/o next.config.js › should fail when q is greater than 100
● Image Optimizer › Server support w/o next.config.js › should fail when q is less than 1
● Image Optimizer › Server support w/o next.config.js › should fail when w is 0 or less
● Image Optimizer › Server support w/o next.config.js › should fail when w is not a number
● Image Optimizer › Server support w/o next.config.js › should fail when q is not a number
● Image Optimizer › Server support w/o next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › Server support w/o next.config.js › should fail when width is not in next.config.js
● Image Optimizer › Server support w/o next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › Server support w/o next.config.js › should resize relative url and png accept header
● Image Optimizer › Server support w/o next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › Server support w/o next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › Server support w/o next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › Server support w/o next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › Server support w/o next.config.js › should fail when url has file protocol
● Image Optimizer › Server support w/o next.config.js › should fail when url has ftp protocol
● Image Optimizer › Server support w/o next.config.js › should use cached image file when parameters are the same
● Image Optimizer › Server support w/o next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › Server support w/o next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › Server support w/o next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › Server support with next.config.js › should return home page
● Image Optimizer › Server support with next.config.js › should maintain animated gif
● Image Optimizer › Server support with next.config.js › should maintain animated png
● Image Optimizer › Server support with next.config.js › should maintain animated webp
● Image Optimizer › Server support with next.config.js › should maintain vector svg
● Image Optimizer › Server support with next.config.js › should maintain ico format
● Image Optimizer › Server support with next.config.js › should maintain jpg format for old Safari
● Image Optimizer › Server support with next.config.js › should maintain png format for old Safari
● Image Optimizer › Server support with next.config.js › should fail when url is missing
● Image Optimizer › Server support with next.config.js › should fail when w is missing
● Image Optimizer › Server support with next.config.js › should fail when q is missing
● Image Optimizer › Server support with next.config.js › should fail when q is greater than 100
● Image Optimizer › Server support with next.config.js › should fail when q is less than 1
● Image Optimizer › Server support with next.config.js › should fail when w is 0 or less
● Image Optimizer › Server support with next.config.js › should fail when w is not a number
● Image Optimizer › Server support with next.config.js › should fail when q is not a number
● Image Optimizer › Server support with next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › Server support with next.config.js › should fail when width is not in next.config.js
● Image Optimizer › Server support with next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › Server support with next.config.js › should resize relative url and png accept header
● Image Optimizer › Server support with next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › Server support with next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › Server support with next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › Server support with next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › Server support with next.config.js › should resize absolute url from localhost
● Image Optimizer › Server support with next.config.js › should fail when url has file protocol
● Image Optimizer › Server support with next.config.js › should fail when url has ftp protocol
● Image Optimizer › Server support with next.config.js › should fail when url fails to load an image
● Image Optimizer › Server support with next.config.js › should use cached image file when parameters are the same
● Image Optimizer › Server support with next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › Server support with next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › Server support with next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › Serverless support with next.config.js › should return home page
● Image Optimizer › Serverless support with next.config.js › should maintain animated gif
● Image Optimizer › Serverless support with next.config.js › should maintain animated png
● Image Optimizer › Serverless support with next.config.js › should maintain animated webp
● Image Optimizer › Serverless support with next.config.js › should maintain vector svg
● Image Optimizer › Serverless support with next.config.js › should maintain ico format
● Image Optimizer › Serverless support with next.config.js › should maintain jpg format for old Safari
● Image Optimizer › Serverless support with next.config.js › should maintain png format for old Safari
● Image Optimizer › Serverless support with next.config.js › should fail when url is missing
● Image Optimizer › Serverless support with next.config.js › should fail when w is missing
● Image Optimizer › Serverless support with next.config.js › should fail when q is missing
● Image Optimizer › Serverless support with next.config.js › should fail when q is greater than 100
● Image Optimizer › Serverless support with next.config.js › should fail when q is less than 1
● Image Optimizer › Serverless support with next.config.js › should fail when w is 0 or less
● Image Optimizer › Serverless support with next.config.js › should fail when w is not a number
● Image Optimizer › Serverless support with next.config.js › should fail when q is not a number
● Image Optimizer › Serverless support with next.config.js › should fail when domain is not defined in next.config.js
● Image Optimizer › Serverless support with next.config.js › should fail when width is not in next.config.js
● Image Optimizer › Serverless support with next.config.js › should resize relative url and webp Firefox accept header
● Image Optimizer › Serverless support with next.config.js › should resize relative url and png accept header
● Image Optimizer › Serverless support with next.config.js › should resize relative url with invalid accept header as png
● Image Optimizer › Serverless support with next.config.js › should resize relative url with invalid accept header as gif
● Image Optimizer › Serverless support with next.config.js › should resize relative url with invalid accept header as tiff
● Image Optimizer › Serverless support with next.config.js › should resize relative url and Chrome accept header as webp
● Image Optimizer › Serverless support with next.config.js › should resize absolute url from localhost
● Image Optimizer › Serverless support with next.config.js › should fail when url has file protocol
● Image Optimizer › Serverless support with next.config.js › should fail when url has ftp protocol
● Image Optimizer › Serverless support with next.config.js › should fail when url fails to load an image
● Image Optimizer › Serverless support with next.config.js › should use cached image file when parameters are the same
● Image Optimizer › Serverless support with next.config.js › should set 304 status without body when etag matches if-none-match
● Image Optimizer › Serverless support with next.config.js › should proxy-pass unsupported image types and should not cache file
● Image Optimizer › Serverless support with next.config.js › should not resize if requested width is larger than original source image
● Image Optimizer › dev support next.config.js cloudinary loader › should 404 when loader is not default
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
● Test suite failed to run
|
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 10.5s | 10.2s | -349ms |
nodeModulesSize | 77.7 MB | 82.4 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.474 | 2.457 | -0.02 |
/ avg req/sec | 1010.51 | 1017.36 | +6.85 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.333 | 1.263 | -0.07 |
/error-in-render avg req/sec | 1875.56 | 1979.51 | +103.95 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 614 B | 614 B | ✓ |
link.html gzip | 621 B | 621 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 13.5s | 13.3s | -280ms |
nodeModulesSize | 82.4 MB | 82.4 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1 MB | 1 MB | |
404.html | 2.67 kB | 2.67 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1 MB | 1 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.16 MB | 5.16 MB |
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 8.9s | 8.9s | -34ms |
nodeModulesSize | 82.4 MB | 82.4 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.227 | 2.165 | -0.06 |
/ avg req/sec | 1122.37 | 1154.93 | +32.56 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.174 | 1.143 | -0.03 |
/error-in-render avg req/sec | 2128.61 | 2187.06 | +58.45 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 614 B | 614 B | ✓ |
link.html gzip | 621 B | 621 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 10.9s | 11s | |
nodeModulesSize | 82.4 MB | 82.4 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1 MB | 1 MB | |
404.html | 2.67 kB | 2.67 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1 MB | 1 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.16 MB | 5.16 MB |
57c5081
to
f70fd15
Compare
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 9.9s | 10s | |
nodeModulesSize | 82.4 MB | 82.4 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.432 | 2.361 | -0.07 |
/ avg req/sec | 1027.98 | 1058.83 | +30.85 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.279 | 1.281 | 0 |
/error-in-render avg req/sec | 1955.25 | 1951.53 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
index.html gzip | 614 B | 614 B | ✓ |
link.html gzip | 621 B | 621 B | ✓ |
withRouter.html gzip | 608 B | 608 B | ✓ |
Overall change | 1.84 kB | 1.84 kB | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
buildDuration | 11.7s | 11.7s | -34ms |
nodeModulesSize | 82.4 MB | 82.4 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
677f882d2ed8..34b9.js gzip | 12.8 kB | 12.8 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-f501b4a..c42e.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 59 kB | 59 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_app-7231d4b..5856.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-01375..90b6.js gzip | 3.69 kB | 3.69 kB | ✓ |
hooks-d4591d..e7c2.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-db223d9..dbd7.js gzip | 1.61 kB | 1.61 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 8.27 kB | 8.27 kB | ✓ |
Client Build Manifests
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_buildManifest.js gzip | 322 B | 322 B | ✓ |
Overall change | 322 B | 322 B | ✓ |
Serverless bundles Overall increase ⚠️
vercel/next.js canary | dkempner/next.js dont-parse-body-twice | Change | |
---|---|---|---|
_error.js | 1 MB | 1 MB | |
404.html | 2.67 kB | 2.67 kB | ✓ |
hooks.html | 1.92 kB | 1.92 kB | ✓ |
index.js | 1 MB | 1 MB | |
link.js | 1.06 MB | 1.06 MB | |
routerDirect.js | 1.05 MB | 1.05 MB | |
withRouter.js | 1.05 MB | 1.05 MB | |
Overall change | 5.16 MB | 5.16 MB |
Thanks @dkempner great PR 💯 |
Why
Some users prefer to use a custom server implementation that handles body parsing. If they do this, they have no way to opt out of all body parsing in API Routes. Requests with bodies die if next's
bodyParser
is not disabled. Requests just hang forever.Instead of adding this config to every API Route, we do a simple check to avoid parsing the body twice.
Fixes #8315
Fixes #7960