next.js icon indicating copy to clipboard operation
next.js copied to clipboard

feat(next-server): implement brotli compression

Open nicksrandall opened this issue 4 years ago • 24 comments

This is is a follow up to #17766. I'm new this repo so I need some help on figuring out how to run the tests and make sure that everything is working. Any guidance on how I should proceed would be very helpful.

Background

TL;DR

Next.js uses expressjs/compression to handle gzip compression for its HTTP server.

There has been several attempts (172, 173, 158) to add brotli compression support to that library and so far none have been successfully merged (for various reasons). One of the largest reasons why this has been a challenge is because that library requires that any code is supported all the way down to Node 0.8. Also, it uses the accepts npm package which (although it is spec compliant) does not generally do what users actually want with regard to how it determines which compression encoding to use.

I have re-written the expressjs/compression library in typescript and swapped out the accetps library for @hapi/accepts which handles this issue in a more preferred way. I've also extended the library to add support for brotli compression (all of this has been added to the next-server codebase.

What is the problem that is trying to be solved?

The brotli compression algorithm is generally more efficient than gzip and now supported in recent versions of Node.js and in all major browsers. Http clients (like web browsers) can specify an "Accept-Encoding" header in their requests to share which compression algorithms they support and prefer. According to the spec, when two values have the same preference, the first value will be used (seems reasonable right?).

However, many browsers (including Google Chrome) send the "br" (brotli) value last even though it is generally preferred to the other algorithms (ie they send gzip, deflate, br instead of br, gzip, deflate). This causes the brotli compression algorithm to be de-prioritized and unused.

What can we do about it?

We can follow a well-established convention to deviate from the spec slightly and force the server to choose the "preferred" compression algorithm when the client has (basically) stated that it doesn't not explicitly prefer one algorithm over another.

So, for example, if we get an "Accept-Encoding" header value of gzip, deflate, br we will use br (brotli) because brotli is more efficient over gzip and their preference (set by client) is both 1 (the default value).

However, if we get gzip;q=0.8, br;q=0.1 (q is level of preference from 0 to 1 where 1 is most preferred) we will use 'gzip' because the client has explicitly stated that it is more preferred than brotli.

The @hapi/accepts library has this behavior by default so I'm using that as part of my compression library.

nicksrandall avatar Nov 13 '20 17:11 nicksrandall

