Skip to content

Commit

Permalink
Add private brand checks to shippedProposals (#13176)
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolo-ribaudo committed Apr 28, 2021
1 parent 2fc2885 commit 5a7a782
Show file tree
Hide file tree
Showing 82 changed files with 148 additions and 40 deletions.
3 changes: 3 additions & 0 deletions packages/babel-compat-data/data/plugins.json
Expand Up @@ -2,6 +2,9 @@
"proposal-class-static-block": {
"chrome": "91"
},
"proposal-private-property-in-object": {
"chrome": "91"
},
"proposal-class-properties": {
"chrome": "74",
"opera": "62",
Expand Down
2 changes: 2 additions & 0 deletions packages/babel-compat-data/scripts/data/plugin-features.js
Expand Up @@ -136,6 +136,8 @@ const es2021 = {

const shippedProposal = {
"proposal-class-static-block": "Class static initialization blocks",
"proposal-private-property-in-object":
"Ergonomic brand checks for private fields",
"proposal-class-properties": {
features: [
"static class fields",
Expand Down
@@ -1,7 +1,7 @@
#!/bin/bash
set -e

COMPAT_TABLE_COMMIT=ca2d70e305bc3295ade6b06a1c33a929db1ccacf
COMPAT_TABLE_COMMIT=bcf74805f08ef13371ebe3aa36030bed4cd9a902
GIT_HEAD=build/compat-table/.git/HEAD

if [ -d "build/compat-table" ]; then
Expand Down
2 changes: 2 additions & 0 deletions packages/babel-preset-env/data/shipped-proposals.js
Expand Up @@ -6,6 +6,7 @@ const proposalPlugins = new Set([
"proposal-class-properties",
"proposal-private-methods",
"proposal-class-static-block",
"proposal-private-property-in-object",
]);

// use intermediary object to enforce alphabetical key order
Expand All @@ -21,6 +22,7 @@ const pluginSyntaxObject = {
"proposal-optional-chaining": "syntax-optional-chaining",
// note: we don't have syntax-private-methods
"proposal-private-methods": "syntax-class-properties",
"proposal-private-property-in-object": "syntax-private-property-in-object",
"proposal-unicode-property-regex": null,
};

Expand Down
2 changes: 2 additions & 0 deletions packages/babel-preset-env/package.json
Expand Up @@ -34,6 +34,7 @@
"@babel/plugin-proposal-optional-catch-binding": "workspace:^7.13.8",
"@babel/plugin-proposal-optional-chaining": "workspace:^7.13.12",
"@babel/plugin-proposal-private-methods": "workspace:^7.13.0",
"@babel/plugin-proposal-private-property-in-object": "workspace:^7.13.0",
"@babel/plugin-proposal-unicode-property-regex": "workspace:^7.12.13",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "workspace:^7.12.13",
Expand All @@ -47,6 +48,7 @@
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-private-property-in-object": "workspace:^7.13.0",
"@babel/plugin-syntax-top-level-await": "workspace:^7.12.13",
"@babel/plugin-transform-arrow-functions": "workspace:^7.13.0",
"@babel/plugin-transform-async-to-generator": "workspace:^7.13.0",
Expand Down
5 changes: 5 additions & 0 deletions packages/babel-preset-env/src/available-plugins.js
Expand Up @@ -13,6 +13,7 @@ import syntaxNumericSeparator from "@babel/plugin-syntax-numeric-separator";
import syntaxObjectRestSpread from "@babel/plugin-syntax-object-rest-spread";
import syntaxOptionalCatchBinding from "@babel/plugin-syntax-optional-catch-binding";
import syntaxOptionalChaining from "@babel/plugin-syntax-optional-chaining";
import syntaxPrivatePropertyInObject from "@babel/plugin-syntax-private-property-in-object";
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";
Expand All @@ -27,6 +28,7 @@ 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 proposalPrivatePropertyInObject from "@babel/plugin-proposal-private-property-in-object";
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 @@ -93,6 +95,7 @@ export default {
"proposal-optional-catch-binding": () => proposalOptionalCatchBinding,
"proposal-optional-chaining": () => proposalOptionalChaining,
"proposal-private-methods": () => proposalPrivateMethods,
"proposal-private-property-in-object": () => proposalPrivatePropertyInObject,
"proposal-unicode-property-regex": () => proposalUnicodePropertyRegex,
"syntax-async-generators": () => syntaxAsyncGenerators,
"syntax-class-properties": () => syntaxClassProperties,
Expand All @@ -106,6 +109,7 @@ export default {
"syntax-object-rest-spread": () => syntaxObjectRestSpread,
"syntax-optional-catch-binding": () => syntaxOptionalCatchBinding,
"syntax-optional-chaining": () => syntaxOptionalChaining,
"syntax-private-property-in-object": () => syntaxPrivatePropertyInObject,
"syntax-top-level-await": () => syntaxTopLevelAwait,
"transform-arrow-functions": () => transformArrowFunctions,
"transform-async-to-generator": () => transformAsyncToGenerator,
Expand Down Expand Up @@ -145,4 +149,5 @@ export default {

export const minVersions = {
"proposal-class-static-block": "7.12.0",
"proposal-private-property-in-object": "7.10.0",
};
2 changes: 0 additions & 2 deletions packages/babel-preset-env/src/index.js
Expand Up @@ -394,8 +394,6 @@ option \`forceAllTransforms: true\` instead.
if (
pluginName === "proposal-class-properties" ||
pluginName === "proposal-private-methods" ||
// This is not included in preset-env yet, but let's keep it here so we
// don't forget about it in the future.
pluginName === "proposal-private-property-in-object"
) {
return [
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { samsung }
proposal-private-property-in-object { samsung }
proposal-class-properties { samsung }
proposal-private-methods { samsung }
proposal-numeric-separator { samsung < 11 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
syntax-numeric-separator
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
syntax-class-properties
syntax-numeric-separator
proposal-logical-assignment-operators { chrome < 85 }
Expand Down
Expand Up @@ -11,6 +11,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91, firefox, ie }
proposal-private-property-in-object { chrome < 91, firefox, ie }
proposal-class-properties { chrome < 84, firefox, ie }
proposal-private-methods { chrome < 84, firefox, ie }
proposal-numeric-separator { chrome < 75, firefox < 70, ie }
Expand Down
Expand Up @@ -11,6 +11,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91, firefox, ie }
proposal-private-property-in-object { chrome < 91, firefox, ie }
proposal-class-properties { chrome < 84, firefox, ie }
proposal-private-methods { chrome < 84, firefox, ie }
proposal-numeric-separator { chrome < 75, firefox < 70, ie }
Expand Down
Expand Up @@ -11,6 +11,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91, firefox, ie }
proposal-private-property-in-object { chrome < 91, firefox, ie }
proposal-class-properties { chrome < 84, firefox, ie }
proposal-private-methods { chrome < 84, firefox, ie }
proposal-numeric-separator { chrome < 75, firefox < 70, ie }
Expand Down
Expand Up @@ -11,6 +11,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91, firefox, ie }
proposal-private-property-in-object { chrome < 91, firefox, ie }
proposal-class-properties { chrome < 84, firefox, ie }
proposal-private-methods { chrome < 84, firefox, ie }
proposal-numeric-separator { chrome < 75, firefox < 70, ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-private-property-in-object { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down
Expand Up @@ -9,6 +9,7 @@ Using modules transform: auto

Using plugins:
proposal-class-static-block { ie }
proposal-private-property-in-object { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }
Expand Down

0 comments on commit 5a7a782

Please sign in to comment.