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

ncc inlining optimizations #18752

Merged
merged 6 commits into from
Nov 4, 2020
Merged

ncc inlining optimizations #18752

merged 6 commits into from
Nov 4, 2020

Conversation

guybedford
Copy link
Contributor

@guybedford guybedford commented Nov 3, 2020

This adds ncc inlining optimizations for the following dependencies:

  • cacache
  • schema-utils
  • find-cache-dir
  • mkdirp
  • neo-async
  • web-vitals

The slight increase in output in the reports here is due to the variation of the bundled version of web-vitals.

In addition, this moves ast-types to be a devDependencies entry instead of in dependencies as it was before #14746 as I could not see any production usage (ping @prateekbh). Happy to separate that out into a separate PR if preferred too.

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Failing test suites

Commit: a43ba6a

test/integration/absolute-assetprefix/test/index.test.js

  • absolute assetPrefix with path prefix > should not fetch static data from a CDN
  • absolute assetPrefix with path prefix > should fetch from cache correctly
  • absolute assetPrefix with path prefix > should work with getStaticPaths prerendered
  • absolute assetPrefix with path prefix > should work with getStaticPaths fallback
  • absolute assetPrefix with path prefix > should work with getServerSideProps
Expand output

● absolute assetPrefix with path prefix › should not fetch static data from a CDN

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● absolute assetPrefix with path prefix › should fetch from cache correctly

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● absolute assetPrefix with path prefix › should work with getStaticPaths prerendered

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● absolute assetPrefix with path prefix › should work with getStaticPaths fallback

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● absolute assetPrefix with path prefix › should work with getServerSideProps

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Test suite failed to run

