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

Remove mkdirp from dependencies again #17042

Closed
wants to merge 10 commits into from

Conversation

matamatanot
Copy link
Contributor

A few months ago, #11251 has been merged to replace mkdirp, which was used in Next.js.
After that, mkdirp was added to the dependencies again #11699 for babel-loader depending on mkdirp.

Now, Next.js uses "babel-loader": "8.1.0" which replaces mkdirp by make-dir@2.
x-ref: babel/babel-loader/pull/839

@ijjk
Copy link
Member

ijjk commented Sep 12, 2020

Failing test suites

Commit: 7d4b3ff

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/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/amphtml-custom-validator/test/index.test.js

  • AMP Custom Validator > should build and start successfully
  • AMP Custom Validator > should run in dev mode 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)

● AMP Custom Validator › should run in dev mode successfully

thrown: "Exceeded timeout of 60000 ms for a test.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  31 |   })
  32 | 
> 33 |   it('should run in dev mode successfully', async () => {
     |   ^
  34 |     let stderr = ''
  35 | 
  36 |     appPort = await findPort()

  at integration/amphtml-custom-validator/test/index.test.js:33:3
  at Object.<anonymous> (integration/amphtml-custom-validator/test/index.test.js:19:1)

test/integration/app-tree/test/index.test.js

  • AppTree > dev mode > should provide router context in AppTree on SSR
  • AppTree > dev mode > should provide router context in AppTree on CSR
  • AppTree > dev mode > should pass AppTree to NextPageContext
  • AppTree > production mode > should provide router context in AppTree on SSR
  • AppTree > production mode > should provide router context in AppTree on CSR
  • AppTree > production mode > should pass AppTree to NextPageContext
  • AppTree > serverless mode > should provide router context in AppTree on SSR
  • AppTree > serverless mode > should provide router context in AppTree on CSR
  • AppTree > serverless mode > should pass AppTree to NextPageContext
Expand output

● AppTree › dev mode › should provide router context in AppTree on SSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  54 | describe('AppTree', () => {
  55 |   describe('dev mode', () => {
> 56 |     beforeAll(async () => {
     |     ^
  57 |       appPort = await findPort()
  58 |       app = await launchApp(appDir, appPort)
  59 |     })

  at integration/app-tree/test/index.test.js:56:5
  at integration/app-tree/test/index.test.js:55:3
  at Object.<anonymous> (integration/app-tree/test/index.test.js:54:1)

● AppTree › dev mode › should provide router context in AppTree on CSR

thrown: "Exceeded timeout of 60000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  54 | describe('AppTree', () => {
  55 |   describe('dev mode', () => {
> 56 |     beforeAll(async () => {
     |     ^
  57 |       appPort = await findPort()
  58 |       app = await launchApp(appDir, appPort)
  59 |     })

  at integration/app-tree/test/index.test.js:56:5
  at integration/app-tree/test/index.test.js:55:3
  at Object.<anonymous> (integration/app-tree/test/index.test.js:54:1)

● AppTree › dev mode › should pass AppTree to NextPageContext

thrown: "Exceeded timeout of 60000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  54 | describe('AppTree', () => {
  55 |   describe('dev mode', () => {
> 56 |     beforeAll(async () => {
     |     ^
  57 |       appPort = await findPort()
  58 |       app = await launchApp(appDir, appPort)
  59 |     })

  at integration/app-tree/test/index.test.js:56:5
  at integration/app-tree/test/index.test.js:55:3
  at Object.<anonymous> (integration/app-tree/test/index.test.js:54:1)

● AppTree › production mode › should provide router context in AppTree on SSR

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)

● AppTree › production mode › should provide router context in AppTree on CSR

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)

● AppTree › production mode › should pass AppTree to NextPageContext

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)

● AppTree › serverless mode › should provide router context in AppTree on SSR

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)

● AppTree › serverless mode › should provide router context in AppTree on CSR

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)

● AppTree › serverless mode › should pass AppTree to NextPageContext

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/app-tree/test/index.test.js:60:20

● 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/app-tree/test/index.test.js:70:20

● 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/app-tree/test/index.test.js:85:13

test/integration/amphtml-ssg/test/index.test.js

  • AMP SSG Support > dev mode > should load an amp first page correctly
  • AMP SSG Support > dev mode > should load a hybrid amp page without query correctly
  • AMP SSG Support > dev mode > should load dynamic hybrid SSG/AMP page
  • AMP SSG Support > dev mode > should load dynamic hybrid SSG/AMP page with trailing slash
  • AMP SSG Support > dev mode > should load dynamic hybrid SSG/AMP page with query
  • AMP SSG Support > dev mode > should load a hybrid amp page with query correctly
  • AMP SSG Support > export mode > should have copied SSG files correctly
  • AMP SSG Support > server mode > should load an amp first page correctly
  • AMP SSG Support > server mode > should load a hybrid amp page without query correctly
  • AMP SSG Support > server mode > should load dynamic hybrid SSG/AMP page
  • AMP SSG Support > server mode > should load dynamic hybrid SSG/AMP page with trailing slash
  • AMP SSG Support > server mode > should load dynamic hybrid SSG/AMP page with query
  • AMP SSG Support > server mode > should load a hybrid amp page with query correctly
  • AMP SSG Support > server mode > should output prerendered files correctly during build
  • AMP SSG Support > serverless mode > should load an amp first page correctly
  • AMP SSG Support > serverless mode > should load a hybrid amp page without query correctly
  • AMP SSG Support > serverless mode > should load dynamic hybrid SSG/AMP page
  • AMP SSG Support > serverless mode > should load dynamic hybrid SSG/AMP page with trailing slash
  • AMP SSG Support > serverless mode > should load dynamic hybrid SSG/AMP page with query
  • AMP SSG Support > serverless mode > should load a hybrid amp page with query correctly
  • AMP SSG Support > serverless mode > should output prerendered files correctly during build
Expand output

● AMP SSG Support › serverless mode › should load an amp first page 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)

● AMP SSG Support › serverless mode › should load a hybrid amp page without query 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)

● AMP SSG Support › serverless mode › should load dynamic hybrid SSG/AMP page

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)

● AMP SSG Support › serverless mode › should load dynamic hybrid SSG/AMP page with trailing slash

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)

● AMP SSG Support › serverless mode › should load dynamic hybrid SSG/AMP page with query

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)

