diff --git a/packages/babel-compat-data/corejs3-shipped-proposals.js b/packages/babel-compat-data/corejs3-shipped-proposals.js new file mode 100644 index 000000000000..b6abc7d26767 --- /dev/null +++ b/packages/babel-compat-data/corejs3-shipped-proposals.js @@ -0,0 +1,4 @@ +// Node < 13.3 doesn't support export maps in package.json. +// Use this proxy file as a fallback. + +module.exports = require("./data/corejs3-shipped-proposals.json"); diff --git a/packages/babel-preset-env/data/corejs3-shipped-proposals.json b/packages/babel-compat-data/data/corejs3-shipped-proposals.json similarity index 100% rename from packages/babel-preset-env/data/corejs3-shipped-proposals.json rename to packages/babel-compat-data/data/corejs3-shipped-proposals.json diff --git a/packages/babel-compat-data/package.json b/packages/babel-compat-data/package.json index 824d84bca145..ce459a813f5e 100644 --- a/packages/babel-compat-data/package.json +++ b/packages/babel-compat-data/package.json @@ -12,10 +12,11 @@ "./plugins": "./data/plugins.json", "./native-modules": "./data/native-modules.json", "./corejs2-built-ins": "./data/corejs2-built-ins.json", + "./corejs3-shipped-proposals": "./data/corejs3-shipped-proposals", "./overlapping-plugins": "./data/overlapping-plugins.json" }, "scripts": { - "build-data": "./scripts/download-compat-table.sh; node ./scripts/build-data.js; node ./scripts/build-modules-support.js; node ./scripts/build-overlapping-plugins.js" + "build-data": "./scripts/download-compat-table.sh; node ./scripts/build-data.js; node ./scripts/build-modules-support.js; node ./scripts/build-overlapping-plugins.js; node ./scripts/build-corejs3-proposals.js" }, "keywords": [ "babel", diff --git a/packages/babel-preset-env/scripts/build-corejs3-proposals.js b/packages/babel-compat-data/scripts/build-corejs3-proposals.js similarity index 75% rename from packages/babel-preset-env/scripts/build-corejs3-proposals.js rename to packages/babel-compat-data/scripts/build-corejs3-proposals.js index b7a9179dd091..80cecb1b36a6 100644 --- a/packages/babel-preset-env/scripts/build-corejs3-proposals.js +++ b/packages/babel-compat-data/scripts/build-corejs3-proposals.js @@ -17,16 +17,18 @@ const finishedProposals = shippedProposals.filter(feature => { return features.includes(feature.replace("esnext.", "es.")); }); -const builtInDefinitions = fs.readFileSync( - path.join(__dirname, "../src/polyfills/corejs3/built-in-definitions.js"), - "utf-8" +const builtInDefinitionsPath = path.join( + __dirname, + "../../babel-preset-env/src/polyfills/corejs3/built-in-definitions.js" ); +const builtInDefinitions = fs.readFileSync(builtInDefinitionsPath, "utf-8"); + for (const feature of finishedProposals) { const standarizedName = feature.replace("esnext.", "es."); if (!builtInDefinitions.includes(standarizedName)) { console.log( - `${feature} is now standarized as ${standarizedName}, please add "${standarizedName}" to src/polyfills/corejs3/built-in-definitions` + `${feature} is now standarized as ${standarizedName}, please add "${standarizedName}" to "${builtInDefinitionsPath}"` ); } } diff --git a/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js b/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js index b635941aac33..2b54fa7d2835 100644 --- a/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js +++ b/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js @@ -1,7 +1,7 @@ // @flow import corejs3Polyfills from "core-js-compat/data"; -import corejs3ShippedProposalsList from "../../../data/corejs3-shipped-proposals.json"; +import corejs3ShippedProposalsList from "@babel/compat-data/corejs3-shipped-proposals"; import getModulesListForTargetVersion from "core-js-compat/get-modules-list-for-target-version"; import { filterItems } from "@babel/helper-compilation-targets"; import {