diff --git a/packages/babel-core/src/config/files/module-types.ts b/packages/babel-core/src/config/files/module-types.ts index d9a43822eba7..dae2dd3360c0 100644 --- a/packages/babel-core/src/config/files/module-types.ts +++ b/packages/babel-core/src/config/files/module-types.ts @@ -71,13 +71,20 @@ function loadCtsDefault(filepath: string) { presets: [ [ "@babel/preset-typescript", - { - allowDeclareFields: true, - disallowAmbiguousJSXLike: true, - allExtensions: true, - onlyRemoveTypeImports: true, - optimizeConstEnums: true, - }, + process.env.BABEL_8_BREAKING + ? { + disallowAmbiguousJSXLike: true, + allExtensions: true, + onlyRemoveTypeImports: true, + optimizeConstEnums: true, + } + : { + allowDeclareFields: true, + disallowAmbiguousJSXLike: true, + allExtensions: true, + onlyRemoveTypeImports: true, + optimizeConstEnums: true, + }, ], ], }; diff --git a/packages/babel-core/test/config-ts.js b/packages/babel-core/test/config-ts.js index d7643802bba2..6a10eb277cdb 100644 --- a/packages/babel-core/test/config-ts.js +++ b/packages/babel-core/test/config-ts.js @@ -3,6 +3,7 @@ import path from "path"; import { fileURLToPath } from "url"; import { createRequire } from "module"; import { register } from "ts-node"; +import semver from "semver"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const require = createRequire(import.meta.url); @@ -38,33 +39,35 @@ describe("@babel/core config with ts", () => { delete require.extensions[".ts"]; }); - it("should work with ts-node", () => { - const service = register({ - experimentalResolver: true, - compilerOptions: { - module: "CommonJS", - }, - }); - service.enabled(true); + semver.gte(process.version, "12.0.0") + ? it + : it.skip("should work with ts-node", () => { + const service = register({ + experimentalResolver: true, + compilerOptions: { + module: "CommonJS", + }, + }); + service.enabled(true); - require(path.join( - __dirname, - "fixtures/config-ts/simple-cts-with-ts-node/babel.config.cts", - )); + require(path.join( + __dirname, + "fixtures/config-ts/simple-cts-with-ts-node/babel.config.cts", + )); - const config = loadPartialConfigSync({ - configFile: path.join( - __dirname, - "fixtures/config-ts/simple-cts-with-ts-node/babel.config.cts", - ), - }); + const config = loadPartialConfigSync({ + configFile: path.join( + __dirname, + "fixtures/config-ts/simple-cts-with-ts-node/babel.config.cts", + ), + }); - service.enabled(false); + service.enabled(false); - expect(config.options.targets).toMatchInlineSnapshot(` + expect(config.options.targets).toMatchInlineSnapshot(` Object { "node": "12.0.0", } `); - }); + }); });