● AMP SSG Support › serverless mode › should load a hybrid amp page with query 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)

● AMP SSG Support › serverless mode › should output prerendered files correctly during build

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)

● AMP SSG Support › server mode › should load an amp first page 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)

● AMP SSG Support › server mode › should load a hybrid amp page without query 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)

● AMP SSG Support › server mode › should load dynamic hybrid SSG/AMP page

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)

● AMP SSG Support › server mode › should load dynamic hybrid SSG/AMP page with trailing slash

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)

● AMP SSG Support › server mode › should load dynamic hybrid SSG/AMP page with query

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)

● AMP SSG Support › server mode › should load a hybrid amp page with query 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)

● AMP SSG Support › server mode › should output prerendered files correctly during build

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)

● AMP SSG Support › dev mode › should load an amp first page correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load a hybrid amp page without query correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page with trailing slash

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page with query

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load a hybrid amp page with query correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › export mode › should have copied SSG files 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 '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/amphtml-ssg/test/index.test.js:118:13

● 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/amphtml-ssg/test/index.test.js:130:20

● 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/amphtml-ssg/test/index.test.js:138:20

test/integration/babel/test/index.test.js

  • Babel > Rendering via HTTP > Should compile a page with flowtype correctly
Expand output

● Babel › Rendering via HTTP › Should compile a page with flowtype correctly