I've tested this using several of the example repos and they all seem to work but I am unable to get the test suite to work locally. Tests are failing with some jest timers issue?:

 FAIL  unit/find-config.unit.test.js
  ● Test suite failed to run

    TypeError: _fakeTimers(...).JestFakeTimers is not a constructor

      22 | `
      23 |
    > 24 | class CustomEnvironment extends NodeEnvironment {
         | ^
      25 |   async setup() {
      26 |     await super.setup()
      27 |     // Since ie11 doesn't like dataURIs we have to spin up a

      at new NodeEnvironment (../node_modules/jest-environment-node/build/index.js:121:23)
      at new CustomEnvironment (jest-environment.js:24:1)

nicksrandall avatar Nov 13 '20 17:11 nicksrandall

Failing test suites

Commit: 2d682659ce23393b0f2690187e23d1cdbb05f543

test/unit/next-server-compress.unit.test.js

Expand output

● Test suite failed to run

Jest encountered an unexpected token

This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".

Here's what you can do:
 • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
 • If you need a custom transformation specify a "transform" option in your config.
 • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html

Details:

SyntaxError: /home/runner/work/next.js/next.js/test/unit/next-server-compress.unit.test.js: Unexpected token (429:40)

  427 |         .on(
  428 |           'response',
> 429 |           unchunk('gzip', onchunk, (err?: Error) => {
      |                                         ^
  430 |             if (err) return reject(err)
  431 |             server.close(resolve)
  432 |           })

  at Object._raise (../node_modules/@babel/parser/src/parser/error.js:60:45)
  at Object.raiseWithData (../node_modules/@babel/parser/src/parser/error.js:55:17)
  at Object.raise (../node_modules/@babel/parser/src/parser/error.js:39:17)
  at Object.unexpected (../node_modules/@babel/parser/src/parser/util.js:139:16)
  at Object.parseExprAtom (../node_modules/@babel/parser/src/parser/expression.js:1171:20)
  at Object.parseExprAtom (../node_modules/@babel/parser/src/plugins/jsx/index.js:535:22)
  at Object.parseExprSubscripts (../node_modules/@babel/parser/src/parser/expression.js:568:23)
  at Object.parseUpdate (../node_modules/@babel/parser/src/parser/expression.js:548:21)
  at Object.parseMaybeUnary (../node_modules/@babel/parser/src/parser/expression.js:532:17)
  at Object.parseExprOps (../node_modules/@babel/parser/src/parser/expression.js:348:23)

ijjk avatar Nov 13 '20 18:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 16s 15.6s -381ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.949 2.921 -0.03
/ avg req/sec 847.84 855.82 +7.98
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.817 1.777 -0.04
/error-in-render avg req/sec 1375.72 1406.87 +31.15
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 17.6s 18.7s ⚠️ +1.1s
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: 2d682659ce23393b0f2690187e23d1cdbb05f543

ijjk avatar Nov 13 '20 18:11 ijjk

Failing test suites

Commit: 2f962ecf86c9d8f7479d9f813bbb3f20770aaba1

test/unit/next-server-compress.unit.test.js

Expand output

● Test suite failed to run

Jest encountered an unexpected token

This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".

Here's what you can do:
 • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
 • If you need a custom transformation specify a "transform" option in your config.
 • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.

You'll find more details and examples of these config options in the docs:
https://jestjs.io/docs/en/configuration.html

Details:

SyntaxError: /home/runner/work/next.js/next.js/test/unit/next-server-compress.unit.test.js: Unexpected token (429:40)

  427 |         .on(
  428 |           'response',
> 429 |           unchunk('gzip', onchunk, (err?: Error) => {
      |                                         ^
  430 |             if (err) return reject(err)
  431 |             server.close(resolve)
  432 |           })

  at Object._raise (../node_modules/@babel/parser/src/parser/error.js:60:45)
  at Object.raiseWithData (../node_modules/@babel/parser/src/parser/error.js:55:17)
  at Object.raise (../node_modules/@babel/parser/src/parser/error.js:39:17)
  at Object.unexpected (../node_modules/@babel/parser/src/parser/util.js:139:16)
  at Object.parseExprAtom (../node_modules/@babel/parser/src/parser/expression.js:1171:20)
  at Object.parseExprAtom (../node_modules/@babel/parser/src/plugins/jsx/index.js:535:22)
  at Object.parseExprSubscripts (../node_modules/@babel/parser/src/parser/expression.js:568:23)
  at Object.parseUpdate (../node_modules/@babel/parser/src/parser/expression.js:548:21)
  at Object.parseMaybeUnary (../node_modules/@babel/parser/src/parser/expression.js:532:17)
  at Object.parseExprOps (../node_modules/@babel/parser/src/parser/expression.js:348:23)

ijjk avatar Nov 13 '20 18:11 ijjk

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 12.4s 12.1s -324ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.257 2.396 ⚠️ +0.14
/ avg req/sec 1107.78 1043.44 ⚠️ -64.34
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.223 1.331 ⚠️ +0.11
/error-in-render avg req/sec 2044.97 1878.14 ⚠️ -166.83
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 13.8s 14.7s ⚠️ +882ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: 2f962ecf86c9d8f7479d9f813bbb3f20770aaba1

ijjk avatar Nov 13 '20 18:11 ijjk

Failing test suites

Commit: c017c4f1422296f23c8f4c8265a7c409c1c00071

test/unit/next-server-compress.unit.test.js

Expand output

● Test suite failed to run

Cannot find module 'supertest' from 'next-server-compress.unit.test.js'

  1 | import zlib from 'zlib'
  2 | import http from 'http'
> 3 | import request from 'supertest'
    | ^
  4 | import crypto from 'crypto'
  5 | import Compression from 'next/dist/server/compression'
  6 | 

  at Resolver.resolveModule (../node_modules/jest-resolve/build/index.js:259:17)
  at Object.<anonymous> (unit/next-server-compress.unit.test.js:3:1)

ijjk avatar Nov 13 '20 18:11 ijjk

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 13.7s 13.2s -507ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.391 2.44 ⚠️ +0.05
/ avg req/sec 1045.76 1024.76 ⚠️ -21
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.255 1.291 ⚠️ +0.04
/error-in-render avg req/sec 1992.24 1935.96 ⚠️ -56.28
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 15.2s 15.2s -21ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: c017c4f1422296f23c8f4c8265a7c409c1c00071

ijjk avatar Nov 13 '20 18:11 ijjk

Failing test suites

Commit: e202de7fde92bb2c041d1cf3b0034d2c0afab9c0

test/unit/next-server-compress.unit.test.js

Expand output

● Test suite failed to run

Cannot find module 'next/dist/server/compression' from 'next-server-compress.unit.test.js'

  3 | import request from 'supertest'
  4 | import crypto from 'crypto'
> 5 | import Compression from 'next/dist/server/compression'
    | ^
  6 | 
  7 | describe('next-server compression', () => {
  8 |   it('should skip HEAD', () => {

  at Resolver.resolveModule (../node_modules/jest-resolve/build/index.js:259:17)
  at Object.<anonymous> (unit/next-server-compress.unit.test.js:5:1)

ijjk avatar Nov 13 '20 18:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 12.5s 12.1s -410ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.382 2.369 -0.01
/ avg req/sec 1049.37 1055.2 +5.83
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.413 1.372 -0.04
/error-in-render avg req/sec 1769.22 1821.8 +52.58
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 14.6s 14.4s -142ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: e202de7fde92bb2c041d1cf3b0034d2c0afab9c0

ijjk avatar Nov 13 '20 18:11 ijjk

Failing test suites

Commit: d9fc2e26398c3b6acf1b17e4c8be097e4459748f

test/unit/next-server-compress.unit.test.js

Expand output

● Test suite failed to run

SyntaxError: /home/runner/work/next.js/next.js/packages/next/next-server/server/compression.ts: Support for the experimental syntax 'flow' isn't currently enabled (9:8):

   7 | import Accept from '@hapi/accept'
   8 | 
>  9 | export type ServerResponse = HttpServerResponse & {
     |        ^
  10 |   flush?: () => void
  11 |   _header?: { [key: string]: any }
  12 |   _implicitHeader?: () => void

Add @babel/preset-flow (https://git.io/JfeDn) to the 'presets' section of your Babel config to enable transformation.
If you want to leave it as-is, add @babel/plugin-syntax-flow (https://git.io/vb4yb) to the 'plugins' section to enable parsing.

  at Parser._raise (../node_modules/@babel/parser/src/parser/error.js:60:45)
  at Parser.raiseWithData (../node_modules/@babel/parser/src/parser/error.js:55:17)
  at Parser.expectOnePlugin (../node_modules/@babel/parser/src/parser/util.js:157:18)
  at Parser.isExportDefaultSpecifier (../node_modules/@babel/parser/src/parser/statement.js:1876:16)
  at Parser.maybeParseExportDefaultSpecifier (../node_modules/@babel/parser/src/parser/statement.js:1753:14)
  at Parser.parseExport (../node_modules/@babel/parser/src/parser/statement.js:1698:29)
  at Parser.parseStatementContent (../node_modules/@babel/parser/src/parser/statement.js:255:25)
  at Parser.parseStatement (../node_modules/@babel/parser/src/parser/statement.js:157:17)
  at Parser.parseBlockOrModuleBlockBody (../node_modules/@babel/parser/src/parser/statement.js:877:25)
  at Parser.parseBlockBody (../node_modules/@babel/parser/src/parser/statement.js:847:10)

ijjk avatar Nov 13 '20 18:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 12s 12s -51ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.103 2.215 ⚠️ +0.11
/ avg req/sec 1188.86 1128.48 ⚠️ -60.38
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.211 1.134 -0.08
/error-in-render avg req/sec 2063.78 2205.45 +141.67
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 13.5s 13.1s -398ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: d9fc2e26398c3b6acf1b17e4c8be097e4459748f

ijjk avatar Nov 13 '20 18:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 13.3s 13.2s -92ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.413 2.377 -0.04
/ avg req/sec 1036.14 1051.57 +15.43
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.259 1.253 -0.01
/error-in-render avg req/sec 1986.08 1994.46 +8.38
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 15.1s 15.1s -68ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: b7a4770ef2603c466a88844757d21430e21f2c8c

ijjk avatar Nov 13 '20 19:11 ijjk

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 10s 10.2s ⚠️ +118ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 1.876 1.882 ⚠️ +0.01
/ avg req/sec 1332.73 1328.1 ⚠️ -4.63
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 0.991 1.019 ⚠️ +0.03
/error-in-render avg req/sec 2522.39 2454.45 ⚠️ -67.94
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 11.3s 11.7s ⚠️ +375ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: 6454c11c08da6ee19640fb4375e8f761230e014a

ijjk avatar Nov 13 '20 19:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 12.1s 12.2s ⚠️ +91ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.263 2.281 ⚠️ +0.02
/ avg req/sec 1104.61 1096.01 ⚠️ -8.6
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.221 1.204 -0.02
/error-in-render avg req/sec 2047.61 2077.11 +29.5
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 971 B 971 B
link.html gzip 978 B 978 B
withRouter.html gzip 965 B 965 B
Overall change 2.91 kB 2.91 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 13.7s 14.1s ⚠️ +366ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..d9fb.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-b0b971f..64a5.js gzip 6.5 kB 6.5 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.23 kB 8.23 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-22cb0cf..dule.js gzip 5.61 kB 5.61 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 916 kB 916 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 916 kB 916 kB
link.js 974 kB 974 kB
routerDirect.js 967 kB 967 kB
withRouter.js 967 kB 967 kB
Overall change 4.75 MB 4.75 MB
Commit: 5bfb7715672e6052cbf0d939c589ddb85f8187fd

ijjk avatar Nov 13 '20 19:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 14.3s 14.3s -73ms
nodeModulesSize 85 MB 86 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.578 2.498 -0.08
/ avg req/sec 969.9 1000.76 +30.86
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.399 1.341 -0.06
/error-in-render avg req/sec 1786.92 1863.83 +76.91
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..776c.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-95c0df2..6c91.js gzip 6.53 kB 6.53 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.26 kB 8.26 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-8ead8dd..dule.js gzip 5.64 kB 5.64 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 968 B 968 B
link.html gzip 974 B 974 B
withRouter.html gzip 961 B 961 B
Overall change 2.9 kB 2.9 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 16.2s 17s ⚠️ +856ms
nodeModulesSize 85 MB 86 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..776c.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-95c0df2..6c91.js gzip 6.53 kB 6.53 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.26 kB 8.26 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-8ead8dd..dule.js gzip 5.64 kB 5.64 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 918 kB 918 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 918 kB 918 kB
link.js 976 kB 976 kB
routerDirect.js 969 kB 969 kB
withRouter.js 969 kB 969 kB
Overall change 4.76 MB 4.76 MB
Commit: b35d0f46ca8e123b36574b6bee61964768f50637

ijjk avatar Nov 16 '20 21:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 10.5s 10.4s -134ms
nodeModulesSize 85 MB 86 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 1.958 1.944 -0.01
/ avg req/sec 1276.99 1285.89 +8.9
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.075 1.021 -0.05
/error-in-render avg req/sec 2325.49 2447.79 +122.3
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..776c.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-95c0df2..6c91.js gzip 6.53 kB 6.53 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.26 kB 8.26 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-8ead8dd..dule.js gzip 5.64 kB 5.64 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 968 B 968 B
link.html gzip 974 B 974 B
withRouter.html gzip 961 B 961 B
Overall change 2.9 kB 2.9 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 11.8s 11.7s -100ms
nodeModulesSize 85 MB 86 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..776c.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-95c0df2..6c91.js gzip 6.53 kB 6.53 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..dule.js gzip 8.26 kB 8.26 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-8ead8dd..dule.js gzip 5.64 kB 5.64 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.6 kB 53.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-d9a15a0..130a.js gzip 1.57 kB 1.57 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.98 kB 7.98 kB
Client Pages Modern
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-f2fcc..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-973cce3..dule.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.6 kB 5.6 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 918 kB 918 kB
404.html 4.61 kB 4.61 kB
hooks.html 3.86 kB 3.86 kB
index.js 918 kB 918 kB
link.js 976 kB 976 kB
routerDirect.js 969 kB 969 kB
withRouter.js 969 kB 969 kB
Overall change 4.76 MB 4.76 MB
Commit: 827637b3c3fcc97fadb76cc048aa1a043c8e73c5

ijjk avatar Nov 17 '20 14:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 10.2s 10.5s ⚠️ +235ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.314 2.298 -0.02
/ avg req/sec 1080.36 1087.71 +7.35
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.381 1.38 0
/error-in-render avg req/sec 1810.21 1810.95 +0.74
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..4972.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-f1a49fb..e45e.js gzip 6.52 kB 6.52 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-b618194..5477.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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 613 B 613 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
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 12s 12s ⚠️ +5ms
nodeModulesSize 84.9 MB 85.9 MB ⚠️ +991 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..4972.js gzip 12.7 kB 12.7 kB
framework.HASH.js gzip 39 kB 39 kB
main-f1a49fb..e45e.js gzip 6.52 kB 6.52 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.9 kB 58.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-b618194..5477.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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 914 kB 914 kB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 915 kB 915 kB
link.js 973 kB 973 kB
routerDirect.js 966 kB 966 kB
withRouter.js 966 kB 966 kB
Overall change 4.74 MB 4.74 MB
Commit: 81fedbda0d3e9a14745ef9bb969ac50994c03e89

ijjk avatar Nov 18 '20 22:11 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 8.9s 9s ⚠️ +98ms
nodeModulesSize 84.9 MB 85.2 MB ⚠️ +239 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 1.983 1.99 ⚠️ +0.01
/ avg req/sec 1260.67 1256.27 ⚠️ -4.4
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.172 1.139 -0.03
/error-in-render avg req/sec 2132.68 2195.83 +63.15
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..8b81.js gzip 12.8 kB 12.8 kB
framework.HASH.js gzip 39 kB 39 kB
main-28bd544..bd8d.js gzip 6.54 kB 6.54 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 59 kB 59 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-b618194..5477.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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 614 B 614 B
link.html gzip 621 B 621 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 10.6s 9.4s -1.1s
nodeModulesSize 84.9 MB 85.2 MB ⚠️ +239 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..8b81.js gzip 12.8 kB 12.8 kB
framework.HASH.js gzip 39 kB 39 kB
main-28bd544..bd8d.js gzip 6.54 kB 6.54 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 59 kB 59 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-3b0cf13..85f8.js gzip 1.28 kB 1.28 kB
_error-6f635..c393.js gzip 3.44 kB 3.44 kB
hooks-d4ffc3..9e0f.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-b618194..5477.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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 915 kB 915 kB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 915 kB 915 kB
link.js 973 kB 973 kB
routerDirect.js 966 kB 966 kB
withRouter.js 966 kB 966 kB
Overall change 4.74 MB 4.74 MB
Commit: cc6c9da7d728afcd5b8bea947c1f8dc0c713bbca

ijjk avatar Nov 23 '20 15:11 ijjk

@timneutkens do you have any feedback for this PR? Its the followup you requested in #17766

nicksrandall avatar Dec 01 '20 17:12 nicksrandall

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 11.7s 11.4s -361ms
nodeModulesSize 85 MB 85.2 MB ⚠️ +239 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 2.568 2.534 -0.03
/ avg req/sec 973.42 986.39 +12.97
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.66 1.604 -0.06
/error-in-render avg req/sec 1506.08 1559.03 +52.95
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..8b6e.js gzip 12.8 kB 12.8 kB
framework.HASH.js gzip 39 kB 39 kB
main-90b3d5a..55ad.js gzip 6.54 kB 6.54 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 59 kB 59 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-7231d4b..5856.js gzip 1.28 kB 1.28 kB
_error-fca3d..2eb1.js gzip 3.44 kB 3.44 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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress 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
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 13.7s 13.5s -146ms
nodeModulesSize 85 MB 85.2 MB ⚠️ +239 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..8b6e.js gzip 12.8 kB 12.8 kB
framework.HASH.js gzip 39 kB 39 kB
main-90b3d5a..55ad.js gzip 6.54 kB 6.54 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 59 kB 59 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-7231d4b..5856.js gzip 1.28 kB 1.28 kB
_error-fca3d..2eb1.js gzip 3.44 kB 3.44 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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 996 kB 996 kB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 996 kB 996 kB
link.js 1.05 MB 1.05 MB
routerDirect.js 1.04 MB 1.04 MB
withRouter.js 1.04 MB 1.04 MB
Overall change 5.13 MB 5.13 MB
Commit: b64fe2c1d224cc4a24cc83a80e8adeaaf3a9e9ad

ijjk avatar Dec 01 '20 18:12 ijjk

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 8.2s 8.3s ⚠️ +39ms
nodeModulesSize 82.4 MB 82.6 MB ⚠️ +239 kB
Page Load Tests Overall increase ✓
vercel/next.js canary nicksrandall/next.js brotli-compress Change
/ failed reqs 0 0
/ total time (seconds) 1.69 1.653 -0.04
/ avg req/sec 1479.5 1512.13 +32.63
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.068 1.052 -0.02
/error-in-render avg req/sec 2339.75 2375.83 +36.08
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..8b6e.js gzip 12.8 kB 12.8 kB
framework.HASH.js gzip 39 kB 39 kB
main-3c9ff84..1d7c.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 nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-7231d4b..5856.js gzip 1.28 kB 1.28 kB
_error-fca3d..2eb1.js gzip 3.44 kB 3.44 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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary nicksrandall/next.js brotli-compress Change
index.html gzip 614 B 614 B
link.html gzip 620 B 620 B
withRouter.html gzip 608 B 608 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary nicksrandall/next.js brotli-compress Change
buildDuration 10.1s 9.8s -300ms
nodeModulesSize 82.4 MB 82.6 MB ⚠️ +239 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary nicksrandall/next.js brotli-compress Change
677f882d2ed8..8b6e.js gzip 12.8 kB 12.8 kB
framework.HASH.js gzip 39 kB 39 kB
main-3c9ff84..1d7c.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 nicksrandall/next.js brotli-compress Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_app-7231d4b..5856.js gzip 1.28 kB 1.28 kB
_error-fca3d..2eb1.js gzip 3.44 kB 3.44 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.01 kB 8.01 kB
Client Build Manifests
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary nicksrandall/next.js brotli-compress Change
_error.js 997 kB 997 kB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 998 kB 998 kB
link.js 1.05 MB 1.05 MB
routerDirect.js 1.04 MB 1.04 MB
withRouter.js 1.04 MB 1.04 MB
Overall change 5.14 MB 5.14 MB
Commit: 343f5c5046b4ac58a42460ff097606a370b96703

ijjk avatar Dec 02 '20 22:12 ijjk

@Timer @chibicode @lfades Anything I can do to help with the review of this work?

nicksrandall avatar Dec 15 '20 21:12 nicksrandall

@Timer @chibicode @lfades It's been a few months. Anything I can do to help with the review of this work?

nicksrandall avatar Jan 22 '21 21:01 nicksrandall

Hi, sorry for the delay here, if there's still interest in landing this feel free to bring this up to date and we can get it reviewed!

ijjk avatar Aug 08 '22 02:08 ijjk

Anything i can help with regards to this PR :) ?

royvou avatar Feb 07 '23 19:02 royvou