Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat: Webpack loader inlining #21127

Merged
merged 8 commits into from Jan 15, 2021

Conversation

guybedford
Copy link
Contributor

@guybedford guybedford commented Jan 14, 2021

This picks up on the inlining work in #20598 to also include webpack loader inlining optimizations.

This includes:

  • The dependencies of sass-loader
  • resolve-url-loader

And for added benefit:

  • babel-plugin-transform-define
  • babel-plugin-transform-react-remove-prop-types

style-loader and css-loader didn't inline easily. Perhaps we can come back to these ones.

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 8.8s 8.8s ⚠️ +58ms
nodeModulesSize 77.5 MB 77.5 MB ⚠️ +28.2 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 1.718 1.723 ⚠️ +0.01
/ avg req/sec 1455.04 1450.65 ⚠️ -4.39
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.097 1.087 -0.01
/error-in-render avg req/sec 2279.75 2300.33 +20.58
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.7s 10.3s -394ms
nodeModulesSize 77.5 MB 77.5 MB ⚠️ +28.2 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 3cff112

@guybedford guybedford force-pushed the webpack-loader-inlining branch from 3cff112 to 93254d8 Compare Jan 14, 2021
@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 9.1s 9.1s ⚠️ +43ms
nodeModulesSize 77.5 MB 77.7 MB ⚠️ +145 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 1.756 1.75 -0.01
/ avg req/sec 1423.74 1428.27 +4.53
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.116 1.111 -0.01
/error-in-render avg req/sec 2240.65 2249.21 +8.56
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.8s 10.6s -200ms
nodeModulesSize 77.5 MB 77.7 MB ⚠️ +145 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 02f267e

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Failing test suites

Commit: 02f267e

test/integration/dynamic-routing/test/index.test.js

  • Dynamic Routing > dev mode > [nested ssg: catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > dev mode > [predefined ssg: catch all] should pass param in getStaticProps during SSR
  • Dynamic Routing > dev mode > [predefined ssg: catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > dev mode > [predefined ssg: prerendered catch all] should pass param in getStaticProps during SSR
  • Dynamic Routing > dev mode > [predefined ssg: prerendered catch all] should pass params in getStaticProps during SSR
  • Dynamic Routing > dev mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (single)
  • Dynamic Routing > dev mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (single interpolated)
  • Dynamic Routing > dev mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (multi)
  • Dynamic Routing > dev mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (multi) no as
  • Dynamic Routing > dev mode > [ssg: catch-all] should pass params in getStaticProps during client navigation (multi interpolated)
  • Dynamic Routing > dev mode > [nested ssg: catch-all] should pass params in getStaticProps during client navigation (single)
  • Dynamic Routing > dev mode > [nested ssg: catch-all] should pass params in getStaticProps during client navigation (multi)
  • Dynamic Routing > dev mode > should update dynamic values on mount
  • Dynamic Routing > dev mode > should update with a hash in the URL
  • Dynamic Routing > dev mode > should scroll to a hash on mount
  • Dynamic Routing > dev mode > should scroll to a hash on client-side navigation
  • Dynamic Routing > dev mode > should respond with bad request with invalid encoding
  • Dynamic Routing > dev mode > should preload buildManifest for auto-export dynamic pages
  • Dynamic Routing > dev mode > should resolve dynamic route href for page added later
  • Dynamic Routing > dev mode > should show error when interpolating fails for href
  • Dynamic Routing > dev mode > should work with HMR correctly
  • Dynamic Routing > production mode > should output a routes-manifest correctly
  • Dynamic Routing > serverless mode > should output a routes-manifest correctly
Expand output

● Dynamic Routing › dev mode › [nested ssg: catch all] should pass params in getStaticProps during SSR

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)

  447 |       `/_next/data/${buildId}/p1/p2/nested-all-ssg/test1/test2.json`
  448 |     )
> 449 |     expect(JSON.parse(data).pageProps.params).toEqual({
      |                 ^
  450 |       rest: ['test1', 'test2'],
  451 |     })
  452 |   })

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:449:17)
      at runMicrotasks (<anonymous>)

● Dynamic Routing › dev mode › [predefined ssg: catch all] should pass param in getStaticProps during SSR

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)

  457 |       `/_next/data/${buildId}/p1/p2/predefined-ssg/test1.json`
  458 |     )