thrown: "Exceeded timeout of 300000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  17 | 
  18 | describe('Babel', () => {
> 19 |   beforeAll(async () => {
     |   ^
  20 |     context.appPort = await findPort()
  21 |     context.server = await launchApp(join(__dirname, '../'), context.appPort)
  22 | 

  at integration/babel/test/index.test.js:19:3
  at Object.<anonymous> (integration/babel/test/index.test.js:18:1)

● 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/babel/test/index.test.js:26:18

@ijjk
Copy link
Member

ijjk commented Sep 12, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 15.1s 14.5s -531ms
nodeModulesSize 60 MB 60 MB -8.43 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.705 2.688 -0.02
/ avg req/sec 924.18 930.23 +6.05
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.639 1.748 ⚠️ +0.11
/error-in-render avg req/sec 1525.41 1430.57 ⚠️ -94.84
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-3d83558..e210.js gzip 7.02 kB 7.02 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.6 kB 57.6 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-0a101e0..dule.js gzip 6.09 kB 6.09 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.6 kB 52.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 16.7s 16.3s -450ms
nodeModulesSize 60 MB 60 MB -8.43 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-3d83558..e210.js gzip 7.02 kB 7.02 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.6 kB 57.6 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-0a101e0..dule.js gzip 6.09 kB 6.09 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.6 kB 52.6 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.03 MB 1.03 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.04 MB 1.04 MB
link.js 1.08 MB 1.08 MB
routerDirect.js 1.07 MB 1.07 MB
withRouter.js 1.07 MB 1.07 MB
Overall change 5.31 MB 5.31 MB
Commit: 7d4b3ff

@ijjk
Copy link
Member

ijjk commented Sep 27, 2020

Failing test suites

Commit: de9fa6a

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.·
/home/runner/work/next.js/next.js/packages/next/dist/client/next.js
TypeError: invalid options argument
    at new Promise (<anonymous>)
    at Generator.throw (<anonymous>)··
> 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=(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{let workerResult=await staticCheckWorkers.isPageStatic(page,serverBundle,runtimeEnvConfig);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==='unstable_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 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/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/config-devtool-dev/test/index.test.js

  • devtool set in developmemt mode in next config > should warn and revert when a devtool is set in development mode
Expand output

● devtool set in developmemt mode in next config › should warn and revert when a devtool is set in development mode

thrown: "Exceeded timeout of 30000 ms for a test.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  17 | 
  18 | describe('devtool set in developmemt mode in next config', () => {
> 19 |   it('should warn and revert when a devtool is set in development mode', async () => {
     |   ^
  20 |     let stderr = ''
  21 | 
  22 |     const appPort = await findPort()

  at integration/config-devtool-dev/test/index.test.js:19:3
  at Object.<anonymous> (integration/config-devtool-dev/test/index.test.js:18:1)

test/integration/app-document-import-order/test/index.test.js

  • Root components import order > root components should be imported in this order _document > _app > page in order to respect side effects
  • Root components import order > _app chunks should be attached to de dom before page chunks
  • Root components import order > on dev server > root components should be imported in this order _document > _app > page in order to respect side effects
  • Root components import order > on dev server > _app chunks should be attached to de dom before page chunks
Expand output

● Root components import order › root components should be imported in this order _document > _app > page in order to respect side effects

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)

● Root components import order › _app chunks should be attached to de dom before page chunks

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)

● Root components import order › on dev server › root components should be imported in this order _document > _app > page in order to respect side effects

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)

● Root components import order › on dev server › root components should be imported in this order _document > _app > page in order to respect side effects

thrown: "Exceeded timeout of 60000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  80 | 
  81 |   describe('on dev server', () => {
> 82 |     beforeAll(async () => {
     |     ^
  83 |       appPort = await findPort()
  84 |       app = await launchApp(join(__dirname, '../'), appPort)
  85 |     })

  at integration/app-document-import-order/test/index.test.js:82:5
  at integration/app-document-import-order/test/index.test.js:81:3
  at Object.<anonymous> (integration/app-document-import-order/test/index.test.js:22:1)

● Root components import order › on dev server › _app chunks should be attached to de dom before page chunks

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)

● Root components import order › on dev server › _app chunks should be attached to de dom before page chunks

thrown: "Exceeded timeout of 60000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  80 | 
  81 |   describe('on dev server', () => {
> 82 |     beforeAll(async () => {
     |     ^
  83 |       appPort = await findPort()
  84 |       app = await launchApp(join(__dirname, '../'), appPort)
  85 |     })

  at integration/app-document-import-order/test/index.test.js:82:5
  at integration/app-document-import-order/test/index.test.js:81:3
  at Object.<anonymous> (integration/app-document-import-order/test/index.test.js:22:1)

● 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/app-document-import-order/test/index.test.js:87:20

● 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/app-document-import-order/test/index.test.js:34:18

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

  • 404 Page Support with _app > dev mode > should not show pages/404 GIP error if _app has GIP
  • 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=85.0.4183.102)

  170 |   console.log(`\n> Loading browser with ${url}\n`)
  171 | 
> 172 |   await browser.get(url)
      |   ^
  173 |   console.log(`\n> Loaded browser with ${url}\n`)
  174 | 
  175 |   // 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:172: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)

● 404 Page Support with _app › dev mode › should not show pages/404 GIP error if _app has GIP

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  65 |     let stdout = ''
  66 | 
> 67 |     beforeAll(async () => {
     |     ^
  68 |       appPort = await findPort()
  69 |       app = await launchApp(appDir, appPort, {
  70 |         onStderr(msg) {

  at integration/404-page-app/test/index.test.js:67:5
  at integration/404-page-app/test/index.test.js:63:3
  at Object.<anonymous> (integration/404-page-app/test/index.test.js:24:1)

● 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 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:78:20

@matamatanot
Copy link
Contributor Author

matamatanot commented Sep 27, 2020

I don't know why there is a difference between the ncc build file and the original package.json.

{name:"babel-loader",version:"8.1.0",description:"babel module loader for webpack",files:["lib"],main:"lib/index.js",engines:{node:">= 6.9"},dependencies:{"find-cache-dir":"^2.1.0","loader-utils":"^1.4.0",mkdirp:"^0.5.3",pify:"^4.0.1","schema-utils":"^2.6.5"},

https://github.com/babel/babel-loader/blob/master/package.json

"name": "babel-loader",
"version": "8.1.0",
"description": "babel module loader for webpack",
"files": [
"lib"
],
"main": "lib/index.js",
"engines": {
"node": ">= 6.9"
},
"dependencies": {
"find-cache-dir": "^2.1.0",
"loader-utils": "^1.4.0",
"make-dir": "^2.1.0",
"pify": "^4.0.1",
"schema-utils": "^2.6.5"
},

There is a difference between mkdirp:"^0.5.3" and "make-dir": "^2.1.0".
However, the other dependencies are consistent.

@ijjk
Copy link
Member

ijjk commented Sep 27, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 12.7s 12.7s ⚠️ +29ms
nodeModulesSize 62.9 MB 62.9 MB -8.43 kB
Page Load Tests Overall increase ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.524 2.387 -0.14
/ avg req/sec 990.47 1047.46 +56.99
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.427 1.43 0
/error-in-render avg req/sec 1752.33 1748.28 ⚠️ -4.05
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-e3dd5fc..bc67.js gzip 7.16 kB 7.16 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f4d7a25..dule.js gzip 6.23 kB 6.23 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 14.5s 14.5s ⚠️ +5ms
nodeModulesSize 62.9 MB 62.9 MB -8.43 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-e3dd5fc..bc67.js gzip 7.16 kB 7.16 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f4d7a25..dule.js gzip 6.23 kB 6.23 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.4 MB 5.4 MB
Commit: de9fa6a

@ijjk
Copy link
Member

ijjk commented Oct 3, 2020

Failing test suites

Commit: 6c8c5e3

test/integration/app-document-style-fragment/test/index.test.js

  • Custom Document Fragment Styles > correctly adds styles from fragment styles key
Expand output

● Custom Document Fragment Styles › correctly adds styles from fragment styles key

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/app-document-style-fragment/test/index.test.js:31: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.·
/home/runner/work/next.js/next.js/packages/next/dist/client/next.js
TypeError: invalid options argument
    at new Promise (<anonymous>)
    at Generator.throw (<anonymous>)··
> 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=(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{let workerResult=await staticCheckWorkers.isPageStatic(page,serverBundle,runtimeEnvConfig);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==='unstable_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 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-custom-optimizer/test/index.test.js

  • AMP Custom Optimizer > should build and start for static page
  • AMP Custom Optimizer > should build and start for dynamic page
Expand output

● AMP Custom Optimizer › should build and start for static page

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)

● AMP Custom Optimizer › should build and start for dynamic page

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/amphtml-custom-validator/test/index.test.js

  • AMP Custom Validator > should build and start successfully
  • AMP Custom Validator > should run in dev mode 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)

● AMP Custom Validator › should run in dev mode successfully

thrown: "Exceeded timeout of 60000 ms for a test.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  31 |   })
  32 | 
> 33 |   it('should run in dev mode successfully', async () => {
     |   ^
  34 |     let stderr = ''
  35 | 
  36 |     appPort = await findPort()

  at integration/amphtml-custom-validator/test/index.test.js:33:3
  at Object.<anonymous> (integration/amphtml-custom-validator/test/index.test.js:19:1)

test/integration/basepath/test/index.test.js

  • basePath development > should render error in dev overlay correctly
  • basePath development > should 404 for public file without basePath
  • basePath development > should serve public file with basePath correctly
  • basePath development > should rewrite with basePath by default
  • basePath development > should not rewrite without basePath without disabling
  • basePath development > should not rewrite with basePath when set to false
  • basePath development > should rewrite without basePath when set to false
  • basePath development > should redirect with basePath by default
  • basePath development > should not redirect without basePath without disabling
  • basePath development > should not redirect with basePath when set to false
  • basePath development > should redirect without basePath when set to false
  • basePath development > should add header with basePath by default
  • basePath development > should not add header without basePath without disabling
  • basePath development > should not add header with basePath when set to false
  • basePath development > should add header without basePath when set to false
  • basePath development > should not update URL for a 404
  • basePath development > should handle 404 urls that start with basePath
  • basePath development > should navigate back to a non-basepath 404 that starts with basepath
  • basePath development > should update dynamic params after mount correctly
  • basePath development > should navigate to index page with getStaticProps
  • basePath development > should navigate to nested index page with getStaticProps
  • basePath development > should work with nested folder with same name as basePath
  • basePath development > should work with normal dynamic page
  • basePath development > should work with hash links
  • basePath development > should work with catch-all page
  • basePath development > should redirect trailing slash correctly
  • basePath development > should redirect trailing slash on root correctly
  • basePath development > should navigate an absolute url
  • basePath development > should navigate an absolute local url with basePath
  • basePath development > should navigate an absolute local url without basePath
  • basePath development > should 404 when manually adding basePath with
  • basePath development > should 404 when manually adding basePath with router.push
  • basePath development > should 404 when manually adding basePath with router.replace
  • basePath development > should show the hello page under the /docs prefix
  • basePath development > should have correct router paths on first load of /
  • basePath development > should have correct router paths on first load of /hello
  • basePath development > should fetch data for getStaticProps without reloading
  • basePath development > should fetch data for getServerSideProps without reloading
  • basePath development > should have correct href for a link
  • basePath development > should have correct href for a link to /
  • basePath development > should show 404 for page not under the /docs prefix
  • basePath development > should show the other-page page under the /docs prefix
  • basePath development > should have basePath field on Router
  • basePath development > should navigate to the page without refresh
  • basePath development > should use urls with basepath in router events
  • basePath development > should use urls with basepath in router events for hash changes
  • basePath development > should use urls with basepath in router events for cancelled routes
  • basePath development > should use urls with basepath in router events for failed route change
  • basePath development > should allow URL query strings without refresh
  • basePath development > should correctly replace state when same asPath but different url
  • basePath development > should respect basePath in amphtml link rel
  • basePath development > Hot Module Reloading > delete a page and add it back > should load the page properly
  • basePath development > Hot Module Reloading > editing a page > should detect the changes and display it
  • basePath development > Hot Module Reloading > editing a page > should not reload unrelated pages
  • basePath development > Hot Module Reloading > editing a page > should update styles correctly
  • basePath development > Hot Module Reloading > editing a page > should update styles in a stateful component correctly
  • basePath development > Hot Module Reloading > editing a page > should update styles in a dynamic component correctly
  • basePath production > should add basePath to routes-manifest
  • basePath production > should prefetch pages correctly when manually called
  • basePath production > should prefetch pages correctly in viewport with
  • basePath production > should 404 for public file without basePath
  • basePath production > should serve public file with basePath correctly
  • basePath production > should rewrite with basePath by default
  • basePath production > should not rewrite without basePath without disabling
  • basePath production > should not rewrite with basePath when set to false
  • basePath production > should rewrite without basePath when set to false
  • basePath production > should redirect with basePath by default
  • basePath production > should not redirect without basePath without disabling
  • basePath production > should not redirect with basePath when set to false
  • basePath production > should redirect without basePath when set to false
  • basePath production > should add header with basePath by default
  • basePath production > should not add header without basePath without disabling
  • basePath production > should not add header with basePath when set to false
  • basePath production > should add header without basePath when set to false
  • basePath production > should not update URL for a 404
  • basePath production > should handle 404 urls that start with basePath
  • basePath production > should navigate back to a non-basepath 404 that starts with basepath
  • basePath production > should update dynamic params after mount correctly
  • basePath production > should navigate to index page with getStaticProps
  • basePath production > should navigate to nested index page with getStaticProps
  • basePath production > should work with nested folder with same name as basePath
  • basePath production > should work with normal dynamic page
  • basePath production > should work with hash links
  • basePath production > should work with catch-all page
  • basePath production > should redirect trailing slash correctly
  • basePath production > should redirect trailing slash on root correctly
  • basePath production > should navigate an absolute url
  • basePath production > should navigate an absolute local url with basePath
  • basePath production > should navigate an absolute local url without basePath
  • basePath production > should 404 when manually adding basePath with
  • basePath production > should 404 when manually adding basePath with router.push
  • basePath production > should 404 when manually adding basePath with router.replace
  • basePath production > should show the hello page under the /docs prefix
  • basePath production > should have correct router paths on first load of /
  • basePath production > should have correct router paths on first load of /hello
  • basePath production > should fetch data for getStaticProps without reloading
  • basePath production > should fetch data for getServerSideProps without reloading
  • basePath production > should have correct href for a link
  • basePath production > should have correct href for a link to /
  • basePath production > should show 404 for page not under the /docs prefix
  • basePath production > should show the other-page page under the /docs prefix
  • basePath production > should have basePath field on Router
  • basePath production > should navigate to the page without refresh
  • basePath production > should use urls with basepath in router events
  • basePath production > should use urls with basepath in router events for hash changes
  • basePath production > should use urls with basepath in router events for cancelled routes
  • basePath production > should use urls with basepath in router events for failed route change
  • basePath production > should allow URL query strings without refresh
  • basePath production > should correctly replace state when same asPath but different url
  • basePath production > should respect basePath in amphtml link rel
  • basePath serverless > should add basePath to routes-manifest
  • basePath serverless > should prefetch pages correctly when manually called
  • basePath serverless > should prefetch pages correctly in viewport with
  • basePath serverless > should 404 for public file without basePath
  • basePath serverless > should serve public file with basePath correctly
  • basePath serverless > should rewrite with basePath by default
  • basePath serverless > should not rewrite without basePath without disabling
  • basePath serverless > should not rewrite with basePath when set to false
  • basePath serverless > should rewrite without basePath when set to false
  • basePath serverless > should redirect with basePath by default
  • basePath serverless > should not redirect without basePath without disabling
  • basePath serverless > should not redirect with basePath when set to false
  • basePath serverless > should redirect without basePath when set to false
  • basePath serverless > should add header with basePath by default
  • basePath serverless > should not add header without basePath without disabling
  • basePath serverless > should not add header with basePath when set to false
  • basePath serverless > should add header without basePath when set to false
  • basePath serverless > should not update URL for a 404
  • basePath serverless > should handle 404 urls that start with basePath
  • basePath serverless > should navigate back to a non-basepath 404 that starts with basepath
  • basePath serverless > should update dynamic params after mount correctly
  • basePath serverless > should navigate to index page with getStaticProps
  • basePath serverless > should navigate to nested index page with getStaticProps
  • basePath serverless > should work with nested folder with same name as basePath
  • basePath serverless > should work with normal dynamic page
  • basePath serverless > should work with hash links
  • basePath serverless > should work with catch-all page
  • basePath serverless > should redirect trailing slash correctly
  • basePath serverless > should redirect trailing slash on root correctly
  • basePath serverless > should navigate an absolute url
  • basePath serverless > should navigate an absolute local url with basePath
  • basePath serverless > should navigate an absolute local url without basePath
  • basePath serverless > should 404 when manually adding basePath with
  • basePath serverless > should 404 when manually adding basePath with router.push
  • basePath serverless > should 404 when manually adding basePath with router.replace
  • basePath serverless > should show the hello page under the /docs prefix
  • basePath serverless > should have correct router paths on first load of /
  • basePath serverless > should have correct router paths on first load of /hello
  • basePath serverless > should fetch data for getStaticProps without reloading
  • basePath serverless > should fetch data for getServerSideProps without reloading
  • basePath serverless > should have correct href for a link
  • basePath serverless > should have correct href for a link to /
  • basePath serverless > should show 404 for page not under the /docs prefix
  • basePath serverless > should show the other-page page under the /docs prefix
  • basePath serverless > should have basePath field on Router
  • basePath serverless > should navigate to the page without refresh
  • basePath serverless > should use urls with basepath in router events
  • basePath serverless > should use urls with basepath in router events for hash changes
  • basePath serverless > should use urls with basepath in router events for cancelled routes
  • basePath serverless > should use urls with basepath in router events for failed route change
  • basePath serverless > should allow URL query strings without refresh
  • basePath serverless > should correctly replace state when same asPath but different url
  • basePath serverless > should always strip basePath in serverless-loader
Expand output

● basePath development › should render error in dev overlay correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should 404 for public file without basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should serve public file with basePath correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should rewrite with basePath by default

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not rewrite without basePath without disabling

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not rewrite with basePath when set to false

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should rewrite without basePath when set to false

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should redirect with basePath by default

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not redirect without basePath without disabling

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not redirect with basePath when set to false

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should redirect without basePath when set to false

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should add header with basePath by default

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not add header without basePath without disabling

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not add header with basePath when set to false

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should add header without basePath when set to false

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should not update URL for a 404

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should handle 404 urls that start with basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate back to a non-basepath 404 that starts with basepath

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should update dynamic params after mount correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate to index page with getStaticProps

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate to nested index page with getStaticProps

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should work with nested folder with same name as basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should work with normal dynamic page

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should work with hash links

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should work with catch-all page

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should redirect trailing slash correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should redirect trailing slash on root correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate an absolute url

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate an absolute local url with basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate an absolute local url without basePath

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should 404 when manually adding basePath with

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should 404 when manually adding basePath with router.push

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should 404 when manually adding basePath with router.replace

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should show the hello page under the /docs prefix

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should have correct router paths on first load of /

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should have correct router paths on first load of /hello

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should fetch data for getStaticProps without reloading

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should fetch data for getServerSideProps without reloading

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should have correct href for a link

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should have correct href for a link to /

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should show 404 for page not under the /docs prefix

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should show the other-page page under the /docs prefix

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should have basePath field on Router

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should navigate to the page without refresh

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should use urls with basepath in router events

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should use urls with basepath in router events for hash changes

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should use urls with basepath in router events for cancelled routes

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should use urls with basepath in router events for failed route change

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should allow URL query strings without refresh

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should correctly replace state when same asPath but different url

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › Hot Module Reloading › delete a page and add it back › should load the page properly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › Hot Module Reloading › editing a page › should detect the changes and display it

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › Hot Module Reloading › editing a page › should not reload unrelated pages

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › Hot Module Reloading › editing a page › should update styles correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › Hot Module Reloading › editing a page › should update styles in a stateful component correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › Hot Module Reloading › editing a page › should update styles in a dynamic component correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath development › should respect basePath in amphtml link rel

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  724 |   let context = {}
  725 | 
> 726 |   beforeAll(async () => {
      |   ^
  727 |     context.appPort = await findPort()
  728 |     server = await launchApp(join(__dirname, '..'), context.appPort, {
  729 |       env: { __NEXT_TEST_WITH_DEVTOOL: 1 },

  at integration/basepath/test/index.test.js:726:3
  at Object.<anonymous> (integration/basepath/test/index.test.js:721:1)

● basePath production › should add basePath to routes-manifest

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)

● basePath production › should prefetch pages correctly when manually called

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)

● basePath production › should prefetch pages correctly in viewport with

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)

● basePath production › should 404 for public file without basePath

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)

● basePath production › should serve public file with basePath 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)

● basePath production › should rewrite with basePath by default

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)

● basePath production › should not rewrite without basePath without disabling

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)

● basePath production › should not rewrite with basePath when set to false

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)

● basePath production › should rewrite without basePath when set to false

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)

● basePath production › should redirect with basePath by default

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)

● basePath production › should not redirect without basePath without disabling

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)

● basePath production › should not redirect with basePath when set to false

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)

● basePath production › should redirect without basePath when set to false

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)

● basePath production › should add header with basePath by default

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)

● basePath production › should not add header without basePath without disabling

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)

● basePath production › should not add header with basePath when set to false

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)

● basePath production › should add header without basePath when set to false

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)

● basePath production › should not update URL for a 404

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)

● basePath production › should handle 404 urls that start with basePath

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)

● basePath production › should navigate back to a non-basepath 404 that starts with basepath

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)

● basePath production › should update dynamic params after mount 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)

