From d75652eb5ef541fbf5b9def085d3ee878930b16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 15 Jan 2020 23:38:18 +0100 Subject: [PATCH] Exclude `import()` tests from pubilsh build (#10995) 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);