Skip to content

Commit

Permalink
add class-properties and private-methods to shippedProposals
Browse files Browse the repository at this point in the history
  • Loading branch information
JLHwung committed Apr 21, 2020
1 parent 5b8477e commit c4302b4
Show file tree
Hide file tree
Showing 36 changed files with 158 additions and 0 deletions.
11 changes: 11 additions & 0 deletions packages/babel-compat-data/data/plugins.json
Expand Up @@ -9,6 +9,17 @@
"ios": "13",
"electron": "6.1"
},
"proposal-class-properties": {
"chrome": "74",
"opera": "61",
"edge": "79",
"node": "12",
"electron": "6.1"
},
"proposal-private-methods": {
"chrome": "84",
"opera": "71"
},
"proposal-nullish-coalescing-operator": {
"chrome": "80",
"opera": "67",
Expand Down
4 changes: 4 additions & 0 deletions packages/babel-compat-data/scripts/data/plugin-features.js
Expand Up @@ -123,6 +123,10 @@ const es2020 = {

const shippedProposal = {
"proposal-numeric-separator": "numeric separator",
"proposal-class-properties": {
features: ["static class fields", "instance class fields"],
},
"proposal-private-methods": "private class methods",
};

// Run plugins for modern features first
Expand Down
5 changes: 5 additions & 0 deletions packages/babel-preset-env/data/shipped-proposals.js
Expand Up @@ -3,18 +3,23 @@
// shipped by browsers, and are enabled by the `shippedProposals` option.

const proposalPlugins = new Set([
"proposal-class-properties",
"proposal-numeric-separator",
"proposal-private-methods"
]);

// use intermediary object to enforce alphabetical key order
const pluginSyntaxObject = {
"proposal-async-generator-functions": "syntax-async-generators",
"proposal-class-properties": "syntax-class-properties",
"proposal-json-strings": "syntax-json-strings",
"proposal-nullish-coalescing-operator": "syntax-nullish-coalescing-operator",
"proposal-numeric-separator": "syntax-numeric-separator",
"proposal-object-rest-spread": "syntax-object-rest-spread",
"proposal-optional-catch-binding": "syntax-optional-catch-binding",
"proposal-optional-chaining": "syntax-optional-chaining",
// note: we don't have syntax-private-methods
"proposal-private-methods": "syntax-class-properties",
"proposal-unicode-property-regex": null,
};

Expand Down
3 changes: 3 additions & 0 deletions packages/babel-preset-env/package.json
Expand Up @@ -16,13 +16,15 @@
"@babel/helper-module-imports": "^7.8.3",
"@babel/helper-plugin-utils": "^7.8.3",
"@babel/plugin-proposal-async-generator-functions": "^7.8.3",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/plugin-proposal-dynamic-import": "^7.8.3",
"@babel/plugin-proposal-json-strings": "^7.8.3",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
"@babel/plugin-proposal-numeric-separator": "^7.8.3",
"@babel/plugin-proposal-object-rest-spread": "^7.9.5",
"@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
"@babel/plugin-proposal-optional-chaining": "^7.9.0",
"@babel/plugin-proposal-private-methods": "^7.8.3",
"@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
"@babel/plugin-syntax-async-generators": "^7.8.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.0",
Expand All @@ -32,6 +34,7 @@
"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
"@babel/plugin-syntax-optional-chaining": "^7.8.0",
"@babel/plugin-syntax-class-properties": "^7.8.3",
"@babel/plugin-syntax-top-level-await": "^7.8.3",
"@babel/plugin-transform-arrow-functions": "^7.8.3",
"@babel/plugin-transform-async-to-generator": "^7.8.3",
Expand Down
6 changes: 6 additions & 0 deletions packages/babel-preset-env/src/available-plugins.js
Expand Up @@ -2,6 +2,7 @@
/* eslint sort-keys: "error" */

import syntaxAsyncGenerators from "@babel/plugin-syntax-async-generators";
import syntaxClassProperties from "@babel/plugin-syntax-class-properties";
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";
Expand All @@ -11,13 +12,15 @@ import syntaxOptionalCatchBinding from "@babel/plugin-syntax-optional-catch-bind
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 proposalClassProperties from "@babel/plugin-proposal-class-properties";
import proposalDynamicImport from "@babel/plugin-proposal-dynamic-import";
import proposalJsonStrings from "@babel/plugin-proposal-json-strings";
import proposalNullishCoalescingOperator from "@babel/plugin-proposal-nullish-coalescing-operator";
import proposalNumericSeparator from "@babel/plugin-proposal-numeric-separator";
import proposalObjectRestSpread from "@babel/plugin-proposal-object-rest-spread";
import proposalOptionalCatchBinding from "@babel/plugin-proposal-optional-catch-binding";
import proposalOptionalChaining from "@babel/plugin-proposal-optional-chaining";
import proposalPrivateMethods from "@babel/plugin-proposal-private-methods";
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";
Expand Down Expand Up @@ -66,15 +69,18 @@ export default {
"bugfix/transform-safari-for-shadowing": bugfixSafariForShadowing,
"bugfix/transform-tagged-template-caching": bugfixTaggedTemplateCaching,
"proposal-async-generator-functions": proposalAsyncGeneratorFunctions,
"proposal-class-properties": proposalClassProperties,
"proposal-dynamic-import": proposalDynamicImport,
"proposal-json-strings": proposalJsonStrings,
"proposal-nullish-coalescing-operator": proposalNullishCoalescingOperator,
"proposal-numeric-separator": proposalNumericSeparator,
"proposal-object-rest-spread": proposalObjectRestSpread,
"proposal-optional-catch-binding": proposalOptionalCatchBinding,
"proposal-optional-chaining": proposalOptionalChaining,
"proposal-private-methods": proposalPrivateMethods,
"proposal-unicode-property-regex": proposalUnicodePropertyRegex,
"syntax-async-generators": syntaxAsyncGenerators,
"syntax-class-properties": syntaxClassProperties,
"syntax-dynamic-import": syntaxDynamicImport,
"syntax-json-strings": syntaxJsonStrings,
"syntax-nullish-coalescing-operator": syntaxNullishCoalescingOperator,
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "samsung":"8.2" }
proposal-class-properties { "samsung":"8.2" }
proposal-private-methods { "samsung":"8.2" }
proposal-nullish-coalescing-operator { "samsung":"8.2" }
proposal-optional-chaining { "samsung":"8.2" }
proposal-json-strings { "samsung":"8.2" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -9,6 +9,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator { "chrome":"71" }
proposal-class-properties { "chrome":"71" }
proposal-private-methods { "chrome":"71" }
proposal-nullish-coalescing-operator { "chrome":"71" }
proposal-optional-chaining { "chrome":"71" }
syntax-json-strings { "chrome":"71" }
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
Expand Up @@ -7,6 +7,8 @@ Using modules transform: auto

Using plugins:
proposal-numeric-separator {}
proposal-class-properties {}
proposal-private-methods {}
proposal-nullish-coalescing-operator {}
proposal-optional-chaining {}
proposal-json-strings {}
Expand Down
@@ -0,0 +1 @@
import '@babel/polyfill';
@@ -0,0 +1,16 @@
{
"validateLogs": true,
"ignoreOutput": true,
"presets": [
[
"env",
{
"debug": true,
"targets": {
"browsers": "chrome 80"
},
"shippedProposals": true
}
]
]
}
@@ -0,0 +1,23 @@
@babel/preset-env: `DEBUG` option

Using targets:
{
"chrome": "80"
}

Using modules transform: auto

Using plugins:
syntax-numeric-separator { "chrome":"80" }
syntax-class-properties { "chrome":"80" }
proposal-private-methods { "chrome":"80" }
syntax-nullish-coalescing-operator { "chrome":"80" }
syntax-optional-chaining { "chrome":"80" }
syntax-json-strings { "chrome":"80" }
syntax-optional-catch-binding { "chrome":"80" }
syntax-async-generators { "chrome":"80" }
syntax-object-rest-spread { "chrome":"80" }
transform-modules-commonjs { "chrome":"80" }
proposal-dynamic-import { "chrome":"80" }

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.
@@ -0,0 +1 @@
import '@babel/polyfill';
@@ -0,0 +1,16 @@
{
"validateLogs": true,
"ignoreOutput": true,
"presets": [
[
"env",
{
"debug": true,
"targets": {
"browsers": "chrome 84"
},
"shippedProposals": true
}
]
]
}
@@ -0,0 +1,22 @@
@babel/preset-env: `DEBUG` option

Using targets:
{
"chrome": "84"
}

Using modules transform: auto

Using plugins:
syntax-numeric-separator { "chrome":"84" }
syntax-class-properties { "chrome":"84" }
syntax-nullish-coalescing-operator { "chrome":"84" }
syntax-optional-chaining { "chrome":"84" }
syntax-json-strings { "chrome":"84" }
syntax-optional-catch-binding { "chrome":"84" }
syntax-async-generators { "chrome":"84" }
syntax-object-rest-spread { "chrome":"84" }
transform-modules-commonjs { "chrome":"84" }
proposal-dynamic-import { "chrome":"84" }

Using polyfills: No polyfills were added, since the `useBuiltIns` option was not set.

0 comments on commit c4302b4

Please sign in to comment.