From e3cf12d0bc5c7a3ad81f59aef78088aa9b577c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Mon, 13 Jan 2020 01:29:22 +0100 Subject: [PATCH] Exclude import() tests from pubilsh build I really don't like this commit, but import() is currently breaking our publish script. When "normal" tests we are transpiling import() so that it works with Jest. We can't do it while publishing because we need to publish the untranspiled import() so that it can load real .mjs files. Follow up to #10903 --- Makefile | 2 +- packages/babel-core/test/config-chain.js | 30 ++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7a99ee30a162..dfe03b547e9c 100644 --- a/Makefile +++ b/Makefile @@ -212,7 +212,7 @@ prepublish-build: clean-lib clean-runtime-helpers prepublish: $(MAKE) bootstrap-only $(MAKE) prepublish-build - $(MAKE) test + IS_PUBLISH=true $(MAKE) test new-version: git pull --rebase diff --git a/packages/babel-core/test/config-chain.js b/packages/babel-core/test/config-chain.js index 08e69aee3ee3..aef0ba90cb3c 100644 --- a/packages/babel-core/test/config-chain.js +++ b/packages/babel-core/test/config-chain.js @@ -1044,6 +1044,10 @@ describe("buildConfigChain", function() { ); const filename = tmp("src.js"); + // We can't transpile import() while publishing, and it isn't supported + // by jest. + if (process.env.IS_PUBLISH && name === "babel.config.mjs") return; + await config(name); expect(await loadOptionsAsync({ filename, cwd })).toEqual({ @@ -1067,6 +1071,15 @@ describe("buildConfigChain", function() { `babel-test-dup-config-${name1}-${name2}`, ); + // We can't transpile import() while publishing, and it isn't supported + // by jest. + if ( + process.env.IS_PUBLISH && + (name1 === "babel.config.mjs" || name2 === "babel.config.mjs") + ) { + return; + } + await Promise.all([config(name1), config(name2)]); await expect( @@ -1124,6 +1137,10 @@ describe("buildConfigChain", function() { ); const filename = tmp("src.js"); + // We can't transpile import() while publishing, and it isn't supported + // by jest. + if (process.env.IS_PUBLISH && name === ".babelrc.mjs") return; + await config(name); expect(await loadOptionsAsync({ filename, cwd })).toEqual({ @@ -1157,6 +1174,15 @@ describe("buildConfigChain", function() { `babel-test-dup-config-${name1}-${name2}`, ); + // We can't transpile import() while publishing, and it isn't supported + // by jest. + if ( + process.env.IS_PUBLISH && + (name1 === ".babelrc.mjs" || name2 === ".babelrc.mjs") + ) { + return; + } + await Promise.all([config(name1), config(name2)]); await expect( @@ -1187,6 +1213,10 @@ describe("buildConfigChain", function() { `("should show helpful errors for $config", async ({ dir, error }) => { const filename = fixture("config-files", dir, "src.js"); + // We can't transpile import() while publishing, and it isn't supported + // by jest. + if (process.env.IS_PUBLISH && dir === "babelrc-mjs-error") return; + await expect( loadOptionsAsync({ filename, cwd: path.dirname(filename) }), ).rejects.toThrow(error);