● basePath production › should navigate to index page with getStaticProps

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)

● basePath production › should navigate to nested index page with getStaticProps

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)

● basePath production › should work with nested folder with same name as basePath

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)

● basePath production › should work with normal dynamic page

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)

● basePath production › should work with hash links

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)

● basePath production › should work with catch-all page

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)

● basePath production › should redirect trailing slash 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)

● basePath production › should redirect trailing slash on root 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)

● basePath production › should navigate an absolute url

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)

● basePath production › should navigate an absolute local url with basePath

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)

● basePath production › should navigate an absolute local url without basePath

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)

● basePath production › should 404 when manually adding basePath with

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)

● basePath production › should 404 when manually adding basePath with router.push

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)

● basePath production › should 404 when manually adding basePath with router.replace

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)

● basePath production › should show the hello page under the /docs prefix

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)

● basePath production › should have correct router paths on first load of /

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)

● basePath production › should have correct router paths on first load of /hello

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)

● basePath production › should fetch data for getStaticProps without reloading

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)

● basePath production › should fetch data for getServerSideProps without reloading

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)

● basePath production › should have correct href for a link

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)

● basePath production › should have correct href for a link to /

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)

● basePath production › should show 404 for page not under the /docs prefix

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)

● basePath production › should show the other-page page under the /docs prefix

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)

