diff --git a/.eslintignore b/.eslintignore index 4f63374256..a94d6e6b5a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -17,7 +17,7 @@ codemods/*/lib codemods/*/dist codemods/*/test/fixtures codemods/*/test/tmp -packages/babel-preset-env/data +packages/babel-preset-env/data/[^(plugin-features|shipped-proposals).js] packages/babel-preset-env/test/debug-fixtures packages/babel-preset-env-standalone/babel-preset-env.js packages/babel-preset-env-standalone/babel-preset-env.min.js diff --git a/packages/babel-compat-data/data/built-in-modules.json b/packages/babel-compat-data/data/built-in-modules.json index 7e33f27eb2..5bada5f51b 100644 --- a/packages/babel-compat-data/data/built-in-modules.json +++ b/packages/babel-compat-data/data/built-in-modules.json @@ -6,7 +6,7 @@ "safari": "10.1", "opera": "48", "ios_saf": "10.3", - "and_chr": "74", - "and_ff": "66" + "and_chr": "71", + "and_ff": "64" } } diff --git a/packages/babel-compat-data/data/native-modules.json b/packages/babel-compat-data/data/native-modules.json index 5bada5f51b..7e33f27eb2 100644 --- a/packages/babel-compat-data/data/native-modules.json +++ b/packages/babel-compat-data/data/native-modules.json @@ -6,7 +6,7 @@ "safari": "10.1", "opera": "48", "ios_saf": "10.3", - "and_chr": "71", - "and_ff": "64" + "and_chr": "74", + "and_ff": "66" } } diff --git a/packages/babel-compat-data/data/plugins.json b/packages/babel-compat-data/data/plugins.json index f4a5771b01..cc4902eaa9 100644 --- a/packages/babel-compat-data/data/plugins.json +++ b/packages/babel-compat-data/data/plugins.json @@ -299,6 +299,10 @@ "opera": "53", "electron": "3.1" }, + "proposal-optional-chaining": { + "chrome": "80", + "opera": "67" + }, "transform-named-capturing-groups-regex": { "chrome": "64", "safari": "11.1", @@ -349,5 +353,10 @@ "phantom": "2", "samsung": "2.1", "electron": "0.2" + }, + "proposal-nullish-coalescing-operator": { + "chrome": "80", + "firefox": "72", + "opera": "67" } } diff --git a/packages/babel-compat-data/scripts/data/plugin-features.js b/packages/babel-compat-data/scripts/data/plugin-features.js index df9a0f174d..e0f20c7d1a 100644 --- a/packages/babel-compat-data/scripts/data/plugin-features.js +++ b/packages/babel-compat-data/scripts/data/plugin-features.js @@ -1,42 +1,36 @@ +/* eslint sort-keys: "error" */ + module.exports = { - "transform-template-literals": { - features: ["template literals"], - }, - "transform-literals": { - features: ["Unicode code point escapes"], - }, - "transform-function-name": { - features: ['function "name" property'], - }, + "proposal-async-generator-functions": "Asynchronous Iterators", + "proposal-json-strings": "JSON superset", + "proposal-nullish-coalescing-operator": "nullish coalescing operator (??)", + "proposal-object-rest-spread": "object rest/spread properties", + "proposal-optional-catch-binding": "optional catch binding", + "proposal-optional-chaining": "optional chaining operator (?.)", + "proposal-unicode-property-regex": "RegExp Unicode Property Escapes", + "transform-arrow-functions": { features: ["arrow functions"], }, + + "transform-async-to-generator": { + features: ["async functions"], + }, + "transform-block-scoped-functions": { features: ["block-level function declaration"], }, + "transform-block-scoping": { + features: ["const", "let"], + }, "transform-classes": { features: ["class", "super"], }, - "transform-object-super": { - features: ["super"], - }, - "transform-shorthand-properties": { - features: ["object literal extensions / shorthand properties"], - }, - "transform-duplicate-keys": { - features: ["miscellaneous / duplicate property names in strict mode"], - }, "transform-computed-properties": { features: ["object literal extensions / computed properties"], }, - "transform-for-of": { - features: ["for..of loops"], - }, - "transform-sticky-regex": { - features: [ - 'RegExp "y" and "u" flags / "y" flag, lastIndex', - 'RegExp "y" and "u" flags / "y" flag', - ], + "transform-destructuring": { + features: ["destructuring, assignment", "destructuring, declarations"], }, // We want to apply this prior to unicode regex so that "." and "u" @@ -45,17 +39,29 @@ module.exports = { // Ref: https://github.com/babel/babel/pull/7065#issuecomment-395959112 "transform-dotall-regex": "s (dotAll) flag for regular expressions", - "transform-unicode-regex": { - features: [ - 'RegExp "y" and "u" flags / "u" flag, case folding', - 'RegExp "y" and "u" flags / "u" flag, Unicode code point escapes', - 'RegExp "y" and "u" flags / "u" flag, non-BMP Unicode characters', - 'RegExp "y" and "u" flags / "u" flag', - ], + "transform-duplicate-keys": { + features: ["miscellaneous / duplicate property names in strict mode"], }, - - "transform-spread": { - features: "spread syntax for iterable objects", + "transform-exponentiation-operator": { + features: ["exponentiation (**) operator"], + }, + "transform-for-of": { + features: ["for..of loops"], + }, + "transform-function-name": { + features: ['function "name" property'], + }, + "transform-literals": { + features: ["Unicode code point escapes"], + }, + "transform-member-expression-literals": + "Object/array literal extensions / Reserved words as property names", + "transform-named-capturing-groups-regex": "RegExp named capture groups", + "transform-new-target": { + features: ["new.target"], + }, + "transform-object-super": { + features: ["super"], }, "transform-parameters": { features: [ @@ -64,40 +70,36 @@ module.exports = { "destructuring, parameters / defaults, arrow function", ], }, - "transform-destructuring": { - features: ["destructuring, assignment", "destructuring, declarations"], + "transform-property-literals": + "Object/array literal extensions / Reserved words as property names", + "transform-regenerator": { + features: ["generators"], }, - "transform-block-scoping": { - features: ["const", "let"], + "transform-reserved-words": "Miscellaneous / Unreserved words", + "transform-shorthand-properties": { + features: ["object literal extensions / shorthand properties"], + }, + "transform-spread": { + features: "spread syntax for iterable objects", + }, + "transform-sticky-regex": { + features: [ + 'RegExp "y" and "u" flags / "y" flag, lastIndex', + 'RegExp "y" and "u" flags / "y" flag', + ], + }, + "transform-template-literals": { + features: ["template literals"], }, "transform-typeof-symbol": { features: ["Symbol / typeof support"], }, - "transform-new-target": { - features: ["new.target"], + "transform-unicode-regex": { + features: [ + 'RegExp "y" and "u" flags / "u" flag, case folding', + 'RegExp "y" and "u" flags / "u" flag, Unicode code point escapes', + 'RegExp "y" and "u" flags / "u" flag, non-BMP Unicode characters', + 'RegExp "y" and "u" flags / "u" flag', + ], }, - "transform-regenerator": { - features: ["generators"], - }, - - "transform-exponentiation-operator": { - features: ["exponentiation (**) operator"], - }, - - "transform-async-to-generator": { - features: ["async functions"], - }, - - "proposal-async-generator-functions": "Asynchronous Iterators", - "proposal-object-rest-spread": "object rest/spread properties", - "proposal-unicode-property-regex": "RegExp Unicode Property Escapes", - - "proposal-json-strings": "JSON superset", - "proposal-optional-catch-binding": "optional catch binding", - "transform-named-capturing-groups-regex": "RegExp named capture groups", - "transform-member-expression-literals": - "Object/array literal extensions / Reserved words as property names", - "transform-property-literals": - "Object/array literal extensions / Reserved words as property names", - "transform-reserved-words": "Miscellaneous / Unreserved words", }; diff --git a/packages/babel-preset-env-standalone/package.json b/packages/babel-preset-env-standalone/package.json index 0fb979b081..264a2f579b 100644 --- a/packages/babel-preset-env-standalone/package.json +++ b/packages/babel-preset-env-standalone/package.json @@ -13,7 +13,11 @@ "devDependencies": { "@babel/plugin-proposal-dynamic-import": "^7.7.4", "@babel/plugin-proposal-json-strings": "^7.7.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4", + "@babel/plugin-proposal-optional-chaining": "^7.7.4", "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.7.4", + "@babel/plugin-syntax-optional-chaining": "^7.7.4", "@babel/plugin-syntax-top-level-await": "^7.7.4", "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", "@babel/plugin-transform-new-target": "^7.7.4", diff --git a/packages/babel-preset-env-standalone/src/available-plugins.js b/packages/babel-preset-env-standalone/src/available-plugins.js index 4262018f7c..bb66ed7777 100644 --- a/packages/babel-preset-env-standalone/src/available-plugins.js +++ b/packages/babel-preset-env-standalone/src/available-plugins.js @@ -1,7 +1,13 @@ +/* eslint sort-keys: "error" */ + import { availablePlugins, registerPlugin } from "@babel/standalone"; import proposalJsonStrings from "@babel/plugin-proposal-json-strings"; import proposalDynamicImport from "@babel/plugin-proposal-dynamic-import"; +import proposalNullishCoalescingOperator from "@babel/plugin-proposal-nullish-coalescing-operator"; +import proposalOptionalChaining from "@babel/plugin-proposal-optional-chaining"; import syntaxJsonStrings from "@babel/plugin-syntax-json-strings"; +import syntaxNullishCoalescingOperator from "@babel/plugin-syntax-nullish-coalescing-operator"; +import syntaxOptionalChaining from "@babel/plugin-syntax-nullish-coalescing-operator"; import syntaxTopLevelAwait from "@babel/plugin-syntax-top-level-await"; import transformNamedCapturingGroupsRegex from "@babel/plugin-transform-named-capturing-groups-regex"; import transformNewTarget from "@babel/plugin-transform-new-target"; @@ -9,7 +15,11 @@ import transformNewTarget from "@babel/plugin-transform-new-target"; const notIncludedPlugins = { "proposal-dynamic-import": proposalDynamicImport, "proposal-json-strings": proposalJsonStrings, + "proposal-nullish-coalescing-operator": proposalNullishCoalescingOperator, + "proposal-optional-chaining": proposalOptionalChaining, "syntax-json-strings": syntaxJsonStrings, + "syntax-nullish-coalescing-operator": syntaxNullishCoalescingOperator, + "syntax-optional-chaining": syntaxOptionalChaining, "syntax-top-level-await": syntaxTopLevelAwait, "transform-named-capturing-groups-regex": transformNamedCapturingGroupsRegex, "transform-new-target": transformNewTarget, diff --git a/packages/babel-preset-env/data/shipped-proposals.js b/packages/babel-preset-env/data/shipped-proposals.js index 90864b6c94..c2dff4cb96 100644 --- a/packages/babel-preset-env/data/shipped-proposals.js +++ b/packages/babel-preset-env/data/shipped-proposals.js @@ -1,14 +1,24 @@ +/* eslint sort-keys: "error" */ // These mappings represent the syntax proposals that have been // shipped by browsers, and are enabled by the `shippedProposals` option. const proposalPlugins = {}; -const pluginSyntaxMap = new Map([ - ["proposal-async-generator-functions", "syntax-async-generators"], - ["proposal-object-rest-spread", "syntax-object-rest-spread"], - ["proposal-optional-catch-binding", "syntax-optional-catch-binding"], - ["proposal-unicode-property-regex", null], - ["proposal-json-strings", "syntax-json-strings"], -]); +// 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-object-rest-spread": "syntax-object-rest-spread", + "proposal-optional-catch-binding": "syntax-optional-catch-binding", + "proposal-optional-chaining": "syntax-optional-chaining", + "proposal-unicode-property-regex": null, +}; -module.exports = { proposalPlugins, pluginSyntaxMap }; +const pluginSyntaxEntries = Object.keys(pluginSyntaxObject).map(function (key) { + return [key, pluginSyntaxObject[key]]; +}); + +const pluginSyntaxMap = new Map(pluginSyntaxEntries); + +module.exports = { pluginSyntaxMap, proposalPlugins }; diff --git a/packages/babel-preset-env/package.json b/packages/babel-preset-env/package.json index a438ccc320..5cc8426ebc 100644 --- a/packages/babel-preset-env/package.json +++ b/packages/babel-preset-env/package.json @@ -20,13 +20,17 @@ "@babel/plugin-proposal-dynamic-import": "^7.7.4", "@babel/plugin-proposal-json-strings": "^7.7.4", "@babel/plugin-proposal-object-rest-spread": "^7.7.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.7.4", "@babel/plugin-proposal-optional-catch-binding": "^7.7.4", + "@babel/plugin-proposal-optional-chaining": "^7.7.5", "@babel/plugin-proposal-unicode-property-regex": "^7.7.7", "@babel/plugin-syntax-async-generators": "^7.7.4", "@babel/plugin-syntax-dynamic-import": "^7.7.4", "@babel/plugin-syntax-json-strings": "^7.7.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.7.4", "@babel/plugin-syntax-object-rest-spread": "^7.7.4", "@babel/plugin-syntax-optional-catch-binding": "^7.7.4", + "@babel/plugin-syntax-optional-chaining": "^7.7.4", "@babel/plugin-syntax-top-level-await": "^7.7.4", "@babel/plugin-transform-arrow-functions": "^7.7.4", "@babel/plugin-transform-async-to-generator": "^7.7.4", diff --git a/packages/babel-preset-env/src/available-plugins.js b/packages/babel-preset-env/src/available-plugins.js index ad66e3275b..d9a2a3da96 100644 --- a/packages/babel-preset-env/src/available-plugins.js +++ b/packages/babel-preset-env/src/available-plugins.js @@ -1,15 +1,21 @@ // @flow +/* eslint sort-keys: "error" */ + 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 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"; import syntaxTopLevelAwait from "@babel/plugin-syntax-top-level-await"; import proposalAsyncGeneratorFunctions from "@babel/plugin-proposal-async-generator-functions"; 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 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"; import proposalUnicodePropertyRegex from "@babel/plugin-proposal-unicode-property-regex"; import transformAsyncToGenerator from "@babel/plugin-transform-async-to-generator"; import transformArrowFunctions from "@babel/plugin-transform-arrow-functions"; @@ -44,17 +50,24 @@ import transformTypeofSymbol from "@babel/plugin-transform-typeof-symbol"; import transformUnicodeRegex from "@babel/plugin-transform-unicode-regex"; export default { - "syntax-async-generators": syntaxAsyncGenerators, - "syntax-dynamic-import": syntaxDynamicImport, - "syntax-json-strings": syntaxJsonStrings, - "syntax-object-rest-spread": syntaxObjectRestSpread, - "syntax-optional-catch-binding": syntaxOptionalCatchBinding, - "syntax-top-level-await": syntaxTopLevelAwait, - "transform-async-to-generator": transformAsyncToGenerator, "proposal-async-generator-functions": proposalAsyncGeneratorFunctions, "proposal-dynamic-import": proposalDynamicImport, "proposal-json-strings": proposalJsonStrings, + "proposal-nullish-coalescing-operator": proposalNullishCoalescingOperator, + "proposal-object-rest-spread": proposalObjectRestSpread, + "proposal-optional-catch-binding": proposalOptionalCatchBinding, + "proposal-optional-chaining": proposalOptionalChaining, + "proposal-unicode-property-regex": proposalUnicodePropertyRegex, + "syntax-async-generators": syntaxAsyncGenerators, + "syntax-dynamic-import": syntaxDynamicImport, + "syntax-json-strings": syntaxJsonStrings, + "syntax-nullish-coalescing-operator": syntaxNullishCoalescingOperator, + "syntax-object-rest-spread": syntaxObjectRestSpread, + "syntax-optional-catch-binding": syntaxOptionalCatchBinding, + "syntax-optional-chaining": syntaxOptionalChaining, + "syntax-top-level-await": syntaxTopLevelAwait, "transform-arrow-functions": transformArrowFunctions, + "transform-async-to-generator": transformAsyncToGenerator, "transform-block-scoped-functions": transformBlockScopedFunctions, "transform-block-scoping": transformBlockScoping, "transform-classes": transformClasses, @@ -62,6 +75,7 @@ export default { "transform-destructuring": transformDestructuring, "transform-dotall-regex": transformDotallRegex, "transform-duplicate-keys": transformDuplicateKeys, + "transform-exponentiation-operator": transformExponentialOperator, "transform-for-of": transformForOf, "transform-function-name": transformFunctionName, "transform-literals": transformLiterals, @@ -71,9 +85,11 @@ export default { "transform-modules-systemjs": transformModulesSystemjs, "transform-modules-umd": transformModulesUmd, "transform-named-capturing-groups-regex": transformNamedCapturingGroupsRegex, + "transform-new-target": transformNewTarget, "transform-object-super": transformObjectSuper, "transform-parameters": transformParameters, "transform-property-literals": transformPropertyLiterals, + "transform-regenerator": transformRegenerator, "transform-reserved-words": transformReservedWords, "transform-shorthand-properties": transformShorthandProperties, "transform-spread": transformSpread, @@ -81,10 +97,4 @@ export default { "transform-template-literals": transformTemplateLiterals, "transform-typeof-symbol": transformTypeofSymbol, "transform-unicode-regex": transformUnicodeRegex, - "transform-exponentiation-operator": transformExponentialOperator, - "transform-new-target": transformNewTarget, - "proposal-object-rest-spread": proposalObjectRestSpread, - "proposal-optional-catch-binding": proposalOptionalCatchBinding, - "transform-regenerator": transformRegenerator, - "proposal-unicode-property-regex": proposalUnicodePropertyRegex, }; diff --git a/packages/babel-preset-env/test/fixtures/corejs2/usage-browserslist-config-ignore/stdout.txt b/packages/babel-preset-env/test/fixtures/corejs2/usage-browserslist-config-ignore/stdout.txt index 3489d7294e..1177233c18 100644 --- a/packages/babel-preset-env/test/fixtures/corejs2/usage-browserslist-config-ignore/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/corejs2/usage-browserslist-config-ignore/stdout.txt @@ -25,7 +25,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } proposal-json-strings { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } proposal-optional-catch-binding { "chrome":"61", "edge":"16", "ios":"10.3", "opera":"48", "safari":"10.1" } + proposal-optional-chaining { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } transform-named-capturing-groups-regex { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } + proposal-nullish-coalescing-operator { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } syntax-dynamic-import { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } Using polyfills with `usage` option: diff --git a/packages/babel-preset-env/test/fixtures/corejs3/usage-browserslist-config-ignore/stdout.txt b/packages/babel-preset-env/test/fixtures/corejs3/usage-browserslist-config-ignore/stdout.txt index 5b3c33fd0b..1988ed515d 100644 --- a/packages/babel-preset-env/test/fixtures/corejs3/usage-browserslist-config-ignore/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/corejs3/usage-browserslist-config-ignore/stdout.txt @@ -25,7 +25,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } proposal-json-strings { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } proposal-optional-catch-binding { "chrome":"61", "edge":"16", "ios":"10.3", "opera":"48", "safari":"10.1" } + proposal-optional-chaining { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } transform-named-capturing-groups-regex { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } + proposal-nullish-coalescing-operator { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } syntax-dynamic-import { "chrome":"61", "edge":"16", "firefox":"60", "ios":"10.3", "opera":"48", "safari":"10.1" } Using polyfills with `usage` option: diff --git a/packages/babel-preset-env/test/fixtures/debug/browserslists-android-3/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/browserslists-android-3/stdout.txt index b193c75bf4..d079d9b7f0 100644 --- a/packages/babel-preset-env/test/fixtures/debug/browserslists-android-3/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/browserslists-android-3/stdout.txt @@ -36,10 +36,12 @@ Using plugins: proposal-unicode-property-regex { "android":"3" } proposal-json-strings { "android":"3" } proposal-optional-catch-binding { "android":"3" } + proposal-optional-chaining { "android":"3" } transform-named-capturing-groups-regex { "android":"3" } transform-member-expression-literals { "android":"3" } transform-property-literals { "android":"3" } transform-reserved-words { "android":"3" } + proposal-nullish-coalescing-operator { "android":"3" } transform-modules-commonjs { "android":"3" } proposal-dynamic-import { "android":"3" } diff --git a/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie/stdout.txt index 369d15c80b..fa83ff03bb 100644 --- a/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie/stdout.txt @@ -43,7 +43,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"49", "edge":"17", "firefox":"68", "safari":"5.1" } proposal-json-strings { "chrome":"49", "edge":"17", "safari":"5.1" } proposal-optional-catch-binding { "chrome":"49", "edge":"17", "safari":"5.1" } + proposal-optional-chaining { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } transform-named-capturing-groups-regex { "chrome":"49", "edge":"17", "firefox":"68", "safari":"5.1" } + proposal-nullish-coalescing-operator { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } transform-modules-commonjs { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } proposal-dynamic-import { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } diff --git a/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults/stdout.txt index 910826ae85..fd2bde77e6 100644 --- a/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/browserslists-defaults/stdout.txt @@ -44,7 +44,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"49", "edge":"17", "firefox":"68", "ie":"11", "safari":"5.1" } proposal-json-strings { "chrome":"49", "edge":"17", "ie":"11", "safari":"5.1" } proposal-optional-catch-binding { "chrome":"49", "edge":"17", "ie":"11", "safari":"5.1" } + proposal-optional-chaining { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ie":"11", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } transform-named-capturing-groups-regex { "chrome":"49", "edge":"17", "firefox":"68", "ie":"11", "safari":"5.1" } + proposal-nullish-coalescing-operator { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ie":"11", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } transform-modules-commonjs { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ie":"11", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } proposal-dynamic-import { "android":"77", "chrome":"49", "edge":"17", "firefox":"68", "ie":"11", "ios":"12.2", "opera":"63", "safari":"5.1", "samsung":"9.2" } diff --git a/packages/babel-preset-env/test/fixtures/debug/browserslists-last-2-versions-not-ie/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/browserslists-last-2-versions-not-ie/stdout.txt index 589e0f6bc2..a643d3d2c9 100644 --- a/packages/babel-preset-env/test/fixtures/debug/browserslists-last-2-versions-not-ie/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/browserslists-last-2-versions-not-ie/stdout.txt @@ -24,7 +24,9 @@ Using plugins: proposal-unicode-property-regex { "edge":"17", "firefox":"70" } proposal-json-strings { "edge":"17" } proposal-optional-catch-binding { "edge":"17" } + proposal-optional-chaining { "android":"77", "chrome":"77", "edge":"17", "firefox":"70", "ios":"13", "opera":"63", "safari":"12.1", "samsung":"9.2" } transform-named-capturing-groups-regex { "edge":"17", "firefox":"70" } + proposal-nullish-coalescing-operator { "android":"77", "chrome":"77", "edge":"17", "firefox":"70", "ios":"13", "opera":"63", "safari":"12.1", "samsung":"9.2" } transform-modules-commonjs { "android":"77", "chrome":"77", "edge":"17", "firefox":"70", "ios":"13", "opera":"63", "safari":"12.1", "samsung":"9.2" } proposal-dynamic-import { "android":"77", "chrome":"77", "edge":"17", "firefox":"70", "ios":"13", "opera":"63", "safari":"12.1", "samsung":"9.2" } diff --git a/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt index dd2af17fc2..90cb09a761 100644 --- a/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt @@ -36,10 +36,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-android/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-android/stdout.txt index d4cb727787..5fed38cd6a 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-android/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-android/stdout.txt @@ -36,8 +36,10 @@ Using plugins: proposal-unicode-property-regex { "android":"4" } proposal-json-strings { "android":"4" } proposal-optional-catch-binding { "android":"4" } + proposal-optional-chaining { "android":"4" } transform-named-capturing-groups-regex { "android":"4" } transform-reserved-words { "android":"4" } + proposal-nullish-coalescing-operator { "android":"4" } transform-modules-commonjs { "android":"4" } proposal-dynamic-import { "android":"4" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt index c3c18fa3a0..b97398e635 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt @@ -31,9 +31,11 @@ Using plugins: proposal-unicode-property-regex { "electron":"0.36" } proposal-json-strings { "electron":"0.36" } proposal-optional-catch-binding { "electron":"0.36" } + proposal-optional-chaining { "electron":"0.36" } transform-named-capturing-groups-regex { "electron":"0.36" } transform-member-expression-literals { "electron":"0.36" } transform-property-literals { "electron":"0.36" } + proposal-nullish-coalescing-operator { "electron":"0.36" } transform-modules-commonjs { "electron":"0.36" } proposal-dynamic-import { "electron":"0.36" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-force-all-transforms/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-force-all-transforms/stdout.txt index 32637c1354..86eb78a011 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-force-all-transforms/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-force-all-transforms/stdout.txt @@ -36,10 +36,12 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + proposal-optional-chaining { "chrome":"55" } transform-named-capturing-groups-regex { "chrome":"55" } transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator { "chrome":"55" } syntax-dynamic-import { "chrome":"55" } Using polyfills with `entry` option: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-no-import/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-no-import/stdout.txt index fc924a413e..2df247258e 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-no-import/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-no-import/stdout.txt @@ -19,7 +19,9 @@ Using plugins: proposal-unicode-property-regex { "node":"6" } proposal-json-strings { "node":"6" } proposal-optional-catch-binding { "node":"6" } + proposal-optional-chaining { "node":"6" } transform-named-capturing-groups-regex { "node":"6" } + proposal-nullish-coalescing-operator { "node":"6" } transform-modules-commonjs { "node":"6" } proposal-dynamic-import { "node":"6" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals-chrome-71/stdout.txt index 632adbae01..cabc2e89b1 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals/stdout.txt index e5a186c321..a43849e003 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-proposals/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals-chrome-71/stdout.txt index 583e108fd4..1587cd42c1 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals/stdout.txt index cbffdcc578..ede20c21f5 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-shippedProposals/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-specific-targets/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-specific-targets/stdout.txt index 16202760ee..9c1a297d03 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-specific-targets/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-specific-targets/stdout.txt @@ -41,7 +41,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-json-strings { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-optional-catch-binding { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } + proposal-optional-chaining { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } transform-named-capturing-groups-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } + proposal-nullish-coalescing-operator { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } transform-modules-commonjs { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-dynamic-import { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt index 63ba5e06fc..e193138545 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt @@ -47,9 +47,11 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-json-strings { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-optional-catch-binding { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } + proposal-optional-chaining { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-named-capturing-groups-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-member-expression-literals { "electron":"0.36" } transform-property-literals { "electron":"0.36" } + proposal-nullish-coalescing-operator { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-modules-commonjs { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-dynamic-import { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-strings/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-strings/stdout.txt index ae6350c447..2d8d7d79f3 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-strings/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-strings/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6.10" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6.10" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6.10" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6.10" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6.10" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2/stdout.txt index 4b45c43d32..68c9b3ce7d 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all-chrome-71/stdout.txt index 6b47f470f6..1c4911d57f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all/stdout.txt index 0d0f575f70..3af17db4ff 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-all/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-android/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-android/stdout.txt index fb4267fdd7..f0bfb70974 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-android/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-android/stdout.txt @@ -36,8 +36,10 @@ Using plugins: proposal-unicode-property-regex { "android":"4" } proposal-json-strings { "android":"4" } proposal-optional-catch-binding { "android":"4" } + proposal-optional-chaining { "android":"4" } transform-named-capturing-groups-regex { "android":"4" } transform-reserved-words { "android":"4" } + proposal-nullish-coalescing-operator { "android":"4" } transform-modules-commonjs { "android":"4" } proposal-dynamic-import { "android":"4" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-babel-polyfill/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-babel-polyfill/stdout.txt index a900b4720a..1dd62898e8 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-babel-polyfill/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-babel-polyfill/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt index 0c8d68fdab..bbbb95df33 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt @@ -31,9 +31,11 @@ Using plugins: proposal-unicode-property-regex { "electron":"0.36" } proposal-json-strings { "electron":"0.36" } proposal-optional-catch-binding { "electron":"0.36" } + proposal-optional-chaining { "electron":"0.36" } transform-named-capturing-groups-regex { "electron":"0.36" } transform-member-expression-literals { "electron":"0.36" } transform-property-literals { "electron":"0.36" } + proposal-nullish-coalescing-operator { "electron":"0.36" } transform-modules-commonjs { "electron":"0.36" } proposal-dynamic-import { "electron":"0.36" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-chrome-71/stdout.txt index b3751d6de8..4b22e928d3 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals-chrome-71/stdout.txt index 179cbc24c0..ace678c1f9 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals/stdout.txt index 0774389331..c59a2c298f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es-proposals/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es/stdout.txt index f6c3da52ca..be247fafa3 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-es/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-force-all-transforms/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-force-all-transforms/stdout.txt index dbc3ba935e..182501549b 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-force-all-transforms/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-force-all-transforms/stdout.txt @@ -36,10 +36,12 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + proposal-optional-chaining { "chrome":"55" } transform-named-capturing-groups-regex { "chrome":"55" } transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator { "chrome":"55" } syntax-dynamic-import { "chrome":"55" } Using polyfills with `entry` option: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-no-import/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-no-import/stdout.txt index 7dd81bf8bd..efc3f53ab6 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-no-import/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-no-import/stdout.txt @@ -19,7 +19,9 @@ Using plugins: proposal-unicode-property-regex { "node":"6" } proposal-json-strings { "node":"6" } proposal-optional-catch-binding { "node":"6" } + proposal-optional-chaining { "node":"6" } transform-named-capturing-groups-regex { "node":"6" } + proposal-nullish-coalescing-operator { "node":"6" } transform-modules-commonjs { "node":"6" } proposal-dynamic-import { "node":"6" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals-chrome-71/stdout.txt index 3efcd119e0..742d4d311e 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals/stdout.txt index 2d70ebb4d6..fc866a9de0 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-proposals/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only-chrome-71/stdout.txt index b964de442c..c0caa6231b 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only/stdout.txt index e7986cb8ca..7df51ffb61 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-runtime-only/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries-chrome-71/stdout.txt index 9b068053e5..1264913107 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries/stdout.txt index 237cf943f7..71a8cab89d 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-entries/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-targets/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-targets/stdout.txt index 894bf780e6..9cbf285f8e 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-targets/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-specific-targets/stdout.txt @@ -41,7 +41,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-json-strings { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-optional-catch-binding { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } + proposal-optional-chaining { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } transform-named-capturing-groups-regex { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } + proposal-nullish-coalescing-operator { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } transform-modules-commonjs { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } proposal-dynamic-import { "chrome":"54", "edge":"13", "firefox":"49", "ie":"10", "ios":"9", "safari":"7" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-chrome-71/stdout.txt index e1ad31ad13..7a36f94d58 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-samsung-8.2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-samsung-8.2/stdout.txt index 7cff005434..33591eb052 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-samsung-8.2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable-samsung-8.2/stdout.txt @@ -13,7 +13,9 @@ Using plugins: proposal-unicode-property-regex { "samsung":"8.2" } proposal-json-strings { "samsung":"8.2" } proposal-optional-catch-binding { "samsung":"8.2" } + proposal-optional-chaining { "samsung":"8.2" } transform-named-capturing-groups-regex { "samsung":"8.2" } + proposal-nullish-coalescing-operator { "samsung":"8.2" } transform-modules-commonjs { "samsung":"8.2" } proposal-dynamic-import { "samsung":"8.2" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable/stdout.txt index 38e8356a34..4efa1c978e 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stable/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage-chrome-71/stdout.txt index b6011886e4..071a02b7b2 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage/stdout.txt index 5380e1c89a..07104b5a78 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-stage/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt index 1ac6b7eb52..f038b106a7 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt @@ -47,9 +47,11 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-json-strings { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-optional-catch-binding { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } + proposal-optional-chaining { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-named-capturing-groups-regex { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-member-expression-literals { "electron":"0.36" } transform-property-literals { "electron":"0.36" } + proposal-nullish-coalescing-operator { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } transform-modules-commonjs { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } proposal-dynamic-import { "chrome":"54", "electron":"0.36", "ie":"10", "node":"6.1" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.0/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.0/stdout.txt index 76ae451dfc..9a906cc80f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.0/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.0/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6.10" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6.10" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6.10" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6.10" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6.10" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.1/stdout.txt index b88e08d078..1aa4bce230 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings-minor-3.1/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6.10" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6.10" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6.10" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6.10" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6.10" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings/stdout.txt index c426ae2080..9a09c03b6d 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-strings/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6.10" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6.10" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6.10" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6.10" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6.10" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6.10" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6.10" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web-chrome-71/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web-chrome-71/stdout.txt index edbc01bf10..19dfd0af21 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web-chrome-71/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web-chrome-71/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web/stdout.txt index 9dea1a0f89..3948c4b7ac 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-web/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3/stdout.txt index 813558de2c..9706b3e769 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-no-import/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-no-import/stdout.txt index 55a1471d55..24105671f1 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-no-import/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-no-import/stdout.txt @@ -19,7 +19,9 @@ Using plugins: proposal-unicode-property-regex { "node":"6" } proposal-json-strings { "node":"6" } proposal-optional-catch-binding { "node":"6" } + proposal-optional-chaining { "node":"6" } transform-named-capturing-groups-regex { "node":"6" } + proposal-nullish-coalescing-operator { "node":"6" } transform-modules-commonjs { "node":"6" } proposal-dynamic-import { "node":"6" } diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-shippedProposals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-shippedProposals/stdout.txt index 6211610134..6c02b20b8c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-shippedProposals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-shippedProposals/stdout.txt @@ -34,10 +34,12 @@ Using plugins: proposal-unicode-property-regex {} proposal-json-strings {} proposal-optional-catch-binding {} + proposal-optional-chaining {} transform-named-capturing-groups-regex {} transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator {} transform-modules-commonjs {} proposal-dynamic-import {} diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt index c773b35d13..10ac0e1fb2 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt @@ -39,10 +39,12 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + proposal-optional-chaining { "chrome":"55" } transform-named-capturing-groups-regex { "chrome":"55" } transform-member-expression-literals {} transform-property-literals {} transform-reserved-words {} + proposal-nullish-coalescing-operator { "chrome":"55" } syntax-dynamic-import { "chrome":"55" } Using polyfills with `entry` option: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs/stdout.txt index b070fd82ae..1efd0e079c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs/stdout.txt @@ -38,7 +38,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"54", "ie":"10", "node":"6" } proposal-json-strings { "chrome":"54", "ie":"10", "node":"6" } proposal-optional-catch-binding { "chrome":"54", "ie":"10", "node":"6" } + proposal-optional-chaining { "chrome":"54", "ie":"10", "node":"6" } transform-named-capturing-groups-regex { "chrome":"54", "ie":"10", "node":"6" } + proposal-nullish-coalescing-operator { "chrome":"54", "ie":"10", "node":"6" } transform-modules-commonjs { "chrome":"54", "ie":"10", "node":"6" } proposal-dynamic-import { "chrome":"54", "ie":"10", "node":"6" } diff --git a/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt index 58781f6b2e..91fa70d3cc 100644 --- a/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt @@ -26,7 +26,9 @@ Using plugins: proposal-unicode-property-regex { "firefox":"52", "node":"7.4" } proposal-json-strings { "firefox":"52", "node":"7.4" } proposal-optional-catch-binding { "firefox":"52", "node":"7.4" } + proposal-optional-chaining { "firefox":"52", "node":"7.4" } transform-named-capturing-groups-regex { "firefox":"52", "node":"7.4" } + proposal-nullish-coalescing-operator { "firefox":"52", "node":"7.4" } transform-modules-commonjs { "firefox":"52", "node":"7.4" } proposal-dynamic-import { "firefox":"52", "node":"7.4" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-1/stdout.txt index 10a4166423..aa7dfa881f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-2/stdout.txt index c6bd456f09..499f51879c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-1/stdout.txt index 19256d92e7..0290b11fbc 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-1/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-2/stdout.txt index c03ef9bbea..8ab471d3fc 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-chrome-71-2/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-1/stdout.txt index 83701579d0..df82af414b 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-2/stdout.txt index d0cc380462..6b0a947867 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-none-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-1/stdout.txt index f7f567c4c4..31f05aa5a3 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-2/stdout.txt index 8f4c5e1df6..64914fe443 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-1/stdout.txt index aabc7e867e..5b846ecf92 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-1/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-2/stdout.txt index 9154f4f3ac..28e1952f4c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-proposals-chrome-71-2/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-1/stdout.txt index f456fc31c3..a937819d69 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-2/stdout.txt index 14c735dcba..8fdaecacb2 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-shippedProposals-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-with-import/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-with-import/stdout.txt index c5f336bc2d..81f3687e8d 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-with-import/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs2-with-import/stdout.txt @@ -14,7 +14,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + proposal-optional-chaining { "chrome":"55" } transform-named-capturing-groups-regex { "chrome":"55" } + proposal-nullish-coalescing-operator { "chrome":"55" } transform-modules-commonjs { "chrome":"55" } proposal-dynamic-import { "chrome":"55" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-1/stdout.txt index ce78b1615f..22d4c56a32 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-2/stdout.txt index 4545ec9dda..4cce46fe4c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-1/stdout.txt index 7e9cc063c4..2cbcabd835 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-1/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-2/stdout.txt index 9aaf623420..722599c9cb 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-chrome-71-2/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-1/stdout.txt index 5effbeed11..c75552f22e 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-2/stdout.txt index 9990841370..dc523ad918 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-none-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-1/stdout.txt index 4f5e93bc1d..15abd57b6a 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-2/stdout.txt index c7b2d3da53..d59dec1f9b 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-1/stdout.txt index 6000e5d705..ecb943009f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-1/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-2/stdout.txt index c12a9314e8..4a7b2514c4 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-proposals-chrome-71-2/stdout.txt @@ -12,6 +12,8 @@ Using plugins: syntax-object-rest-spread { "chrome":"71" } syntax-json-strings { "chrome":"71" } syntax-optional-catch-binding { "chrome":"71" } + proposal-optional-chaining { "chrome":"71" } + proposal-nullish-coalescing-operator { "chrome":"71" } transform-modules-commonjs { "chrome":"71" } proposal-dynamic-import { "chrome":"71" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-1/stdout.txt index 3186c00e24..e5b75a9a1c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-2/stdout.txt index ed270ec46b..eb19079473 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-shippedProposals-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-1/stdout.txt index 1fcbf70cef..0c7ee55a05 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-2/stdout.txt index 1b7bf00896..f27eb55333 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.0-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-1/stdout.txt index 7df78cdbe8..c5bdcb0087 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-2/stdout.txt index 2dba4464ff..911a191046 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-versions-strings-minor-3.1-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-with-import/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-with-import/stdout.txt index b6e9e3ab1f..45066fccbc 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-with-import/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-corejs3-with-import/stdout.txt @@ -14,7 +14,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"55" } proposal-json-strings { "chrome":"55" } proposal-optional-catch-binding { "chrome":"55" } + proposal-optional-chaining { "chrome":"55" } transform-named-capturing-groups-regex { "chrome":"55" } + proposal-nullish-coalescing-operator { "chrome":"55" } transform-modules-commonjs { "chrome":"55" } proposal-dynamic-import { "chrome":"55" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-1/stdout.txt index 211854dc7a..c26bff7708 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-2/stdout.txt index 90c9d87ef8..0f3308e0a9 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-1/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-1/stdout.txt index 6afbb5cd98..a6ab295bf6 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-1/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-1/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-2/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-2/stdout.txt index 5d3445c8f1..09bb267f45 100644 --- a/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-2/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/usage-no-corejs-none-2/stdout.txt @@ -37,7 +37,9 @@ Using plugins: proposal-unicode-property-regex { "chrome":"52", "firefox":"50", "ie":"11" } proposal-json-strings { "chrome":"52", "firefox":"50", "ie":"11" } proposal-optional-catch-binding { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-optional-chaining { "chrome":"52", "firefox":"50", "ie":"11" } transform-named-capturing-groups-regex { "chrome":"52", "firefox":"50", "ie":"11" } + proposal-nullish-coalescing-operator { "chrome":"52", "firefox":"50", "ie":"11" } transform-modules-commonjs { "chrome":"52", "firefox":"50", "ie":"11" } proposal-dynamic-import { "chrome":"52", "firefox":"50", "ie":"11" } diff --git a/packages/babel-preset-env/test/fixtures/preset-options/safari-10_3-block-scoped/stdout.txt b/packages/babel-preset-env/test/fixtures/preset-options/safari-10_3-block-scoped/stdout.txt index ba01385d27..3d7c5bed33 100644 --- a/packages/babel-preset-env/test/fixtures/preset-options/safari-10_3-block-scoped/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/preset-options/safari-10_3-block-scoped/stdout.txt @@ -19,7 +19,9 @@ Using plugins: proposal-unicode-property-regex { "safari":"10" } proposal-json-strings { "safari":"10" } proposal-optional-catch-binding { "safari":"10" } + proposal-optional-chaining { "safari":"10" } transform-named-capturing-groups-regex { "safari":"10" } + proposal-nullish-coalescing-operator { "safari":"10" } transform-modules-commonjs { "safari":"10" } proposal-dynamic-import { "safari":"10" }