diff --git a/packages/next/build/babel/preset.ts b/packages/next/build/babel/preset.ts
index 206ad2d753d3..5a563c78e50a 100644
--- a/packages/next/build/babel/preset.ts
+++ b/packages/next/build/babel/preset.ts
@@ -1,6 +1,5 @@
import { PluginItem } from 'next/dist/compiled/babel/core'
import { dirname } from 'path'
-
const env = process.env.NODE_ENV
const isProduction = env === 'production'
const isDevelopment = env === 'development'
@@ -170,9 +169,9 @@ module.exports = (
helpers: true,
regenerator: true,
useESModules: supportsESM && presetEnvConfig.modules !== 'commonjs',
- absoluteRuntime: dirname(
- require.resolve('@babel/runtime/package.json')
- ),
+ absoluteRuntime: process.versions.pnp
+ ? dirname(require.resolve('@babel/runtime/package.json'))
+ : undefined,
...options['transform-runtime'],
},
],
diff --git a/test/unit/next-babel.unit.test.js b/test/unit/next-babel.unit.test.js
index 74feee34f099..3f3daf88e843 100644
--- a/test/unit/next-babel.unit.test.js
+++ b/test/unit/next-babel.unit.test.js
@@ -64,8 +64,8 @@ describe('next/babel', () => {
expect(output).toMatch(`__jsx(${react}.Fragment`)
expect(output).toMatch(`__jsx("a",{href:"/"`)
- expect(babel(`const a = ()=>home`)).toMatch(
- `var _react=_interopRequireDefault(require("react"));var __jsx=_react["default"].createElement;var a=function a(){return __jsx("a",{href:"/"},"home");};`
+ expect(babel(`const a = ()=>home`)).toMatchInlineSnapshot(
+ `"\\"use strict\\";var _interopRequireDefault=require(\\"@babel/runtime/helpers/interopRequireDefault\\");var _react=_interopRequireDefault(require(\\"react\\"));var __jsx=_react[\\"default\\"].createElement;var a=function a(){return __jsx(\\"a\\",{href:\\"/\\"},\\"home\\");};"`
)
})