● basePath production › should have basePath field on Router

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)

● basePath production › should navigate to the page without refresh

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)

● basePath production › should use urls with basepath in router events

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)

● basePath production › should use urls with basepath in router events for hash changes

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)

● basePath production › should use urls with basepath in router events for cancelled routes

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)

● basePath production › should use urls with basepath in router events for failed route change

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)

● basePath production › should allow URL query strings without refresh

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)

● basePath production › should correctly replace state when same asPath but different url

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)

● basePath production › should respect basePath in amphtml link rel

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)

● basePath serverless › should add basePath to routes-manifest

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)

● basePath serverless › should prefetch pages correctly when manually called

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)

● basePath serverless › should prefetch pages correctly in viewport with

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)

● basePath serverless › should 404 for public file without basePath

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)

● basePath serverless › should serve public file with basePath 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)

● basePath serverless › should rewrite with basePath by default

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)

● basePath serverless › should not rewrite without basePath without disabling

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)

● basePath serverless › should not rewrite with basePath when set to false

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)

● basePath serverless › should rewrite without basePath when set to false

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)

● basePath serverless › should redirect with basePath by default

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)

● basePath serverless › should not redirect without basePath without disabling

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)

● basePath serverless › should not redirect with basePath when set to false

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)

● basePath serverless › should redirect without basePath when set to false

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)