TypeError: Cannot read property 'pid' of undefined

  275 | export async function killApp(instance) {
  276 |   await new Promise((resolve, reject) => {
> 277 |     treeKill(instance.pid, (err) => {
      |                       ^
  278 |       if (err) {
  279 |         if (
  280 |           process.platform === 'win32' &&

  at lib/next-test-utils.js:277:23
  at killApp (lib/next-test-utils.js:276:9)
  at integration/absolute-assetprefix/test/index.test.js:65:18

test/integration/amp-export-validation/test/index.test.js

  • AMP Validation on Export > should have shown errors during build
  • AMP Validation on Export > should export AMP pages
  • AMP Validation on Export > shows AMP warning without throwing error
  • AMP Validation on Export > throws error on AMP error
  • AMP Validation on Export > shows warning and error when throwing error
Expand output

● AMP Validation on Export › should have shown errors during build

expect(received).toMatch(expected)

Expected pattern: /error.*The parent tag of tag 'img' is 'div', but it can only be 'i-amphtml-sizer-intrinsic'\./
Received string:  "info  - Creating an optimized production build...
info  - Using external babel configuration from /home/runner/work/next.js/next.js/test/.babelrc
warn  - Detected next.config.js, no exported configuration found. https://err.sh/vercel/next.js/empty-configuration
Failed to compile.·
Error: Cannot find module '/home/runner/work/next.js/next.js/node_modules/next/dist/compiled/cacache/index.js'. Please verify that the package.json has a valid \"main\" entry··
> Build error occurred
Error: > Build failed because of webpack errors

  13 | if(clientResult.errors.length>0){result={warnings:[...clientResult.warnings],errors:[...clientResult.errors]};}else{const serverResult=await(0,_compiler.runCompiler)(configs[1]);result={warnings:[...clientResult.warnings,...serverResult.warnings],errors:[...clientResult.errors,...serverResult.errors]};}}else{result=await(0,_compiler.runCompiler)(configs);}const webpackBuildEnd=process.hrtime(webpackBuildStart);if(buildSpinner){buildSpinner.stopAndPersist();}result=(0,_formatWebpackMessages.default)(result);if(result.errors.length>0){// Only keep the first error. Others are often indicative
  14 | // of the same problem, but confuse the reader with noise.
> 15 | if(result.errors.length>1){result.errors.length=1;}const error=result.errors.join('\n\n');console.error(_chalk.default.red('Failed to compile.\n'));if(error.indexOf('private-next-pages')>-1&&error.indexOf('does not contain a default export')>-1){const page_name_regex=/*#__PURE__*/_wrapRegExp(/'private\x2Dnext\x2Dpages\/([\0-&\(-\uFFFF]*)'/,{page_name:1});const parsed=page_name_regex.exec(error);const page_name=parsed&&parsed.groups&&parsed.groups.page_name;throw new Error(`webpack build failed: found page without a React Component as default export in pages/${page_name}\n\nSee https://err.sh/vercel/next.js/page-without-valid-component for more info.`);}console.error(error);console.error();if(error.indexOf('private-next-pages')>-1||error.indexOf('__next_polyfill__')>-1){throw new Error('> webpack config.resolve.alias was incorrectly overridden. https://err.sh/vercel/next.js/invalid-resolve-alias');}throw new Error('> Build failed because of webpack errors');}else{telemetry.record((0,_events.eventBuildCompleted)(pagePaths,{durationInSeconds:webpackBuildEnd[0]}));if(result.warnings.length>0){Log.warn('Compiled with warnings\n');console.warn(result.warnings.join('\n\n'));console.warn();}else{Log.info('Compiled successfully');}}const postCompileSpinner=(0,_spinner.default)({prefixText:`${Log.prefixes.info} Collecting page data`});const manifestPath=_path.default.join(distDir,isLikeServerless?_constants2.SERVERLESS_DIRECTORY:_constants2.SERVER_DIRECTORY,_constants2.PAGES_MANIFEST);const buildManifestPath=_path.default.join(distDir,_constants2.BUILD_MANIFEST);const ssgPages=new Set();const ssgStaticFallbackPages=new Set();const ssgBlockingFallbackPages=new Set();const staticPages=new Set();const invalidPages=new Set();const hybridAmpPages=new Set();const serverPropsPages=new Set();const additionalSsgPaths=new Map();const pageInfos=new Map();const pagesManifest=JSON.parse(await _fs.promises.readFile(manifestPath,'utf8'));const buildManifest=JSON.parse(await _fs.promises.readFile(buildManifestPath,'utf8'));let customAppGetInitialProps;let namedExports;process.env.NEXT_PHASE=_constants2.PHASE_PRODUCTION_BUILD;const staticCheckWorkers=new _jestWorker.default(staticCheckWorker,{numWorkers:config.experimental.cpus,enableWorkerThreads:config.experimental.workerThreads});staticCheckWorkers.getStdout().pipe(process.stdout);staticCheckWorkers.getStderr().pipe(process.stderr);const runtimeEnvConfig={publicRuntimeConfig:config.publicRuntimeConfig,serverRuntimeConfig:config.serverRuntimeConfig};hasNonStaticErrorPage=hasCustomErrorPage&&(await(0,_utils2.hasCustomGetInitialProps)((0,_require.getPagePath)('/_error',distDir,isLikeServerless),runtimeEnvConfig,false));const analysisBegin=process.hrtime();await Promise.all(pageKeys.map(async page=>{const actualPage=(0,_normalizePagePath.normalizePagePath)(page);const[selfSize,allSize]=await(0,_utils2.getJsPageSizeInKb)(actualPage,distDir,buildManifest,config.experimental.modern);let isSsg=false;let isStatic=false;let isHybridAmp=false;let ssgPageRoutes=null;const nonReservedPage=!page.match(/^\/(_app|_error|_document|api(\/|$))/);if(nonReservedPage){const serverBundle=(0,_require.getPagePath)(page,distDir,isLikeServerless);if(customAppGetInitialProps===undefined){customAppGetInitialProps=await(0,_utils2.hasCustomGetInitialProps)(isLikeServerless?serverBundle:(0,_require.getPagePath)('/_app',distDir,isLikeServerless),runtimeEnvConfig,true);namedExports=(0,_utils2.getNamedExports)(isLikeServerless?serverBundle:(0,_require.getPagePath)('/_app',distDir,isLikeServerless),runtimeEnvConfig);if(customAppGetInitialProps){console.warn(_chalk.default.bold.yellow(`Warning: `)+_chalk.default.yellow(`You have opted-out of Automatic Static Optimization due to \`getInitialProps\` in \`pages/_app\`. This does not opt-out pages with \`getStaticProps\``));console.warn('Read more: https://err.sh/next.js/opt-out-auto-static-optimization\n');}}try{var _config$i18n,_config$i18n2;let workerResult=await staticCheckWorkers.isPageStatic(page,serverBundle,runtimeEnvConfig,(_config$i18n=config.i18n)==null?void 0:_config$i18n.locales,(_config$i18n2=config.i18n)==null?void 0:_config$i18n2.defaultLocale);if(workerResult.isHybridAmp){isHybridAmp=true;hybridAmpPages.add(page);}if(workerResult.hasStaticProps){ssgPages.add(page);isSsg=true;if(workerResult.prerenderRoutes){additionalSsgPaths.set(page,workerResult.prerenderRoutes);ssgPageRoutes=workerResult.prerenderRoutes;}if(workerResult.prerenderFallback==='blocking'){ssgBlockingFallbackPages.add(page);}else if(workerResult.prerenderFallback===true){ssgStaticFallbackPages.add(page);}}else if(workerResult.hasServerProps){serverPropsPages.add(page);}else if(workerResult.isStatic&&customAppGetInitialProps===false){staticPages.add(page);isStatic=true;}if(hasPages404&&page==='/404'){if(!workerResult.isStatic&&!workerResult.hasStaticProps){throw new Error(_constants.PAGES_404_GET_INITIAL_PROPS_ERROR);}// we need to ensure the 404 lambda is present since we use
     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^
  16 | // it when _app has getInitialProps
  17 | if(customAppGetInitialProps&&!workerResult.hasStaticProps){staticPages.delete(page);}}}catch(err){if(err.message!=='INVALID_DEFAULT_EXPORT')throw err;invalidPages.add(page);}}pageInfos.set(page,{size:selfSize,totalSize:allSize,static:isStatic,isSsg,isHybridAmp,ssgPageRoutes,initialRevalidateSeconds:false});}));staticCheckWorkers.end();if(serverPropsPages.size>0||ssgPages.size>0){// We update the routes manifest after the build with the
  18 | // data routes since we can't determine these until after build

  at build (../packages/next/dist/build/index.js:15:918)
      at runMicrotasks (<anonymous>)
  "
  at Object.<anonymous> (integration/amp-export-validation/test/index.test.js:27:25)

● AMP Validation on Export › should export AMP pages

ENOENT: no such file or directory, open '/home/runner/work/next.js/next.js/test/integration/amp-export-validation/out/first.html'

● AMP Validation on Export › shows AMP warning without throwing error

expect(received).toMatch(expected)

Expected pattern: /error.*The mandatory attribute 'height' is missing in tag 'amp-video'\./
Received string:  "info  - using build directory: /home/runner/work/next.js/next.js/test/integration/amp-export-validation/.next
"

  55 |         stderr: true,
  56 |       })
> 57 |       expect(stdout).toMatch(
     |                      ^
  58 |         /error.*The mandatory attribute 'height' is missing in tag 'amp-video'\./
  59 |       )
  60 |       await expect(access(join(outDir, 'cat.html'))).resolves.toBe(undefined)

  at Object.<anonymous> (integration/amp-export-validation/test/index.test.js:57:22)

● AMP Validation on Export › throws error on AMP error

expect(received).toMatch(expected)

Expected pattern: /error.*The parent tag of tag 'img' is 'div', but it can only be 'i-amphtml-sizer-intrinsic'\./
Received string:  "info  - using build directory: /home/runner/work/next.js/next.js/test/integration/amp-export-validation/.next
"

  82 |         stderr: true,
  83 |       })
> 84 |       expect(stdout).toMatch(
     |                      ^
  85 |         /error.*The parent tag of tag 'img' is 'div', but it can only be 'i-amphtml-sizer-intrinsic'\./
  86 |       )
  87 |       await expect(access(join(outDir, 'dog.html'))).resolves.toBe(undefined)

  at Object.<anonymous> (integration/amp-export-validation/test/index.test.js:84:22)

● AMP Validation on Export › shows warning and error when throwing error

expect(received).toMatch(expected)

Expected pattern: /error.*The parent tag of tag 'img' is 'div', but it can only be 'i-amphtml-sizer-intrinsic'\./
Received string:  "info  - using build directory: /home/runner/work/next.js/next.js/test/integration/amp-export-validation/.next
"

  109 |         stderr: true,
  110 |       })
> 111 |       expect(stdout).toMatch(
      |                      ^
  112 |         /error.*The parent tag of tag 'img' is 'div', but it can only be 'i-amphtml-sizer-intrinsic'\./
  113 |       )
  114 |       await expect(access(join(outDir, 'dog-cat.html'))).resolves.toBe(

  at Object.<anonymous> (integration/amp-export-validation/test/index.test.js:111:22)

test/integration/amphtml-fragment-style/test/index.test.js

  • AMP Fragment Styles > adds styles from fragment in AMP mode correctly
Expand output

● AMP Fragment Styles › adds styles from fragment in AMP mode correctly

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Test suite failed to run

TypeError: Cannot read property '__app' of undefined

  309 | 
  310 | export async function stopApp(server) {
> 311 |   if (server.__app) {
      |              ^
  312 |     await server.__app.close()
  313 |   }
  314 |   await promiseCall(server, 'close')

  at stopApp (lib/next-test-utils.js:311:14)
  at integration/amphtml-fragment-style/test/index.test.js:32:18

test/integration/amphtml-custom-validator/test/index.test.js

  • AMP Custom Validator > should build and start successfully
Expand output

● AMP Custom Validator › should build and start successfully

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

test/integration/404-page-app/test/index.test.js

  • 404 Page Support with _app > production mode > should build successfully
  • 404 Page Support with _app > production mode > should not output static 404 if _app has getInitialProps
  • 404 Page Support with _app > production mode > should still use 404 page
Expand output

● 404 Page Support with _app › production mode › should build successfully

expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1

  32 |       })
  33 | 
> 34 |       expect(code).toBe(0)
     |                    ^
  35 |       expect(stderr).not.toMatch(gip404Err)
  36 |       expect(stdout).not.toMatch(gip404Err)
  37 | 

  at Object.<anonymous> (integration/404-page-app/test/index.test.js:34:20)

● 404 Page Support with _app › production mode › should not output static 404 if _app has getInitialProps

InvalidArgumentError: invalid argument
  (Session info: headless chrome=86.0.4240.111)

  176 |   console.log(`\n> Loading browser with ${url}\n`)
  177 | 
> 178 |   await browser.get(url)
      |   ^
  179 |   console.log(`\n> Loaded browser with ${url}\n`)
  180 | 
  181 |   // Wait for application to hydrate

  at Object.throwDecodedError (../node_modules/selenium-webdriver/lib/error.js:550:15)
  at parseHttpResponse (../node_modules/selenium-webdriver/lib/http.js:565:13)
  at Executor.execute (../node_modules/selenium-webdriver/lib/http.js:491:26)
  at thenableWebDriverProxy.execute (../node_modules/selenium-webdriver/lib/webdriver.js:700:17)
  at _default (lib/next-webdriver.js:178:3)
  at Object.<anonymous> (integration/404-page-app/test/index.test.js:43:23)

● 404 Page Support with _app › production mode › should still use 404 page

FetchError: request to http://localhost/:undefined/abc failed, reason: connect ECONNREFUSED 127.0.0.1:80

  at ClientRequest.<anonymous> (../node_modules/node-fetch/lib/index.js:1461:11)

● Test suite failed to run

TypeError: Cannot read property 'pid' of undefined

  275 | export async function killApp(instance) {
  276 |   await new Promise((resolve, reject) => {
> 277 |     treeKill(instance.pid, (err) => {
      |                       ^
  278 |       if (err) {
  279 |         if (
  280 |           process.platform === 'win32' &&

  at lib/next-test-utils.js:277:23
  at killApp (lib/next-test-utils.js:276:9)
  at integration/404-page-app/test/index.test.js:26:20

test/integration/dynamic-optional-routing-root-static-paths/test/index.test.js

  • Dynamic Optional Routing > production mode > should render optional catch-all top-level route with no segments
  • Dynamic Optional Routing > production mode > should render optional catch-all top-level route with one segment
  • Dynamic Optional Routing > production mode > should render optional catch-all top-level route with two segments
  • Dynamic Optional Routing > serverless mode > should render optional catch-all top-level route with no segments
  • Dynamic Optional Routing > serverless mode > should render optional catch-all top-level route with one segment
  • Dynamic Optional Routing > serverless mode > should render optional catch-all top-level route with two segments
Expand output

● Dynamic Optional Routing › production mode › should render optional catch-all top-level route with no segments

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Dynamic Optional Routing › production mode › should render optional catch-all top-level route with one segment

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Dynamic Optional Routing › production mode › should render optional catch-all top-level route with two segments

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Dynamic Optional Routing › serverless mode › should render optional catch-all top-level route with no segments

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Dynamic Optional Routing › serverless mode › should render optional catch-all top-level route with one segment

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Dynamic Optional Routing › serverless mode › should render optional catch-all top-level route with two segments

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 14.4s 14.5s ⚠️ +128ms
nodeModulesSize 90.1 MB 89.9 MB -193 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.819 2.721 -0.1
/ avg req/sec 886.93 918.7 +31.77
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.66 1.685 ⚠️ +0.03
/error-in-render avg req/sec 1505.76 1483.25 ⚠️ -22.51
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7072174..bcc3.js gzip 7.34 kB 7.41 kB ⚠️ +72 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-d0ac908..dule.js gzip 6.33 kB 6.4 kB ⚠️ +69 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.2 kB ⚠️ +69 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 995 B -1 B
Overall change 3.01 kB 3.01 kB -1 B

Diffs

Diff for main-482c1ec..39.module.js
@@ -929,7 +929,7 @@
       exports.__esModule = true;
       exports.default = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -970,6 +970,261 @@
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -996,257 +1251,6 @@
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for main-a3cb2ad..f2469bc30.js
@@ -1271,7 +1271,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -1312,6 +1312,261 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1338,257 +1593,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-482c1ececa2015508439.module.js"
+      href="/_next/static/chunks/main-b8d8e629011ff283f20d.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-a3cb2ad6a4df2469bc30.js"
+      src="/_next/static/chunks/main-b30805aa712999c6ef05.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-482c1ececa2015508439.module.js"
+      src="/_next/static/chunks/main-b8d8e629011ff283f20d.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-482c1ececa2015508439.module.js"
+      href="/_next/static/chunks/main-b8d8e629011ff283f20d.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-a3cb2ad6a4df2469bc30.js"
+      src="/_next/static/chunks/main-b30805aa712999c6ef05.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-482c1ececa2015508439.module.js"
+      src="/_next/static/chunks/main-b8d8e629011ff283f20d.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-482c1ececa2015508439.module.js"
+      href="/_next/static/chunks/main-b8d8e629011ff283f20d.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-a3cb2ad6a4df2469bc30.js"
+      src="/_next/static/chunks/main-b30805aa712999c6ef05.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-482c1ececa2015508439.module.js"
+      src="/_next/static/chunks/main-b8d8e629011ff283f20d.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 16.8s 16.7s -93ms
nodeModulesSize 90.1 MB 89.9 MB -193 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-7072174..bcc3.js gzip 7.34 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
main-c61abc5..c191.js gzip N/A 7.41 kB N/A
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-d0ac908..dule.js gzip 6.33 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
main-3e984a8..dule.js gzip N/A 6.4 kB N/A
Overall change 53.1 kB 53.2 kB ⚠️ +69 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
_error.js 1.07 MB 996 kB -72.7 kB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 996 kB -72.7 kB
link.js 1.12 MB 1.04 MB -72.7 kB
routerDirect.js 1.11 MB 1.04 MB -72.7 kB
withRouter.js 1.11 MB 1.04 MB -72.7 kB
Overall change 5.48 MB 5.12 MB -363 kB
Commit: 7a6841f

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Failing test suites

Commit: 7a6841f

test/integration/image-optimization/test/index.test.js

  • Image optimization for serverless apps > On a static page > should not preload tiny images
  • Image optimization for serverless apps > On a static page > should not add a preload if one already exists
  • Image optimization for serverless apps > On a static page > should not preload hidden images
  • Image optimization for serverless apps > On a static page > should not preload SVG images
  • Image optimization for serverless apps > On a static page > should preload exactly two eligible images
  • Image optimization for serverless apps > On an SSR page > should not preload tiny images
  • Image optimization for serverless apps > On an SSR page > should not add a preload if one already exists
  • Image optimization for serverless apps > On an SSR page > should not preload hidden images
  • Image optimization for serverless apps > On an SSR page > should not preload SVG images
  • Image optimization for serverless apps > On an SSR page > should preload exactly two eligible images
Expand output

● Image optimization for serverless apps › On a static page › should not preload tiny images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should not add a preload if one already exists

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should not preload hidden images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should not preload SVG images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should preload exactly two eligible images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not preload tiny images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not add a preload if one already exists

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not preload hidden images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not preload SVG images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should preload exactly two eligible images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

test/integration/font-optimization/test/index.test.js

  • Font optimization for serverless apps > should inline the google fonts for static pages
  • Font optimization for serverless apps > should inline the google fonts for static pages with Next/Head
  • Font optimization for serverless apps > should inline the google fonts for SSR pages
  • Font optimization for serverless apps > should skip this optimization for AMP pages
  • Font optimization for serverless apps > should minify the css
Expand output

● Font optimization for serverless apps › should inline the google fonts for static pages

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should inline the google fonts for static pages with Next/Head

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should inline the google fonts for SSR pages

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should skip this optimization for AMP pages

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should minify the css

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Failing test suites

Commit: addbe43

test/integration/image-optimization/test/index.test.js

  • Image optimization for serverless apps > On a static page > should not preload tiny images
  • Image optimization for serverless apps > On a static page > should not add a preload if one already exists
  • Image optimization for serverless apps > On a static page > should not preload hidden images
  • Image optimization for serverless apps > On a static page > should not preload SVG images
  • Image optimization for serverless apps > On a static page > should preload exactly two eligible images
  • Image optimization for serverless apps > On an SSR page > should not preload tiny images
  • Image optimization for serverless apps > On an SSR page > should not add a preload if one already exists
  • Image optimization for serverless apps > On an SSR page > should not preload hidden images
  • Image optimization for serverless apps > On an SSR page > should not preload SVG images
  • Image optimization for serverless apps > On an SSR page > should preload exactly two eligible images
Expand output

● Image optimization for serverless apps › On a static page › should not preload tiny images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should not add a preload if one already exists

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should not preload hidden images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should not preload SVG images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On a static page › should preload exactly two eligible images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not preload tiny images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not add a preload if one already exists

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not preload hidden images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should not preload SVG images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Image optimization for serverless apps › On an SSR page › should preload exactly two eligible images

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

test/integration/font-optimization/test/index.test.js

  • Font optimization for serverless apps > should inline the google fonts for static pages
  • Font optimization for serverless apps > should inline the google fonts for static pages with Next/Head
  • Font optimization for serverless apps > should inline the google fonts for SSR pages
  • Font optimization for serverless apps > should skip this optimization for AMP pages
  • Font optimization for serverless apps > should minify the css
Expand output

● Font optimization for serverless apps › should inline the google fonts for static pages

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should inline the google fonts for static pages with Next/Head

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should inline the google fonts for SSR pages

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should skip this optimization for AMP pages

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

● Font optimization for serverless apps › should minify the css

command failed with code 1

  132 |         code !== 0
  133 |       ) {
> 134 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  135 |       }
  136 | 
  137 |       resolve({

  at ChildProcess.<anonymous> (lib/next-test-utils.js:134:23)

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 13.7s 13.5s -224ms
nodeModulesSize 90.1 MB 89.9 MB -193 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.514 2.424 -0.09
/ avg req/sec 994.35 1031.2 +36.85
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.344 1.365 ⚠️ +0.02
/error-in-render avg req/sec 1860.79 1831.84 ⚠️ -28.95
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB 7.41 kB ⚠️ +72 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB 6.4 kB ⚠️ +70 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 996 B ⚠️ +1 B
Overall change 3.01 kB 3.01 kB ⚠️ +1 B

Diffs

Diff for main-0f93760..b1.module.js
@@ -929,7 +929,7 @@
       exports.__esModule = true;
       exports.default = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -970,6 +970,261 @@
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -996,257 +1251,6 @@
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for main-2d3991e..886356498.js
@@ -1271,7 +1271,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -1312,6 +1312,261 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1338,257 +1593,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 15.1s 15.3s ⚠️ +173ms
nodeModulesSize 90.1 MB 89.9 MB -193 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
main-dc1ada2..56ab.js gzip N/A 7.41 kB N/A
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
main-50fc889..dule.js gzip N/A 6.4 kB N/A
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
_error.js 1.07 MB 996 kB -72.7 kB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 996 kB -72.7 kB
link.js 1.12 MB 1.04 MB -72.7 kB
routerDirect.js 1.11 MB 1.04 MB -72.7 kB
withRouter.js 1.11 MB 1.04 MB -72.7 kB
Overall change 5.48 MB 5.12 MB -363 kB
Commit: addbe43

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 13.2s 13.1s -102ms
nodeModulesSize 90.1 MB 89.5 MB -549 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.374 2.399 ⚠️ +0.02
/ avg req/sec 1052.91 1042.32 ⚠️ -10.59
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.339 1.326 -0.01
/error-in-render avg req/sec 1867.46 1885.24 +17.78
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB 7.41 kB ⚠️ +72 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB 6.4 kB ⚠️ +70 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 996 B ⚠️ +1 B
Overall change 3.01 kB 3.01 kB ⚠️ +1 B

Diffs

Diff for main-0f93760..b1.module.js
@@ -929,7 +929,7 @@
       exports.__esModule = true;
       exports.default = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -970,6 +970,261 @@
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -996,257 +1251,6 @@
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for main-2d3991e..886356498.js
@@ -1271,7 +1271,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -1312,6 +1312,261 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1338,257 +1593,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 15.2s 15.6s ⚠️ +381ms
nodeModulesSize 90.1 MB 89.5 MB -549 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
main-dc1ada2..56ab.js gzip N/A 7.41 kB N/A
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
main-50fc889..dule.js gzip N/A 6.4 kB N/A
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary guybedford/next.js ncc-inlining Change
_error.js 1.07 MB 1.07 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 1.07 MB
link.js 1.12 MB 1.12 MB
routerDirect.js 1.11 MB 1.11 MB
withRouter.js 1.11 MB 1.11 MB
Overall change 5.48 MB 5.48 MB
Commit: 68ec496

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 15.3s 13.1s -2.1s
nodeModulesSize 90.1 MB 89.6 MB -425 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.44 2.434 -0.01
/ avg req/sec 1024.68 1027.16 +2.48
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.364 1.303 -0.06
/error-in-render avg req/sec 1833.09 1917.92 +84.83
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB 7.41 kB ⚠️ +72 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB 6.4 kB ⚠️ +70 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 996 B ⚠️ +1 B
Overall change 3.01 kB 3.01 kB ⚠️ +1 B

Diffs

Diff for main-0f93760..b1.module.js
@@ -929,7 +929,7 @@
       exports.__esModule = true;
       exports.default = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -970,6 +970,261 @@
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -996,257 +1251,6 @@
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for main-2d3991e..886356498.js
@@ -1271,7 +1271,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -1312,6 +1312,261 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1338,257 +1593,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 14.8s 14.5s -260ms
nodeModulesSize 90.1 MB 89.6 MB -425 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
main-dc1ada2..56ab.js gzip N/A 7.41 kB N/A
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
main-50fc889..dule.js gzip N/A 6.4 kB N/A
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary guybedford/next.js ncc-inlining Change
_error.js 1.07 MB 1.07 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 1.07 MB
link.js 1.12 MB 1.12 MB
routerDirect.js 1.11 MB 1.11 MB
withRouter.js 1.11 MB 1.11 MB
Overall change 5.48 MB 5.48 MB
Commit: aa53d92

@ijjk
Copy link
Member

ijjk commented Nov 3, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 12.6s 12.7s ⚠️ +45ms
nodeModulesSize 90.1 MB 89.6 MB -425 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.522 2.46 -0.06
/ avg req/sec 991.31 1016.23 +24.92
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.306 1.322 ⚠️ +0.02
/error-in-render avg req/sec 1914.89 1891.4 ⚠️ -23.49
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB 7.41 kB ⚠️ +72 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB 6.4 kB ⚠️ +70 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 996 B ⚠️ +1 B
Overall change 3.01 kB 3.01 kB ⚠️ +1 B

Diffs

Diff for main-0f93760..b1.module.js
@@ -929,7 +929,7 @@
       exports.__esModule = true;
       exports.default = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -970,6 +970,261 @@
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -996,257 +1251,6 @@
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for main-2d3991e..886356498.js
@@ -1271,7 +1271,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -1312,6 +1312,261 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1338,257 +1593,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      href="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-f73ba3fc145972ef83e9.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-2d3991e794c886356498.js"
+      src="/_next/static/chunks/main-28f469eedc8ffa035aff.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0f93760b28d0e6afcfb1.module.js"
+      src="/_next/static/chunks/main-c132436503f4228e889e.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 14.5s 14.3s -178ms
nodeModulesSize 90.1 MB 89.6 MB -425 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..981d.js gzip 11.3 kB 11.3 kB
framework.HASH.js gzip 39 kB 39 kB
main-781608c..89a0.js gzip 7.34 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
main-dc1ada2..56ab.js gzip N/A 7.41 kB N/A
Overall change 58.3 kB 58.4 kB ⚠️ +72 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.03 kB 7.03 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-56359bd..dule.js gzip 6.33 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
main-50fc889..dule.js gzip N/A 6.4 kB N/A
Overall change 53.1 kB 53.2 kB ⚠️ +70 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary guybedford/next.js ncc-inlining Change
_error.js 1.07 MB 1.07 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 1.07 MB
link.js 1.12 MB 1.12 MB
routerDirect.js 1.11 MB 1.11 MB
withRouter.js 1.11 MB 1.11 MB
Overall change 5.48 MB 5.48 MB
Commit: 592f568

@guybedford guybedford changed the title WIP: ncc inlining optimizations ncc inlining optimizations Nov 3, 2020
@matamatanot
Copy link
Contributor

@guybedford
I had submitted a PR #17042 to remove mkdrip. Is this one outdated now? Should I close it?

Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

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

LGTM

@ijjk
Copy link
Member

ijjk commented Nov 4, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 12.4s 12.9s ⚠️ +487ms
nodeModulesSize 90.5 MB 90.1 MB -425 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.432 2.445 ⚠️ +0.01
/ avg req/sec 1028.03 1022.55 ⚠️ -5.48
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.364 1.278 -0.09
/error-in-render avg req/sec 1832.47 1955.81 +123.34
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..1f3c.js gzip 11.2 kB 11.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-be398bc..d262.js gzip 7.33 kB 7.4 kB ⚠️ +73 B
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.4 kB ⚠️ +73 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.02 kB 7.02 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-378f0c6..dule.js gzip 6.33 kB 6.39 kB ⚠️ +68 B
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB ⚠️ +68 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-b5..1119.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js ncc-inlining Change
index.html gzip 1 kB 1 kB ⚠️ +1 B
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 994 B 993 B -1 B
Overall change 3 kB 3 kB

Diffs

Diff for main-effcb00..a6.module.js
@@ -929,7 +929,7 @@
       exports.__esModule = true;
       exports.default = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -970,6 +970,261 @@
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -996,257 +1251,6 @@
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for main-f5ebb63..f5b26cfc4.js
@@ -1271,7 +1271,7 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       exports.__esModule = true;
       exports["default"] = void 0;
 
-      var _webVitals = __webpack_require__("w6Sm");
+      var _webVitals = __webpack_require__("p0hA");
 
       var initialHref = location.href;
       var isRegistered = false;
@@ -1312,6 +1312,261 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ p0hA: /***/ function(module, exports, __webpack_require__) {
+      /* WEBPACK VAR INJECTION */ (function(__dirname) {
+        module.exports = (function(t, e) {
+          "use strict";
+          var n = {};
+          function __webpack_require__(e) {
+            if (n[e]) {
+              return n[e].exports;
+            }
+            var i = (n[e] = { i: e, l: false, exports: {} });
+            t[e].call(i.exports, i, i.exports, __webpack_require__);
+            i.l = true;
+            return i.exports;
+          }
+          __webpack_require__.ab = __dirname + "/";
+          function startup() {
+            return __webpack_require__(231);
+          }
+          return startup();
+        })({
+          231: function(t, e) {
+            !(function(t, n) {
+              true ? n(e) : undefined;
+            })(this, function(t) {
+              "use strict";
+              var e,
+                n,
+                i = function() {
+                  return ""
+                    .concat(Date.now(), "-")
+                    .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
+                },
+                r = function(t) {
+                  var e =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : -1;
+                  return {
+                    name: t,
+                    value: e,
+                    delta: 0,
+                    entries: [],
+                    id: i(),
+                    isFinal: !1
+                  };
+                },
+                a = function(t, e) {
+                  try {
+                    if (PerformanceObserver.supportedEntryTypes.includes(t)) {
+                      var n = new PerformanceObserver(function(t) {
+                        return t.getEntries().map(e);
+                      });
+                      return n.observe({ type: t, buffered: !0 }), n;
+                    }
+                  } catch (t) {}
+                },
+                o = !1,
+                u = !1,
+                s = function(t) {
+                  o = !t.persisted;
+                },
+                c = function() {
+                  addEventListener("pagehide", s),
+                    addEventListener("beforeunload", function() {});
+                },
+                p = function(t) {
+                  var e =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1];
+                  u || (c(), (u = !0)),
+                    addEventListener(
+                      "visibilitychange",
+                      function(e) {
+                        var n = e.timeStamp;
+                        "hidden" === document.visibilityState &&
+                          t({ timeStamp: n, isUnloading: o });
+                      },
+                      { capture: !0, once: e }
+                    );
+                },
+                f = function(t, e, n, i) {
+                  var r;
+                  return function() {
+                    n && e.isFinal && n.disconnect(),
+                      e.value >= 0 &&
+                        (i ||
+                          e.isFinal ||
+                          "hidden" === document.visibilityState) &&
+                        ((e.delta = e.value - (r || 0)),
+                        (e.delta || e.isFinal || void 0 === r) &&
+                          (t(e), (r = e.value)));
+                  };
+                },
+                l = function() {
+                  return (
+                    void 0 === e &&
+                      ((e = "hidden" === document.visibilityState ? 0 : 1 / 0),
+                      p(function(t) {
+                        var n = t.timeStamp;
+                        return (e = n);
+                      }, !0)),
+                    {
+                      get timeStamp() {
+                        return e;
+                      }
+                    }
+                  );
+                },
+                d = function() {
+                  return (
+                    n ||
+                      (n = new Promise(function(t) {
+                        return ["scroll", "keydown", "pointerdown"].map(
+                          function(e) {
+                            addEventListener(e, t, {
+                              once: !0,
+                              passive: !0,
+                              capture: !0
+                            });
+                          }
+                        );
+                      })),
+                    n
+                  );
+                };
+              (t.getCLS = function(t) {
+                var e,
+                  n =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  i = r("CLS", 0),
+                  o = function(t) {
+                    t.hadRecentInput ||
+                      ((i.value += t.value), i.entries.push(t), e());
+                  },
+                  u = a("layout-shift", o);
+                u &&
+                  ((e = f(t, i, u, n)),
+                  p(function(t) {
+                    var n = t.isUnloading;
+                    u.takeRecords().map(o), n && (i.isFinal = !0), e();
+                  }));
+              }),
+                (t.getFCP = function(t) {
+                  var e,
+                    n = r("FCP"),
+                    i = l(),
+                    o = a("paint", function(t) {
+                      "first-contentful-paint" === t.name &&
+                        t.startTime < i.timeStamp &&
+                        ((n.value = t.startTime),
+                        (n.isFinal = !0),
+                        n.entries.push(t),
+                        e());
+                    });
+                  o && (e = f(t, n, o));
+                }),
+                (t.getFID = function(t) {
+                  var e = r("FID"),
+                    n = l(),
+                    i = function(t) {
+                      t.startTime < n.timeStamp &&
+                        ((e.value = t.processingStart - t.startTime),
+                        e.entries.push(t),
+                        (e.isFinal = !0),
+                        u());
+                    },
+                    o = a("first-input", i),
+                    u = f(t, e, o);
+                  o
+                    ? p(function() {
+                        o.takeRecords().map(i), o.disconnect();
+                      }, !0)
+                    : window.perfMetrics &&
+                      window.perfMetrics.onFirstInputDelay &&
+                      window.perfMetrics.onFirstInputDelay(function(t, i) {
+                        i.timeStamp < n.timeStamp &&
+                          ((e.value = t),
+                          (e.isFinal = !0),
+                          (e.entries = [
+                            {
+                              entryType: "first-input",
+                              name: i.type,
+                              target: i.target,
+                              cancelable: i.cancelable,
+                              startTime: i.timeStamp,
+                              processingStart: i.timeStamp + t
+                            }
+                          ]),
+                          u());
+                      });
+                }),
+                (t.getLCP = function(t) {
+                  var e,
+                    n =
+                      arguments.length > 1 &&
+                      void 0 !== arguments[1] &&
+                      arguments[1],
+                    i = r("LCP"),
+                    o = l(),
+                    u = function(t) {
+                      var n = t.startTime;
+                      n < o.timeStamp
+                        ? ((i.value = n), i.entries.push(t))
+                        : (i.isFinal = !0),
+                        e();
+                    },
+                    s = a("largest-contentful-paint", u);
+                  if (s) {
+                    e = f(t, i, s, n);
+                    var c = function() {
+                      i.isFinal ||
+                        (s.takeRecords().map(u), (i.isFinal = !0), e());
+                    };
+                    d().then(c), p(c, !0);
+                  }
+                }),
+                (t.getTTFB = function(t) {
+                  var e,
+                    n = r("TTFB");
+                  (e = function() {
+                    try {
+                      var e =
+                        performance.getEntriesByType("navigation")[0] ||
+                        (function() {
+                          var t = performance.timing,
+                            e = { entryType: "navigation", startTime: 0 };
+                          for (var n in t)
+                            "navigationStart" !== n &&
+                              "toJSON" !== n &&
+                              (e[n] = Math.max(t[n] - t.navigationStart, 0));
+                          return e;
+                        })();
+                      (n.value = n.delta = e.responseStart),
+                        (n.entries = [e]),
+                        (n.isFinal = !0),
+                        t(n);
+                    } catch (t) {}
+                  }),
+                    "complete" === document.readyState
+                      ? setTimeout(e, 0)
+                      : addEventListener("pageshow", e);
+                }),
+                Object.defineProperty(t, "__esModule", { value: !0 });
+            });
+          }
+        });
+        /* WEBPACK VAR INJECTION */
+      }.call(this, "/"));
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1338,257 +1593,6 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
-    /***/ w6Sm: /***/ function(
-      module,
-      __webpack_exports__,
-      __webpack_require__
-    ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getCLS",
-        function() {
-          return p;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFCP",
-        function() {
-          return v;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getFID",
-        function() {
-          return f;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getLCP",
-        function() {
-          return g;
-        }
-      );
-      /* harmony export (binding) */ __webpack_require__.d(
-        __webpack_exports__,
-        "getTTFB",
-        function() {
-          return h;
-        }
-      );
-      var t,
-        n,
-        e = function() {
-          return ""
-            .concat(Date.now(), "-")
-            .concat(Math.floor(8999999999999 * Math.random()) + 1e12);
-        },
-        i = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
-          return {
-            name: t,
-            value: n,
-            delta: 0,
-            entries: [],
-            id: e(),
-            isFinal: !1
-          };
-        },
-        a = function(t, n) {
-          try {
-            if (PerformanceObserver.supportedEntryTypes.includes(t)) {
-              var e = new PerformanceObserver(function(t) {
-                return t.getEntries().map(n);
-              });
-              return e.observe({ type: t, buffered: !0 }), e;
-            }
-          } catch (t) {}
-        },
-        r = !1,
-        o = !1,
-        s = function(t) {
-          r = !t.persisted;
-        },
-        u = function() {
-          addEventListener("pagehide", s),
-            addEventListener("beforeunload", function() {});
-        },
-        c = function(t) {
-          var n =
-            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
-          o || (u(), (o = !0)),
-            addEventListener(
-              "visibilitychange",
-              function(n) {
-                var e = n.timeStamp;
-                "hidden" === document.visibilityState &&
-                  t({ timeStamp: e, isUnloading: r });
-              },
-              { capture: !0, once: n }
-            );
-        },
-        l = function(t, n, e, i) {
-          var a;
-          return function() {
-            e && n.isFinal && e.disconnect(),
-              n.value >= 0 &&
-                (i || n.isFinal || "hidden" === document.visibilityState) &&
-                ((n.delta = n.value - (a || 0)),
-                (n.delta || n.isFinal || void 0 === a) &&
-                  (t(n), (a = n.value)));
-          };
-        },
-        p = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("CLS", 0),
-            o = function(t) {
-              t.hadRecentInput ||
-                ((r.value += t.value), r.entries.push(t), n());
-            },
-            s = a("layout-shift", o);
-          s &&
-            ((n = l(t, r, s, e)),
-            c(function(t) {
-              var e = t.isUnloading;
-              s.takeRecords().map(o), e && (r.isFinal = !0), n();
-            }));
-        },
-        d = function() {
-          return (
-            void 0 === t &&
-              ((t = "hidden" === document.visibilityState ? 0 : 1 / 0),
-              c(function(n) {
-                var e = n.timeStamp;
-                return (t = e);
-              }, !0)),
-            {
-              get timeStamp() {
-                return t;
-              }
-            }
-          );
-        },
-        v = function(t) {
-          var n,
-            e = i("FCP"),
-            r = d(),
-            o = a("paint", function(t) {
-              "first-contentful-paint" === t.name &&
-                t.startTime < r.timeStamp &&
-                ((e.value = t.startTime),
-                (e.isFinal = !0),
-                e.entries.push(t),
-                n());
-            });
-          o && (n = l(t, e, o));
-        },
-        f = function(t) {
-          var n = i("FID"),
-            e = d(),
-            r = function(t) {
-              t.startTime < e.timeStamp &&
-                ((n.value = t.processingStart - t.startTime),
-                n.entries.push(t),
-                (n.isFinal = !0),
-                s());
-            },
-            o = a("first-input", r),
-            s = l(t, n, o);
-          o
-            ? c(function() {
-                o.takeRecords().map(r), o.disconnect();
-              }, !0)
-            : window.perfMetrics &&
-              window.perfMetrics.onFirstInputDelay &&
-              window.perfMetrics.onFirstInputDelay(function(t, i) {
-                i.timeStamp < e.timeStamp &&
-                  ((n.value = t),
-                  (n.isFinal = !0),
-                  (n.entries = [
-                    {
-                      entryType: "first-input",
-                      name: i.type,
-                      target: i.target,
-                      cancelable: i.cancelable,
-                      startTime: i.timeStamp,
-                      processingStart: i.timeStamp + t
-                    }
-                  ]),
-                  s());
-              });
-        },
-        m = function() {
-          return (
-            n ||
-              (n = new Promise(function(t) {
-                return ["scroll", "keydown", "pointerdown"].map(function(n) {
-                  addEventListener(n, t, {
-                    once: !0,
-                    passive: !0,
-                    capture: !0
-                  });
-                });
-              })),
-            n
-          );
-        },
-        g = function(t) {
-          var n,
-            e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
-            r = i("LCP"),
-            o = d(),
-            s = function(t) {
-              var e = t.startTime;
-              e < o.timeStamp
-                ? ((r.value = e), r.entries.push(t))
-                : (r.isFinal = !0),
-                n();
-            },
-            u = a("largest-contentful-paint", s);
-          if (u) {
-            n = l(t, r, u, e);
-            var p = function() {
-              r.isFinal || (u.takeRecords().map(s), (r.isFinal = !0), n());
-            };
-            m().then(p), c(p, !0);
-          }
-        },
-        h = function(t) {
-          var n,
-            e = i("TTFB");
-          (n = function() {
-            try {
-              var n =
-                performance.getEntriesByType("navigation")[0] ||
-                (function() {
-                  var t = performance.timing,
-                    n = { entryType: "navigation", startTime: 0 };
-                  for (var e in t)
-                    "navigationStart" !== e &&
-                      "toJSON" !== e &&
-                      (n[e] = Math.max(t[e] - t.navigationStart, 0));
-                  return n;
-                })();
-              (e.value = e.delta = n.responseStart),
-                (e.entries = [n]),
-                (e.isFinal = !0),
-                t(e);
-            } catch (t) {}
-          }),
-            "complete" === document.readyState
-              ? setTimeout(n, 0)
-              : addEventListener("pageshow", n);
-        };
-
-      /***/
-    },
-
     /***/ yLiY: /***/ function(module, exports, __webpack_require__) {
       "use strict";
Diff for index.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-effcb009cbf210ace9a6.module.js"
+      href="/_next/static/chunks/main-4f0d66386deb2c3a08ae.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-769ffb30946627a111d3.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-f5ebb63d54ef5b26cfc4.js"
+      src="/_next/static/chunks/main-bbae4981f7a0612e8918.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-effcb009cbf210ace9a6.module.js"
+      src="/_next/static/chunks/main-4f0d66386deb2c3a08ae.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-effcb009cbf210ace9a6.module.js"
+      href="/_next/static/chunks/main-4f0d66386deb2c3a08ae.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -90,13 +90,13 @@
       src="/_next/static/chunks/polyfills-769ffb30946627a111d3.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-f5ebb63d54ef5b26cfc4.js"
+      src="/_next/static/chunks/main-bbae4981f7a0612e8918.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-effcb009cbf210ace9a6.module.js"
+      src="/_next/static/chunks/main-4f0d66386deb2c3a08ae.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <noscript data-n-css="true"></noscript>
     <link
       rel="preload"
-      href="/_next/static/chunks/main-effcb009cbf210ace9a6.module.js"
+      href="/_next/static/chunks/main-4f0d66386deb2c3a08ae.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -85,13 +85,13 @@
       src="/_next/static/chunks/polyfills-769ffb30946627a111d3.js"
     ></script>
     <script
-      src="/_next/static/chunks/main-f5ebb63d54ef5b26cfc4.js"
+      src="/_next/static/chunks/main-bbae4981f7a0612e8918.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/chunks/main-effcb009cbf210ace9a6.module.js"
+      src="/_next/static/chunks/main-4f0d66386deb2c3a08ae.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js ncc-inlining Change
buildDuration 14.2s 14.8s ⚠️ +605ms
nodeModulesSize 90.5 MB 90.1 MB -425 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..1f3c.js gzip 11.2 kB 11.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-be398bc..d262.js gzip 7.33 kB N/A N/A
webpack-e067..f178.js gzip 751 B 751 B
main-0720acd..e564.js gzip N/A 7.4 kB N/A
Overall change 58.3 kB 58.4 kB ⚠️ +73 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary guybedford/next.js ncc-inlining Change
677f882d2ed8..dule.js gzip 7.02 kB 7.02 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-378f0c6..dule.js gzip 6.33 kB N/A N/A
webpack-07c5..dule.js gzip 751 B 751 B
main-30a5bfa..dule.js gzip N/A 6.39 kB N/A
Overall change 53.1 kB 53.1 kB ⚠️ +68 B
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js ncc-inlining Change
polyfills-b5..1119.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-ed1b0..8fbd.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-a674d88..ccde.js gzip 1.35 kB 1.35 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.75 kB 7.75 kB
Client Pages Modern
vercel/next.js canary guybedford/next.js ncc-inlining Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-4469a..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-a4469f3..dule.js gzip 1.32 kB 1.32 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.41 kB 5.41 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js ncc-inlining Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 330 B 330 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary guybedford/next.js ncc-inlining Change
_error.js 1.07 MB 1.07 MB
404.html 4.73 kB 4.73 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.07 MB 1.07 MB
link.js 1.12 MB 1.12 MB
routerDirect.js 1.11 MB 1.11 MB
withRouter.js 1.11 MB 1.11 MB
Overall change 5.48 MB 5.48 MB
Commit: 1576af6

@kodiakhq kodiakhq bot merged commit 8f7f101 into vercel:canary Nov 4, 2020
jamesgeorge007 pushed a commit to jamesgeorge007/next.js that referenced this pull request Nov 5, 2020
This adds ncc inlining optimizations for the following dependencies:

* cacache
* schema-utils
* find-cache-dir
* mkdirp
* neo-async
* web-vitals

The slight increase in output in the reports here is due to the variation of the bundled version of web-vitals.

In addition, this moves ast-types to be a devDependencies entry instead of in dependencies as it was before vercel#14746 as I could not see any production usage (ping @prateekbh). Happy to separate that out into a separate PR if preferred too.
@vercel vercel locked as resolved and limited conversation to collaborators Jan 29, 2022
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.

4 participants