Add numeric separator to shippedProposals (#10971)

* add plugins

* add plugin description

* run build-data

* set shipped proposals true

* update test fixtures

* corejs.proposals should not imply shipped proposals

* fix eslint errors
Please enter the commit message for your changes. Lines starting

* create new object in packages/babel-compat-data/scripts/data/plugin-features.js
This commit is contained in:
Ye Wei 2020-03-17 06:09:33 +08:00 committed by GitHub
parent 5c1a8210da
commit e06bf8ffdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 53 additions and 7 deletions

View File

@ -328,6 +328,14 @@
"opera": "37",
"electron": "1.1"
},
"proposal-numeric-separator": {
"chrome": "75",
"firefox": "70",
"safari": "13",
"node": "12.5",
"ios": "13",
"opera": "62"
},
"transform-member-expression-literals": {
"chrome": "7",
"opera": "12",

View File

@ -116,9 +116,14 @@ const es2020 = {
"proposal-optional-chaining": "optional chaining operator (?.)",
};
const shippedProposal = {
"proposal-numeric-separator": "numeric separator",
};
// Run plugins for modern features first
module.exports = Object.assign(
{},
shippedProposal,
es2020,
es2019,
es2018,

View File

@ -2,13 +2,16 @@
// These mappings represent the syntax proposals that have been
// shipped by browsers, and are enabled by the `shippedProposals` option.
const proposalPlugins = {};
const proposalPlugins = {
"proposal-numeric-separator": true
};
// use intermediary object to enforce alphabetical key order
const pluginSyntaxObject = {
"proposal-async-generator-functions": "syntax-async-generators",
"proposal-json-strings": "syntax-json-strings",
"proposal-nullish-coalescing-operator": "syntax-nullish-coalescing-operator",
"proposal-numeric-separator": "syntax-numeric-separator",
"proposal-object-rest-spread": "syntax-object-rest-spread",
"proposal-optional-catch-binding": "syntax-optional-catch-binding",
"proposal-optional-chaining": "syntax-optional-chaining",

View File

@ -19,6 +19,7 @@
"@babel/plugin-proposal-dynamic-import": "^7.8.3",
"@babel/plugin-proposal-json-strings": "^7.8.3",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
"@babel/plugin-proposal-numeric-separator": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.8.3",
"@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
"@babel/plugin-proposal-optional-chaining": "^7.8.3",
@ -27,6 +28,7 @@
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
"@babel/plugin-syntax-json-strings": "^7.8.0",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
"@babel/plugin-syntax-numeric-separator": "^7.8.0",
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.0",

View File

@ -5,6 +5,7 @@ import syntaxAsyncGenerators from "@babel/plugin-syntax-async-generators";
import syntaxDynamicImport from "@babel/plugin-syntax-dynamic-import";
import syntaxJsonStrings from "@babel/plugin-syntax-json-strings";
import syntaxNullishCoalescingOperator from "@babel/plugin-syntax-nullish-coalescing-operator";
import syntaxNumericSeparator from "@babel/plugin-syntax-numeric-separator";
import syntaxObjectRestSpread from "@babel/plugin-syntax-object-rest-spread";
import syntaxOptionalCatchBinding from "@babel/plugin-syntax-optional-catch-binding";
import syntaxOptionalChaining from "@babel/plugin-syntax-optional-chaining";
@ -13,6 +14,7 @@ import proposalAsyncGeneratorFunctions from "@babel/plugin-proposal-async-genera
import proposalDynamicImport from "@babel/plugin-proposal-dynamic-import";
import proposalJsonStrings from "@babel/plugin-proposal-json-strings";
import proposalNullishCoalescingOperator from "@babel/plugin-proposal-nullish-coalescing-operator";
import proposalNumericSeparator from "@babel/plugin-proposal-numeric-separator";
import proposalObjectRestSpread from "@babel/plugin-proposal-object-rest-spread";
import proposalOptionalCatchBinding from "@babel/plugin-proposal-optional-catch-binding";
import proposalOptionalChaining from "@babel/plugin-proposal-optional-chaining";
@ -54,6 +56,7 @@ export default {
"proposal-dynamic-import": proposalDynamicImport,
"proposal-json-strings": proposalJsonStrings,
"proposal-nullish-coalescing-operator": proposalNullishCoalescingOperator,
"proposal-numeric-separator": proposalNumericSeparator,
"proposal-object-rest-spread": proposalObjectRestSpread,
"proposal-optional-catch-binding": proposalOptionalCatchBinding,
"proposal-optional-chaining": proposalOptionalChaining,
@ -62,6 +65,7 @@ export default {
"syntax-dynamic-import": syntaxDynamicImport,
"syntax-json-strings": syntaxJsonStrings,
"syntax-nullish-coalescing-operator": syntaxNullishCoalescingOperator,
"syntax-numeric-separator": syntaxNumericSeparator,
"syntax-object-rest-spread": syntaxObjectRestSpread,
"syntax-optional-catch-binding": syntaxOptionalCatchBinding,
"syntax-optional-chaining": syntaxOptionalChaining,

View File

@ -267,12 +267,11 @@ export default function normalizeOptions(opts: Options) {
checkDuplicateIncludeExcludes(include, exclude);
const shippedProposals =
validateBoolOption(
TopLevelOptions.shippedProposals,
opts.shippedProposals,
false,
) || corejs.proposals;
const shippedProposals = validateBoolOption(
TopLevelOptions.shippedProposals,
opts.shippedProposals,
false,
);
return {
configPath: validateConfigPathOption(opts.configPath),

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -16,6 +16,7 @@ Using plugins:
syntax-object-rest-spread { "samsung":"8.2" }
proposal-unicode-property-regex { "samsung":"8.2" }
transform-named-capturing-groups-regex { "samsung":"8.2" }
proposal-numeric-separator { "samsung":"8.2" }
transform-modules-commonjs { "samsung":"8.2" }
proposal-dynamic-import { "samsung":"8.2" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -14,6 +14,7 @@ Using plugins:
syntax-optional-catch-binding { "chrome":"71" }
syntax-async-generators { "chrome":"71" }
syntax-object-rest-spread { "chrome":"71" }
proposal-numeric-separator { "chrome":"71" }
transform-modules-commonjs { "chrome":"71" }
proposal-dynamic-import { "chrome":"71" }

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -37,6 +37,7 @@ Using plugins:
transform-typeof-symbol {}
transform-new-target {}
transform-regenerator {}
proposal-numeric-separator {}
transform-member-expression-literals {}
transform-property-literals {}
transform-reserved-words {}

View File

@ -40,6 +40,7 @@ Using plugins:
transform-typeof-symbol { "ie":"11" }
transform-new-target { "ie":"11" }
transform-regenerator { "firefox":"50", "ie":"11" }
proposal-numeric-separator { "chrome":"52", "firefox":"50", "ie":"11" }
transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" }

View File

@ -40,6 +40,7 @@ Using plugins:
transform-typeof-symbol { "ie":"11" }
transform-new-target { "ie":"11" }
transform-regenerator { "firefox":"50", "ie":"11" }
proposal-numeric-separator { "chrome":"52", "firefox":"50", "ie":"11" }
transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" }

View File

@ -40,6 +40,7 @@ Using plugins:
transform-typeof-symbol { "ie":"11" }
transform-new-target { "ie":"11" }
transform-regenerator { "firefox":"50", "ie":"11" }
proposal-numeric-separator { "chrome":"52", "firefox":"50", "ie":"11" }
transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" }

View File

@ -40,6 +40,7 @@ Using plugins:
transform-typeof-symbol { "ie":"11" }
transform-new-target { "ie":"11" }
transform-regenerator { "firefox":"50", "ie":"11" }
proposal-numeric-separator { "chrome":"52", "firefox":"50", "ie":"11" }
transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" }
proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" }