● basePath serverless › should add header with basePath by default

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)

● basePath serverless › should not add header without basePath without disabling

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)

● basePath serverless › should not add header with basePath when set to false

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)

● basePath serverless › should add header without basePath when set to false

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)

● basePath serverless › should not update URL for a 404

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)

● basePath serverless › should handle 404 urls that start with basePath

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)

● basePath serverless › should navigate back to a non-basepath 404 that starts with basepath

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)

● basePath serverless › should update dynamic params after mount 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)

● basePath serverless › should navigate to index page with getStaticProps

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)

● basePath serverless › should navigate to nested index page with getStaticProps

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)

● basePath serverless › should work with nested folder with same name as basePath

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)

● basePath serverless › should work with normal dynamic page

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)

● basePath serverless › should work with hash links

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)

● basePath serverless › should work with catch-all page

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)

● basePath serverless › should redirect trailing slash 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)

● basePath serverless › should redirect trailing slash on root 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)

● basePath serverless › should navigate an absolute url

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)

● basePath serverless › should navigate an absolute local url with basePath

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)

● basePath serverless › should navigate an absolute local url without basePath

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)

● basePath serverless › should 404 when manually adding basePath with

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)

● basePath serverless › should 404 when manually adding basePath with router.push

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)

● basePath serverless › should 404 when manually adding basePath with router.replace

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)

● basePath serverless › should show the hello page under the /docs prefix

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)

● basePath serverless › should have correct router paths on first load of /

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)

● basePath serverless › should have correct router paths on first load of /hello

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)

● basePath serverless › should fetch data for getStaticProps without reloading

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)

● basePath serverless › should fetch data for getServerSideProps without reloading

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)

● basePath serverless › should have correct href for a link

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)

● basePath serverless › should have correct href for a link to /

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)

● basePath serverless › should show 404 for page not under the /docs prefix

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)

● basePath serverless › should show the other-page page under the /docs prefix

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)

● basePath serverless › should have basePath field on Router

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)

● basePath serverless › should navigate to the page without refresh

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)

● basePath serverless › should use urls with basepath in router events

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)

● basePath serverless › should use urls with basepath in router events for hash changes

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)

● basePath serverless › should use urls with basepath in router events for cancelled routes

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)

● basePath serverless › should use urls with basepath in router events for failed route change

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)

● basePath serverless › should allow URL query strings without refresh

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)

● basePath serverless › should correctly replace state when same asPath but different url

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)

● basePath serverless › should always strip basePath in serverless-loader

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/basepath/test/index.test.js:733:11

● 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/basepath/test/index.test.js:1071:18

● 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/basepath/test/index.test.js:1097:11

