Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(next-server): implement brotli compression #19151

Closed
wants to merge 9 commits into from

Conversation

nicksrandall
Copy link

@nicksrandall nicksrandall commented Nov 13, 2020

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
Copy link
Author

nicksrandall commented Nov 13, 2020

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)

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

Failing test suites

Commit: 2d68265

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
Copy link
Member

ijjk commented Nov 13, 2020

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: 2d68265

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

Failing test suites

Commit: 2f962ec

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
Copy link
Member

ijjk commented Nov 13, 2020

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: 2f962ec

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

Failing test suites

Commit: c017c4f

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
Copy link
Member

ijjk commented Nov 13, 2020

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: c017c4f

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

Failing test suites

Commit: e202de7

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
Copy link
Member

ijjk commented Nov 13, 2020

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: e202de7

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

Failing test suites

Commit: d9fc2e2

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
Copy link
Member

ijjk commented Nov 13, 2020

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: d9fc2e2

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

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: b7a4770

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

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: 6454c11

@ijjk
Copy link
Member

ijjk commented Nov 13, 2020

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: 5bfb771

@ijjk
Copy link
Member

ijjk commented Nov 16, 2020

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: b35d0f4

@ijjk
Copy link
Member

ijjk commented Nov 17, 2020

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: 827637b

@vercel vercel bot temporarily deployed to Preview November 18, 2020 22:10 Inactive
@ijjk
Copy link
Member

ijjk commented Nov 18, 2020

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: 81fedbd

@ijjk
Copy link
Member

ijjk commented Dec 2, 2020

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: 343f5c5

@vercel vercel bot temporarily deployed to Preview December 7, 2020 21:11 Inactive
@vercel vercel bot temporarily deployed to Preview December 15, 2020 21:22 Inactive
@nicksrandall
Copy link
Author

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

@nicksrandall
Copy link
Author

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

@ijjk
Copy link
Member

ijjk commented Aug 8, 2022

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 ijjk force-pushed the canary branch 3 times, most recently from df8579c to 47e5ebe Compare October 25, 2022 16:15
@ijjk ijjk force-pushed the canary branch 2 times, most recently from e078ebe to 6b863fe Compare December 2, 2022 05:49
@royvou
Copy link

royvou commented Feb 7, 2023

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

@ijjk ijjk requested a review from a team as a code owner May 4, 2023 16:19
Copy link
Member

@ijjk ijjk left a comment

Choose a reason for hiding this comment

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

Going to close this as stale, feel free to re-open if able to revive this!

@ijjk ijjk closed this Jun 15, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants