diff --git a/packages/next/client/router.ts b/packages/next/client/router.ts index 32da8433124f4c6..41d4dad46af9fc4 100644 --- a/packages/next/client/router.ts +++ b/packages/next/client/router.ts @@ -138,7 +138,7 @@ export function makePublicRouterInstance(router: Router): NextRouter { for (const property of urlPropertyFields) { if (typeof _router[property] === 'object') { - instance[property] = { ..._router[property] } // makes sure query is not stateful + instance[property] = Object.assign({}, _router[property]) // makes sure query is not stateful continue } diff --git a/packages/next/taskfile-babel.js b/packages/next/taskfile-babel.js index 0036821f8abb6a7..d31ced3d8bde1e4 100644 --- a/packages/next/taskfile-babel.js +++ b/packages/next/taskfile-babel.js @@ -15,10 +15,15 @@ const babelClientOpts = { esmodules: true, }, loose: true, - exclude: ['transform-typeof-symbol'], + // This is handled by the Next.js webpack config that will run next/babel over the same code. + exclude: [ + 'transform-typeof-symbol', + 'transform-async-to-generator', + 'transform-spread', + ], }, ], - '@babel/preset-react', + ['@babel/preset-react', { useBuiltIns: true }], ], plugins: [ // workaround for @taskr/esnext bug replacing `-import` with `-require(` @@ -31,7 +36,7 @@ const babelClientOpts = { const babelServerOpts = { presets: [ '@babel/preset-typescript', - '@babel/preset-react', + ['@babel/preset-react', { useBuiltIns: true }], [ '@babel/preset-env', { diff --git a/test/integration/size-limit/test/index.test.js b/test/integration/size-limit/test/index.test.js index 70fd0d332d00dd2..caedbdff0ec787b 100644 --- a/test/integration/size-limit/test/index.test.js +++ b/test/integration/size-limit/test/index.test.js @@ -81,7 +81,7 @@ describe('Production response size', () => { ) // These numbers are without gzip compression! - const delta = responseSizeKilobytes - 235 + const delta = responseSizeKilobytes - 233 expect(delta).toBeLessThanOrEqual(0) // don't increase size expect(delta).toBeGreaterThanOrEqual(-1) // don't decrease size without updating target }) @@ -101,7 +101,7 @@ describe('Production response size', () => { ) // These numbers are without gzip compression! - const delta = responseSizeKilobytes - 203 + const delta = responseSizeKilobytes - 202 expect(delta).toBeLessThanOrEqual(0) // don't increase size expect(delta).toBeGreaterThanOrEqual(-1) // don't decrease size without updating target })