test/integration/amphtml-ssg/test/index.test.js

  • AMP SSG Support > dev mode > should load an amp first page correctly
  • AMP SSG Support > dev mode > should load a hybrid amp page without query correctly
  • AMP SSG Support > dev mode > should load dynamic hybrid SSG/AMP page
  • AMP SSG Support > dev mode > should load dynamic hybrid SSG/AMP page with trailing slash
  • AMP SSG Support > dev mode > should load dynamic hybrid SSG/AMP page with query
  • AMP SSG Support > dev mode > should load a hybrid amp page with query correctly
  • AMP SSG Support > export mode > should have copied SSG files correctly
  • AMP SSG Support > server mode > should load an amp first page correctly
  • AMP SSG Support > server mode > should load a hybrid amp page without query correctly
  • AMP SSG Support > server mode > should load dynamic hybrid SSG/AMP page
  • AMP SSG Support > server mode > should load dynamic hybrid SSG/AMP page with trailing slash
  • AMP SSG Support > server mode > should load dynamic hybrid SSG/AMP page with query
  • AMP SSG Support > server mode > should load a hybrid amp page with query correctly
  • AMP SSG Support > server mode > should output prerendered files correctly during build
  • AMP SSG Support > serverless mode > should load an amp first page correctly
  • AMP SSG Support > serverless mode > should load a hybrid amp page without query correctly
  • AMP SSG Support > serverless mode > should load dynamic hybrid SSG/AMP page
  • AMP SSG Support > serverless mode > should load dynamic hybrid SSG/AMP page with trailing slash
  • AMP SSG Support > serverless mode > should load dynamic hybrid SSG/AMP page with query
  • AMP SSG Support > serverless mode > should load a hybrid amp page with query correctly
  • AMP SSG Support > serverless mode > should output prerendered files correctly during build
Expand output

● AMP SSG Support › serverless mode › should load an amp first page 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)

● AMP SSG Support › serverless mode › should load a hybrid amp page without query 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)

● AMP SSG Support › serverless mode › should load dynamic hybrid SSG/AMP page

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)

● AMP SSG Support › serverless mode › should load dynamic hybrid SSG/AMP page with trailing slash

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)

● AMP SSG Support › serverless mode › should load dynamic hybrid SSG/AMP page with query

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)

● AMP SSG Support › serverless mode › should load a hybrid amp page with query 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)

● AMP SSG Support › serverless mode › should output prerendered files correctly during build

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)

● AMP SSG Support › server mode › should load an amp first page 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)

● AMP SSG Support › server mode › should load a hybrid amp page without query 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)

● AMP SSG Support › server mode › should load dynamic hybrid SSG/AMP page

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)

● AMP SSG Support › server mode › should load dynamic hybrid SSG/AMP page with trailing slash

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)

● AMP SSG Support › server mode › should load dynamic hybrid SSG/AMP page with query

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)

● AMP SSG Support › server mode › should load a hybrid amp page with query 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)

● AMP SSG Support › server mode › should output prerendered files correctly during build

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)

● AMP SSG Support › dev mode › should load an amp first page correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load a hybrid amp page without query correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page with trailing slash

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load dynamic hybrid SSG/AMP page with query

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › dev mode › should load a hybrid amp page with query correctly