> 459 |     expect(JSON.parse(data).pageProps.params).toEqual({ rest: ['test1'] })
      |                 ^
  460 |   })
  461 | 
  462 |   it('[predefined ssg: catch all] should pass params in getStaticProps during SSR', async () => {

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:459:17)
      at runMicrotasks (<anonymous>)

● Dynamic Routing › dev mode › [predefined ssg: catch all] should pass params in getStaticProps during SSR

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)

  465 |       `/_next/data/${buildId}/p1/p2/predefined-ssg/test1/test2.json`
  466 |     )
> 467 |     expect(JSON.parse(data).pageProps.params).toEqual({
      |                 ^
  468 |       rest: ['test1', 'test2'],
  469 |     })
  470 |   })

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:467:17)
      at runMicrotasks (<anonymous>)

● Dynamic Routing › dev mode › [predefined ssg: prerendered catch all] should pass param in getStaticProps during SSR

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)

  475 |       `/_next/data/${buildId}/p1/p2/predefined-ssg/one-level.json`
  476 |     )
> 477 |     expect(JSON.parse(data).pageProps.params).toEqual({ rest: ['one-level'] })
      |                 ^
  478 |   })
  479 | 
  480 |   it('[predefined ssg: prerendered catch all] should pass params in getStaticProps during SSR', async () => {

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:477:17)
      at runMicrotasks (<anonymous>)

● Dynamic Routing › dev mode › [predefined ssg: prerendered catch all] should pass params in getStaticProps during SSR

SyntaxError: Unexpected token < in JSON at position 0
    at JSON.parse (<anonymous>)

  483 |       `/_next/data/${buildId}/p1/p2/predefined-ssg/1st-level/2nd-level.json`
  484 |     )
> 485 |     expect(JSON.parse(data).pageProps.params).toEqual({
      |                 ^
  486 |       rest: ['1st-level', '2nd-level'],
  487 |     })
  488 |   })

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:485:17)
      at runMicrotasks (<anonymous>)

● Dynamic Routing › dev mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (single)

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#ssg-catch-all-single"}
  (Session info: headless chrome=87.0.4280.141)

  493 |       browser = await webdriver(appPort, '/')
  494 |       await browser.eval('window.beforeNav = 1')
> 495 |       await browser.elementByCss('#ssg-catch-all-single').click()
      |       ^
  496 |       await browser.waitForElementByCss('#all-ssg-content')
  497 | 
  498 |       expect(await browser.eval('window.beforeNav')).toBe(1)

  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 runMicrotasks (<anonymous>)
  at thenableWebDriverProxy.execute (../node_modules/selenium-webdriver/lib/webdriver.js:700:17)
  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:495:7)

● Dynamic Routing › dev mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (single interpolated)

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#ssg-catch-all-single-interpolated"}
  (Session info: headless chrome=87.0.4280.141)

  511 |       await browser.eval('window.beforeNav = 1')
  512 | 
> 513 |       const href = await browser
      |                    ^
  514 |         .elementByCss('#ssg-catch-all-single-interpolated')
  515 |         .getAttribute('href')
  516 | 

  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 runMicrotasks (<anonymous>)
  at thenableWebDriverProxy.execute (../node_modules/selenium-webdriver/lib/webdriver.js:700:17)
  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:513:20)

● Dynamic Routing › dev mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi)

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#ssg-catch-all-multi"}
  (Session info: headless chrome=87.0.4280.141)

  534 |       browser = await webdriver(appPort, '/')
  535 |       await browser.eval('window.beforeNav = 1')
> 536 |       await browser.elementByCss('#ssg-catch-all-multi').click()
      |       ^
  537 |       await browser.waitForElementByCss('#all-ssg-content')
  538 | 
  539 |       expect(await browser.eval('window.beforeNav')).toBe(1)

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:536:7)

● Dynamic Routing › dev mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi) no as

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#ssg-catch-all-multi-no-as"}
  (Session info: headless chrome=87.0.4280.141)

  551 |       browser = await webdriver(appPort, '/')
  552 |       await browser.eval('window.beforeNav = 1')
> 553 |       await browser.elementByCss('#ssg-catch-all-multi-no-as').click()
      |       ^
  554 |       await browser.waitForElementByCss('#all-ssg-content')
  555 | 
  556 |       expect(await browser.eval('window.beforeNav')).toBe(1)

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:553:7)

● Dynamic Routing › dev mode › [ssg: catch-all] should pass params in getStaticProps during client navigation (multi interpolated)

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#ssg-catch-all-multi-interpolated"}
  (Session info: headless chrome=87.0.4280.141)

  569 |       await browser.eval('window.beforeNav = 1')
  570 | 
> 571 |       const href = await browser
      |                    ^
  572 |         .elementByCss('#ssg-catch-all-multi-interpolated')
  573 |         .getAttribute('href')
  574 | 

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:571:20)

● Dynamic Routing › dev mode › [nested ssg: catch-all] should pass params in getStaticProps during client navigation (single)

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#nested-ssg-catch-all-single"}
  (Session info: headless chrome=87.0.4280.141)

  591 |     try {
  592 |       browser = await webdriver(appPort, '/')
> 593 |       await browser.elementByCss('#nested-ssg-catch-all-single').click()
      |       ^
  594 |       await browser.waitForElementByCss('#nested-all-ssg-content')
  595 | 
  596 |       const text = await browser.elementByCss('#nested-all-ssg-content').text()

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:593:7)

● Dynamic Routing › dev mode › [nested ssg: catch-all] should pass params in getStaticProps during client navigation (multi)

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#nested-ssg-catch-all-multi"}
  (Session info: headless chrome=87.0.4280.141)

  605 |     try {
  606 |       browser = await webdriver(appPort, '/')
> 607 |       await browser.elementByCss('#nested-ssg-catch-all-multi').click()
      |       ^
  608 |       await browser.waitForElementByCss('#nested-all-ssg-content')
  609 | 
  610 |       const text = await browser.elementByCss('#nested-all-ssg-content').text()

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:607:7)

● Dynamic Routing › dev mode › should update dynamic values on mount

expect(received).toMatch(expected)

Expected pattern: /onmpost:.*pending/
Received string:  "<!DOCTYPE html><html><head><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><meta charSet=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width\"/><meta name=\"next-head-count\" content=\"2\"/><noscript data-n-css=\"\"></noscript><link rel=\"preload\" href=\"/_next/static/chunks/main.js?ts=1610651256667\" as=\"script\"/><link rel=\"preload\" href=\"/_next/static/chunks/webpack.js?ts=1610651256667\" as=\"script\"/><link rel=\"preload\" href=\"/_next/static/chunks/pages/_app.js?ts=1610651256667\" as=\"script\"/><link rel=\"preload\" href=\"/_next/static/chunks/pages/_error.js?ts=1610651256667\" as=\"script\"/><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script src=\"/_next/static/chunks/react-refresh.js?ts=1610651256667\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"ModuleBuildError\",\"message\":\"Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\",\"stack\":\"ModuleBuildError: Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66913:20\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33601:11\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33416:20\\n    at runSyncOrAsync (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33377:3)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33412:3\\n    at loadLoader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33669:3)\\n    at iteratePitchingLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33403:2)\\n    at runLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33599:2)\\n    at NormalModule.doBuild (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66892:3)\\n    at NormalModule.build (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67043:15)\\n    at Compilation.buildModule (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54433:10)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54675:14\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67596:6\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67342:13\\n    at AsyncSeriesWaterfallHook.eval [as callAsync] (eval at create (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:46650:10), \\u003canonymous\\u003e:6:1)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67325:29\"},\"gip\":true}</script><script nomodule=\"\" src=\"/_next/static/chunks/polyfills.js?ts=1610651256667\"></script><script src=\"/_next/static/chunks/main.js?ts=1610651256667\"></script><script src=\"/_next/static/chunks/webpack.js?ts=1610651256667\"></script><script src=\"/_next/static/chunks/pages/_app.js?ts=1610651256667\"></script><script src=\"/_next/static/chunks/pages/_error.js?ts=1610651256667\"></script><script src=\"/_next/static/development/_buildManifest.js?ts=1610651256667\"></script><script src=\"/_next/static/development/_ssgManifest.js?ts=1610651256667\"></script></body></html>"

  617 |   it('should update dynamic values on mount', async () => {
  618 |     const html = await renderViaHTTP(appPort, '/on-mount/post-1')
> 619 |     expect(html).toMatch(/onmpost:.*pending/)
      |                  ^
  620 | 
  621 |     const browser = await webdriver(appPort, '/on-mount/post-1')
  622 |     const text = await browser.eval(`document.body.innerHTML`)

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:619:18)

● Dynamic Routing › dev mode › should update with a hash in the URL

expect(received).toMatch(expected)

Expected pattern: /onmpost:.*post-1/
Received string:  "<div id=\"__next\"></div><script src=\"/_next/static/chunks/react-refresh.js?ts=1610651256870\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"ModuleBuildError\",\"message\":\"Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\",\"stack\":\"ModuleBuildError: Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66913:20\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33601:11\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33416:20\\n    at runSyncOrAsync (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33377:3)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33412:3\\n    at loadLoader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33669:3)\\n    at iteratePitchingLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33403:2)\\n    at runLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33599:2)\\n    at NormalModule.doBuild (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66892:3)\\n    at NormalModule.build (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67043:15)\\n    at Compilation.buildModule (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54433:10)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54675:14\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67596:6\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67342:13\\n    at AsyncSeriesWaterfallHook.eval [as callAsync] (eval at create (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:46650:10), \\u003canonymous\\u003e:6:1)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67325:29\"},\"gip\":true}</script><script nomodule=\"\" src=\"/_next/static/chunks/polyfills.js?ts=1610651256870\"></script><script src=\"/_next/static/chunks/main.js?ts=1610651256870\"></script><script src=\"/_next/static/chunks/webpack.js?ts=1610651256870\"></script><script src=\"/_next/static/chunks/pages/_app.js?ts=1610651256870\"></script><div id=\"__next-build-watcher\" style=\"position: fixed; bottom: 10px; right: 20px; width: 0px; height: 0px; z-index: 99999;\"></div><script src=\"/_next/static/chunks/pages/_error.js?ts=1610651256870\"></script><script src=\"/_next/static/development/_buildManifest.js?ts=1610651256870\"></script><script src=\"/_next/static/development/_ssgManifest.js?ts=1610651256870\"></script><nextjs-portal></nextjs-portal>"

  632 |     const browser = await webdriver(appPort, '/on-mount/post-1#abc')
  633 |     const text = await browser.eval(`document.body.innerHTML`)
> 634 |     expect(text).toMatch(/onmpost:.*post-1/)
      |                  ^
  635 |   })
  636 | 
  637 |   it('should scroll to a hash on mount', async () => {

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:634:18)

● Dynamic Routing › dev mode › should scroll to a hash on mount

expect(received).toMatch(expected)

Expected pattern: /onmpost:.*post-1/
Received string:  "<div id=\"__next\"></div><script src=\"/_next/static/chunks/react-refresh.js?ts=1610651257446\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"ModuleBuildError\",\"message\":\"Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\",\"stack\":\"ModuleBuildError: Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66913:20\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33601:11\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33416:20\\n    at runSyncOrAsync (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33377:3)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33412:3\\n    at loadLoader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33669:3)\\n    at iteratePitchingLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33403:2)\\n    at runLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33599:2)\\n    at NormalModule.doBuild (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66892:3)\\n    at NormalModule.build (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67043:15)\\n    at Compilation.buildModule (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54433:10)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54675:14\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67596:6\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67342:13\\n    at AsyncSeriesWaterfallHook.eval [as callAsync] (eval at create (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:46650:10), \\u003canonymous\\u003e:6:1)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67325:29\"},\"gip\":true}</script><script nomodule=\"\" src=\"/_next/static/chunks/polyfills.js?ts=1610651257446\"></script><script src=\"/_next/static/chunks/main.js?ts=1610651257446\"></script><script src=\"/_next/static/chunks/webpack.js?ts=1610651257446\"></script><script src=\"/_next/static/chunks/pages/_app.js?ts=1610651257446\"></script><div id=\"__next-build-watcher\" style=\"position: fixed; bottom: 10px; right: 20px; width: 0px; height: 0px; z-index: 99999;\"></div><script src=\"/_next/static/chunks/pages/_error.js?ts=1610651257446\"></script><script src=\"/_next/static/development/_buildManifest.js?ts=1610651257446\"></script><script src=\"/_next/static/development/_ssgManifest.js?ts=1610651257446\"></script><nextjs-portal></nextjs-portal>"

  639 | 
  640 |     const text = await browser.eval(`document.body.innerHTML`)
> 641 |     expect(text).toMatch(/onmpost:.*post-1/)
      |                  ^
  642 | 
  643 |     const scrollPosition = await browser.eval('window.pageYOffset')
  644 |     expect(scrollPosition).toBe(7232)

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:641:18)

● Dynamic Routing › dev mode › should scroll to a hash on client-side navigation

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#view-dynamic-with-hash"}
  (Session info: headless chrome=87.0.4280.141)

  647 |   it('should scroll to a hash on client-side navigation', async () => {
  648 |     const browser = await webdriver(appPort, '/')
> 649 |     await browser.elementByCss('#view-dynamic-with-hash').click()
      |     ^
  650 |     await browser.waitForElementByCss('#asdf')
  651 | 
  652 |     const text = await browser.elementByCss('#asdf').text()

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:649:5)

● Dynamic Routing › dev mode › should respond with bad request with invalid encoding

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

Expected: 400
Received: 500

  720 |   it('should respond with bad request with invalid encoding', async () => {
  721 |     const res = await fetchViaHTTP(appPort, '/%')
> 722 |     expect(res.status).toBe(400)
      |                        ^
  723 |   })
  724 | 
  725 |   it('should preload buildManifest for auto-export dynamic pages', async () => {

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:722:24)

● Dynamic Routing › dev mode › should preload buildManifest for auto-export dynamic pages

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

Expected: 1
Received: 0

  734 |       }
  735 |     }
> 736 |     expect(found).toBe(1)
      |                   ^
  737 |   })
  738 | 
  739 |   it('should not preload buildManifest for non-auto export dynamic pages', async () => {

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:736:19)

● Dynamic Routing › dev mode › should resolve dynamic route href for page added later

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#added-later-link"}
  (Session info: headless chrome=87.0.4280.141)

  776 |       }, 'success')
  777 | 
> 778 |       await browser.elementByCss('#added-later-link').click()
      |       ^
  779 |       await browser.waitForElementByCss('#added-later')
  780 | 
  781 |       const text = await browser.elementByCss('#added-later').text()

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:778:7)

● Dynamic Routing › dev mode › should show error when interpolating fails for href

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"#view-post-1-interpolated-incorrectly"}
  (Session info: headless chrome=87.0.4280.141)

  787 |     it('should show error when interpolating fails for href', async () => {
  788 |       const browser = await webdriver(appPort, '/')
> 789 |       await browser
      |       ^
  790 |         .elementByCss('#view-post-1-interpolated-incorrectly')
  791 |         .click()
  792 |       expect(await hasRedbox(browser)).toBe(true)

  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 Object.<anonymous> (integration/dynamic-routing/test/index.test.js:789:7)

● Dynamic Routing › dev mode › should work with HMR correctly

expect(received).toMatch(expected)

Expected pattern: /comments for.*post-1/
Received string:  "<head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width\"><meta name=\"next-head-count\" content=\"2\"><noscript data-n-css=\"\"></noscript><link rel=\"preload\" href=\"/_next/static/chunks/main.js?ts=1610651260467\" as=\"script\"><link rel=\"preload\" href=\"/_next/static/chunks/webpack.js?ts=1610651260467\" as=\"script\"><link rel=\"preload\" href=\"/_next/static/chunks/pages/_app.js?ts=1610651260467\" as=\"script\"><link rel=\"preload\" href=\"/_next/static/chunks/pages/_error.js?ts=1610651260467\" as=\"script\"><noscript id=\"__next_css__DO_NOT_USE__\"></noscript><script charset=\"utf-8\" src=\"/_next/static/chunks/0.js\"></script></head><body style=\"overflow: hidden;\"><div id=\"__next\"></div><script src=\"/_next/static/chunks/react-refresh.js?ts=1610651260467\"></script><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"ModuleBuildError\",\"message\":\"Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\",\"stack\":\"ModuleBuildError: Module build failed (from (webpack)/style-loader/cjs.js):\\nTypeError: (0 , s.default) is not a function\\n    at Object.loader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/style-loader/cjs.js:1:1438)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66913:20\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33601:11\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33416:20\\n    at runSyncOrAsync (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33377:3)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33412:3\\n    at loadLoader (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33669:3)\\n    at iteratePitchingLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33403:2)\\n    at runLoaders (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:33599:2)\\n    at NormalModule.doBuild (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:66892:3)\\n    at NormalModule.build (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67043:15)\\n    at Compilation.buildModule (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54433:10)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:54675:14\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67596:6\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67342:13\\n    at AsyncSeriesWaterfallHook.eval [as callAsync] (eval at create (/home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:46650:10), \\u003canonymous\\u003e:6:1)\\n    at /home/runner/work/next.js/next.js/packages/next/dist/compiled/webpack/bundle4.js:67325:29\"},\"gip\":true}</script><script nomodule=\"\" src=\"/_next/static/chunks/polyfills.js?ts=1610651260467\"></script><script src=\"/_next/static/chunks/main.js?ts=1610651260467\"></script><script src=\"/_next/static/chunks/webpack.js?ts=1610651260467\"></script><script src=\"/_next/static/chunks/pages/_app.js?ts=1610651260467\"></script><div id=\"__next-build-watcher\" style=\"position: fixed; bottom: 10px; right: 20px; width: 0px; height: 0px; z-index: 99999;\"></div><script src=\"/_next/static/chunks/pages/_error.js?ts=1610651260467\"></script><script src=\"/_next/static/development/_buildManifest.js?ts=1610651260467\"></script><script src=\"/_next/static/development/_ssgManifest.js?ts=1610651260467\"></script><nextjs-portal></nextjs-portal></body>"

  800 |       const browser = await webdriver(appPort, '/post-1/comments')
  801 |       let text = await browser.eval(`document.documentElement.innerHTML`)
> 802 |       expect(text).toMatch(/comments for.*post-1/)
      |                    ^
  803 | 
  804 |       const page = join(appDir, 'pages/[name]/comments.js')
  805 |       const origContent = await fs.readFile(page, 'utf8')

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:802:20)

● Dynamic Routing › production mode › should output a routes-manifest correctly

expect(received).toEqual(expected) // deep equality

- Expected  - 0
+ Received  + 8

@@ -42,10 +42,18 @@
        },
      },
    ],
    "dynamicRoutes": Array [
      Object {
+       "namedRegex": "^/added\\-later/(?<slug>[^/]+?)(?:/)?$",
+       "page": "/added-later/[slug]",
+       "regex": "^\\/added\\-later\\/([^\\/]+?)(?:\\/)?$",
+       "routeKeys": Object {
+         "slug": "slug",
+       },
+     },
+     Object {
        "namedRegex": "^/b/(?<a>[^/]+?)(?:/)?$",
        "page": "/b/[123]",
        "regex": "^\\/b\\/([^\\/]+?)(?:\\/)?$",
        "routeKeys": Object {
          "a": "123",

  839 |       }
  840 | 
> 841 |       expect(manifest).toEqual({
      |                        ^
  842 |         version: 3,
  843 |         pages404: true,
  844 |         basePath: '',

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:841:24)

● Dynamic Routing › serverless mode › should output a routes-manifest correctly

expect(received).toEqual(expected) // deep equality

- Expected  - 0
+ Received  + 8

@@ -42,10 +42,18 @@
        },
      },
    ],
    "dynamicRoutes": Array [
      Object {
+       "namedRegex": "^/added\\-later/(?<slug>[^/]+?)(?:/)?$",
+       "page": "/added-later/[slug]",
+       "regex": "^\\/added\\-later\\/([^\\/]+?)(?:\\/)?$",
+       "routeKeys": Object {
+         "slug": "slug",
+       },
+     },
+     Object {
        "namedRegex": "^/b/(?<a>[^/]+?)(?:/)?$",
        "page": "/b/[123]",
        "regex": "^\\/b\\/([^\\/]+?)(?:\\/)?$",
        "routeKeys": Object {
          "a": "123",

  839 |       }
  840 | 
> 841 |       expect(manifest).toEqual({
      |                        ^
  842 |         version: 3,
  843 |         pages404: true,
  844 |         basePath: '',

  at Object.<anonymous> (integration/dynamic-routing/test/index.test.js:841:24)

@guybedford guybedford force-pushed the webpack-loader-inlining branch from 02f267e to 93254d8 Compare Jan 14, 2021
@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.6s 10.4s -177ms
nodeModulesSize 77.5 MB 77.5 MB ⚠️ +28.4 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.194 2.086 -0.11
/ avg req/sec 1139.39 1198.22 +58.83
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.338 1.35 ⚠️ +0.01
/error-in-render avg req/sec 1867.78 1851.44 ⚠️ -16.34
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 12.8s 12.5s -254ms
nodeModulesSize 77.5 MB 77.5 MB ⚠️ +28.4 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 93254d8

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 8.7s 9s ⚠️ +221ms
nodeModulesSize 77.5 MB 75.3 MB -2.24 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 1.726 1.785 ⚠️ +0.06
/ avg req/sec 1448.07 1400.6 ⚠️ -47.47
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.108 1.117 ⚠️ +0.01
/error-in-render avg req/sec 2256.83 2237.24 ⚠️ -19.59
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.7s 10.6s -134ms
nodeModulesSize 77.5 MB 75.3 MB -2.24 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 0e9fdc0

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Failing test suites

Commit: ea2c174

test/integration/document-file-dependencies/test/index.test.js

  • File Dependencies > production mode > should apply styles defined in global and module css files in a standard page.
  • File Dependencies > production mode > should apply styles defined in global and module css files in 404 page
  • File Dependencies > production mode > should apply styles defined in global and module css files in error page
Expand output

● File Dependencies › production mode › should apply styles defined in global and module css files in a standard page.

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● File Dependencies › production mode › should apply styles defined in global and module css files in 404 page

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● File Dependencies › production mode › should apply styles defined in global and module css files in error page

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● Test suite failed to run

TypeError: Cannot read property 'pid' of undefined

  282 | export async function killApp(instance) {
  283 |   await new Promise((resolve, reject) => {
> 284 |     treeKill(instance.pid, (err) => {
      |                       ^
  285 |       if (err) {
  286 |         if (
  287 |           process.platform === 'win32' &&

  at lib/next-test-utils.js:284:23
  at killApp (lib/next-test-utils.js:283:9)
  at integration/document-file-dependencies/test/index.test.js:21:20

test/integration/css-client-nav/test/index.test.js

  • CSS Module client-side navigation in Production > should be able to client-side navigate from red to blue
  • CSS Module client-side navigation in Production > should be able to client-side navigate from blue to red
  • CSS Module client-side navigation in Production > should be able to client-side navigate from none to red
  • CSS Module client-side navigation in Production > should be able to client-side navigate from none to blue
Expand output

● CSS Module client-side navigation in Production › should be able to client-side navigate from red to blue

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● CSS Module client-side navigation in Production › should be able to client-side navigate from blue to red

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● CSS Module client-side navigation in Production › should be able to client-side navigate from none to red

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● CSS Module client-side navigation in Production › should be able to client-side navigate from none to blue

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● Test suite failed to run

TypeError: Cannot read property 'pid' of undefined

  282 | export async function killApp(instance) {
  283 |   await new Promise((resolve, reject) => {
> 284 |     treeKill(instance.pid, (err) => {
      |                       ^
  285 |       if (err) {
  286 |         if (
  287 |           process.platform === 'win32' &&

  at lib/next-test-utils.js:284:23
  at killApp (lib/next-test-utils.js:283:9)
  at integration/css-client-nav/test/index.test.js:34:11

test/integration/dist-dir/test/index.test.js

  • distDir > should handle null/undefined distDir
Expand output

● distDir › should handle null/undefined distDir

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

Expected: 0
Received: 3996

  63 |     await fs.writeFile(nextConfig, origNextConfig)
  64 | 
> 65 |     expect(stderr.length).toBe(0)
     |                           ^
  66 |   })
  67 | })
  68 | 

  at Object.<anonymous> (integration/dist-dir/test/index.test.js:65:27)

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.6s 10.1s -530ms
nodeModulesSize 77.5 MB 75.1 MB -2.37 MB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 2.046 2.003 -0.04
/ avg req/sec 1221.82 1248.02 +26.2
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.287 1.295 ⚠️ +0.01
/error-in-render avg req/sec 1942.2 1931.02 ⚠️ -11.18
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 12.4s 12s -471ms
nodeModulesSize 77.5 MB 75.1 MB -2.37 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: ea2c174

@guybedford guybedford force-pushed the webpack-loader-inlining branch from ea2c174 to 9cc28da Compare Jan 14, 2021
@guybedford guybedford force-pushed the webpack-loader-inlining branch from 9cc28da to c81b4b6 Compare Jan 14, 2021
@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Failing test suites

Commit: c81b4b6

test/integration/css-client-nav/test/index.test.js

  • CSS Module client-side navigation in Production > should be able to client-side navigate from red to blue
  • CSS Module client-side navigation in Production > should be able to client-side navigate from blue to red
  • CSS Module client-side navigation in Production > should be able to client-side navigate from none to red
  • CSS Module client-side navigation in Production > should be able to client-side navigate from none to blue
Expand output

● CSS Module client-side navigation in Production › should be able to client-side navigate from red to blue

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● CSS Module client-side navigation in Production › should be able to client-side navigate from blue to red

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● CSS Module client-side navigation in Production › should be able to client-side navigate from none to red

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● CSS Module client-side navigation in Production › should be able to client-side navigate from none to blue

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● Test suite failed to run

TypeError: Cannot read property 'pid' of undefined

  282 | export async function killApp(instance) {
  283 |   await new Promise((resolve, reject) => {
> 284 |     treeKill(instance.pid, (err) => {
      |                       ^
  285 |       if (err) {
  286 |         if (
  287 |           process.platform === 'win32' &&

  at lib/next-test-utils.js:284:23
  at killApp (lib/next-test-utils.js:283:9)
  at integration/css-client-nav/test/index.test.js:34:11

test/integration/document-file-dependencies/test/index.test.js

  • File Dependencies > production mode > should apply styles defined in global and module css files in a standard page.
  • File Dependencies > production mode > should apply styles defined in global and module css files in 404 page
  • File Dependencies > production mode > should apply styles defined in global and module css files in error page
Expand output

● File Dependencies › production mode › should apply styles defined in global and module css files in a standard page.

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● File Dependencies › production mode › should apply styles defined in global and module css files in 404 page

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● File Dependencies › production mode › should apply styles defined in global and module css files in error page

command failed with code 1

  138 |         code !== 0
  139 |       ) {
> 140 |         return reject(new Error(`command failed with code ${code}`))
      |                       ^
  141 |       }
  142 | 
  143 |       resolve({

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

● Test suite failed to run

TypeError: Cannot read property 'pid' of undefined

  282 | export async function killApp(instance) {
  283 |   await new Promise((resolve, reject) => {
> 284 |     treeKill(instance.pid, (err) => {
      |                       ^
  285 |       if (err) {
  286 |         if (
  287 |           process.platform === 'win32' &&

  at lib/next-test-utils.js:284:23
  at killApp (lib/next-test-utils.js:283:9)
  at integration/document-file-dependencies/test/index.test.js:21:20

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 9.2s 9.1s -102ms
nodeModulesSize 77.5 MB 75.3 MB -2.24 MB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 1.807 1.79 -0.02
/ avg req/sec 1383.14 1396.34 +13.2
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.148 1.11 -0.04
/error-in-render avg req/sec 2178.23 2251.62 +73.39
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.6s 12.7s ⚠️ +2s
nodeModulesSize 77.5 MB 75.3 MB -2.24 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 020b704

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 7.8s 7.6s -191ms
nodeModulesSize 77.5 MB 75.3 MB -2.24 MB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 1.548 1.543 -0.01
/ avg req/sec 1615.21 1620.59 +5.38
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 0.983 0.988 ⚠️ +0.01
/error-in-render avg req/sec 2543.59 2530.75 ⚠️ -12.84
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 9.1s 9.8s ⚠️ +667ms
nodeModulesSize 77.5 MB 75.3 MB -2.24 MB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: 36e7211

@ijjk
Copy link
Member

ijjk commented Jan 14, 2021

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 8.9s 8.9s ⚠️ +31ms
nodeModulesSize 77.5 MB 77.5 MB ⚠️ +27.3 kB
Page Load Tests Overall increase ✓
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
/ failed reqs 0 0
/ total time (seconds) 1.759 1.716 -0.04
/ avg req/sec 1421.57 1456.6 +35.03
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.102 1.074 -0.03
/error-in-render avg req/sec 2267.72 2328.16 +60.44
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Rendered Page Sizes
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
index.html gzip 614 B 614 B
link.html gzip 619 B 619 B
withRouter.html gzip 607 B 607 B
Overall change 1.84 kB 1.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
buildDuration 10.5s 10.3s -162ms
nodeModulesSize 77.5 MB 77.5 MB ⚠️ +27.3 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
677f882d2ed8..b025.js gzip 13.1 kB 13.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-5e5e203..07ba.js gzip 6.63 kB 6.63 kB
webpack-50be..df5b.js gzip 751 B 751 B
Overall change 59.4 kB 59.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
polyfills-af..9390.js gzip 31.3 kB 31.3 kB
Overall change 31.3 kB 31.3 kB
Client Pages
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_app-2a09aa2..4a98.js gzip 1.28 kB 1.28 kB
_error-8b758..aef6.js gzip 3.46 kB 3.46 kB
hooks-c71ae4..70cd.js gzip 887 B 887 B
index-bbee2f..528b.js gzip 227 B 227 B
link-7faf09b..eba4.js gzip 1.64 kB 1.64 kB
routerDirect..bf84.js gzip 303 B 303 B
withRouter-a..5826.js gzip 302 B 302 B
Overall change 8.09 kB 8.09 kB
Client Build Manifests
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_buildManifest.js gzip 321 B 321 B
Overall change 321 B 321 B
Serverless bundles
vercel/next.js canary guybedford/next.js webpack-loader-inlining Change
_error.js 1 MB 1 MB
404.html 2.67 kB 2.67 kB
hooks.html 1.92 kB 1.92 kB
index.js 1 MB 1 MB
link.js 1.06 MB 1.06 MB
routerDirect.js 1.05 MB 1.05 MB
withRouter.js 1.05 MB 1.05 MB
Overall change 5.18 MB 5.18 MB
Commit: e7f58d9

Timer
Timer approved these changes Jan 15, 2021
@kodiakhq kodiakhq bot merged commit 005a8ab into vercel:canary Jan 15, 2021
28 of 30 checks passed
@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.

None yet

3 participants