thrown: "Exceeded timeout of 120000 ms for a hook.
Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

  132 |   })
  133 |   describe('dev mode', () => {
> 134 |     beforeAll(async () => {
      |     ^
  135 |       appPort = await findPort()
  136 |       app = await launchApp(appDir, appPort)
  137 |     })

  at integration/amphtml-ssg/test/index.test.js:134:5
  at integration/amphtml-ssg/test/index.test.js:133:3
  at Object.<anonymous> (integration/amphtml-ssg/test/index.test.js:100:1)

● AMP SSG Support › export mode › should have copied SSG files 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 '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/amphtml-ssg/test/index.test.js:118:13

● 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/amphtml-ssg/test/index.test.js:130:20

● 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/amphtml-ssg/test/index.test.js:138:20

@ijjk
Copy link
Member

ijjk commented Oct 3, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 13.2s 13.2s ⚠️ +68ms
nodeModulesSize 63.1 MB 63.1 MB -8.43 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.568 2.576 ⚠️ +0.01
/ avg req/sec 973.57 970.46 ⚠️ -3.11
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.504 1.526 ⚠️ +0.02
/error-in-render avg req/sec 1661.77 1637.76 ⚠️ -24.01
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 15s 15s -24ms
nodeModulesSize 63.1 MB 63.1 MB -8.43 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.4 MB 5.4 MB
Commit: 6c8c5e3

@ijjk
Copy link
Member

ijjk commented Oct 3, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 12.2s 12.2s -21ms
nodeModulesSize 63.1 MB 63.1 MB -6.62 kB
Page Load Tests Overall increase ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.211 2.207 0
/ avg req/sec 1130.51 1132.84 +2.33
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.15 1.149 0
/error-in-render avg req/sec 2173.53 2176.47 +2.94
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 13.7s 13.7s -19ms
nodeModulesSize 63.1 MB 63.1 MB -6.62 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.4 MB 5.4 MB
Commit: 008514e

Copy link
Member

@lfades lfades left a comment

Choose a reason for hiding this comment

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

LGTM but I'll let @timneutkens do the final review.

@ijjk
Copy link
Member

ijjk commented Oct 5, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 11.1s 11.3s ⚠️ +175ms
nodeModulesSize 63.1 MB 63.1 MB -6.62 kB
Page Load Tests Overall increase ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.099 2.027 -0.07
/ avg req/sec 1190.96 1233.2 +42.24
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.124 1.094 -0.03
/error-in-render avg req/sec 2223.57 2284.21 +60.64
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 996 B 996 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 12.1s 12.8s ⚠️ +658ms
nodeModulesSize 63.1 MB 63.1 MB -6.62 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..9339.js gzip 10.9 kB 10.9 kB
framework.HASH.js gzip 39 kB 39 kB
main-d493e7d..42f5.js gzip 7.17 kB 7.17 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.8 kB 57.8 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.77 kB 6.77 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-f8905d4..dule.js gzip 6.24 kB 6.24 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.7 kB 52.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-d2344ce..8b36.js gzip 1.3 kB 1.3 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.71 kB 7.71 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-f8c0daf..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.36 kB 5.36 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.4 MB 5.4 MB
Commit: 4229c25

@matamatanot
Copy link
Contributor Author

@lfades
Thanks!

@timneutkens
Is there a problem here?
#17042 (comment)

The comment says dependents: babel-loader. However, the cache-loader seems to be dependent on mkdirp.

@ijjk
Copy link
Member

ijjk commented Oct 10, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 13.9s 14.3s ⚠️ +388ms
nodeModulesSize 63.4 MB 63.4 MB -6.62 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.664 2.611 -0.05
/ avg req/sec 938.51 957.32 +18.81
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.615 1.747 ⚠️ +0.13
/error-in-render avg req/sec 1547.71 1430.84 ⚠️ -116.87
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..133b.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-faae5f7..727a.js gzip 7.22 kB 7.22 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58 kB 58 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.9 kB 6.9 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-d2ce890..dule.js gzip 6.28 kB 6.28 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.9 kB 52.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-409b283..e3ab.js gzip 1.32 kB 1.32 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.73 kB 7.73 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-92d3016..dule.js gzip 1.28 kB 1.28 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 995 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 15.9s 16.2s ⚠️ +249ms
nodeModulesSize 63.4 MB 63.4 MB -5.33 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..133b.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-faae5f7..727a.js gzip 7.22 kB 7.22 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58 kB 58 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.9 kB 6.9 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-d2ce890..dule.js gzip 6.28 kB 6.28 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.9 kB 52.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-409b283..e3ab.js gzip 1.32 kB 1.32 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.73 kB 7.73 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-92d3016..dule.js gzip 1.28 kB 1.28 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.05 MB 1.05 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.05 MB 1.05 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.09 MB 1.09 MB
withRouter.js 1.09 MB 1.09 MB
Overall change 5.41 MB 5.41 MB
Commit: e92ad9e

@ijjk
Copy link
Member

ijjk commented Oct 14, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 11.3s 11s -282ms
nodeModulesSize 63.4 MB 63.4 MB -6.62 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.044 2.066 ⚠️ +0.02
/ avg req/sec 1223.03 1209.9 ⚠️ -13.13
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.128 1.175 ⚠️ +0.05
/error-in-render avg req/sec 2216.42 2127.57 ⚠️ -88.85
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..133b.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-3fae807..efe0.js gzip 7.3 kB 7.3 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.1 kB 58.1 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.9 kB 6.9 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-8ac5189..dule.js gzip 6.29 kB 6.29 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.9 kB 52.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-409b283..e3ab.js gzip 1.32 kB 1.32 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.73 kB 7.73 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-92d3016..dule.js gzip 1.28 kB 1.28 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Rendered Page Sizes
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 995 B 995 B
Overall change 3.01 kB 3.01 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 12.6s 12.4s -191ms
nodeModulesSize 63.4 MB 63.4 MB -6.62 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..133b.js gzip 11.1 kB 11.1 kB
framework.HASH.js gzip 39 kB 39 kB
main-3fae807..efe0.js gzip 7.3 kB 7.3 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.1 kB 58.1 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
677f882d2ed8..dule.js gzip 6.9 kB 6.9 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-8ac5189..dule.js gzip 6.29 kB 6.29 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52.9 kB 52.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-409b283..e3ab.js gzip 1.32 kB 1.32 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.73 kB 7.73 kB
Client Pages Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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-92d3016..dule.js gzip 1.28 kB 1.28 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_buildManifest.js gzip 323 B 323 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 652 B 652 B
Serverless bundles
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
_error.js 1.06 MB 1.06 MB
404.html 4.34 kB 4.34 kB
hooks.html 3.92 kB 3.92 kB
index.js 1.06 MB 1.06 MB
link.js 1.1 MB 1.1 MB
routerDirect.js 1.1 MB 1.1 MB
withRouter.js 1.1 MB 1.1 MB
Overall change 5.41 MB 5.41 MB
Commit: df1b405

@ijjk
Copy link
Member

ijjk commented Nov 4, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 13.7s 13.7s -33ms
nodeModulesSize 90.5 MB 90.5 MB -6.62 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.582 2.635 ⚠️ +0.05
/ avg req/sec 968.1 948.83 ⚠️ -19.27
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.548 1.565 ⚠️ +0.02
/error-in-render avg req/sec 1615.38 1597.37 ⚠️ -18.01
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-b5..1119.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 994 B 994 B
Overall change 3 kB 3 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 15.4s 15.8s ⚠️ +423ms
nodeModulesSize 90.5 MB 90.5 MB -6.62 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-b5..1119.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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: 6fc92ba

@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 matamatanot/next.js remove-mkdirp Change
buildDuration 11.9s 12s ⚠️ +106ms
nodeModulesSize 90.5 MB 90.5 MB -6.62 kB
Page Load Tests Overall increase ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
/ failed reqs 0 0
/ total time (seconds) 2.303 2.236 -0.07
/ avg req/sec 1085.54 1118 +32.46
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.23 1.18 -0.05
/error-in-render avg req/sec 2032.86 2118.01 +85.15
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-b5..1119.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp Change
index.html gzip 1 kB 1 kB
link.html gzip 1.01 kB 1.01 kB
withRouter.html gzip 994 B 994 B
Overall change 3 kB 3 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
buildDuration 13.5s 13.5s ⚠️ +14ms
nodeModulesSize 90.5 MB 90.5 MB -6.62 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 58.3 kB 58.3 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary matamatanot/next.js remove-mkdirp 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.33 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 53.1 kB 53.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary matamatanot/next.js remove-mkdirp Change
polyfills-b5..1119.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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 matamatanot/next.js remove-mkdirp 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: 7d2f213

@timneutkens
Copy link
Member

mkdirp was removed from the dependencies recently. Thanks!

kodiakhq bot pushed a commit that referenced this pull request Jan 26, 2021
Closes #17042

I removed mkdirp from package.json taskfil.js, and ran `yarn && ./check-pre-compiled.sh `. Please let me know if anything else is needed!

(Extracted from #20411)

Note that now compiled webpack has mkdirP function
@matamatanot matamatanot deleted the remove-mkdirp branch October 30, 2021 09:54
@vercel vercel locked as resolved and limited conversation to collaborators Jan 27, 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

4 participants