Add class static blocks to preset-env's shippedProposals (#13114)

This commit is contained in:
Nicolò Ribaudo 2021-04-16 19:46:30 +02:00
parent 7f5b212322
commit 3c2b98ff06
84 changed files with 151 additions and 16 deletions

View File

@ -1,4 +1,7 @@
{
"proposal-class-static-block": {
"chrome": "91"
},
"proposal-class-properties": {
"chrome": "74",
"opera": "62",
@ -28,6 +31,7 @@
},
"proposal-logical-assignment-operators": {
"chrome": "85",
"opera": "71",
"edge": "85",
"firefox": "79",
"safari": "14",

View File

@ -135,6 +135,7 @@ const es2021 = {
};
const shippedProposal = {
"proposal-class-static-block": "Class static initialization blocks",
"proposal-class-properties": {
features: [
"static class fields",

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
COMPAT_TABLE_COMMIT=ab73608bddb6895f6f3296c03dba057b47ba8aea
COMPAT_TABLE_COMMIT=ca2d70e305bc3295ade6b06a1c33a929db1ccacf
GIT_HEAD=build/compat-table/.git/HEAD
if [ -d "build/compat-table" ]; then

View File

@ -4,13 +4,15 @@
const proposalPlugins = new Set([
"proposal-class-properties",
"proposal-private-methods"
"proposal-private-methods",
"proposal-class-static-block",
]);
// use intermediary object to enforce alphabetical key order
const pluginSyntaxObject = {
"proposal-async-generator-functions": "syntax-async-generators",
"proposal-class-properties": "syntax-class-properties",
"proposal-class-static-block": "syntax-class-static-block",
"proposal-json-strings": "syntax-json-strings",
"proposal-nullish-coalescing-operator": "syntax-nullish-coalescing-operator",
"proposal-numeric-separator": "syntax-numeric-separator",

View File

@ -23,6 +23,7 @@
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "workspace:^7.13.12",
"@babel/plugin-proposal-async-generator-functions": "workspace:^7.13.15",
"@babel/plugin-proposal-class-properties": "workspace:^7.13.0",
"@babel/plugin-proposal-class-static-block": "workspace:^7.13.11",
"@babel/plugin-proposal-dynamic-import": "workspace:^7.13.8",
"@babel/plugin-proposal-export-namespace-from": "workspace:^7.12.13",
"@babel/plugin-proposal-json-strings": "workspace:^7.13.8",
@ -36,6 +37,7 @@
"@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",
"@babel/plugin-syntax-class-static-block": "workspace:^7.12.13",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
"@babel/plugin-syntax-json-strings": "^7.8.3",

View File

@ -3,6 +3,7 @@
import syntaxAsyncGenerators from "@babel/plugin-syntax-async-generators";
import syntaxClassProperties from "@babel/plugin-syntax-class-properties";
import syntaxClassStaticBlock from "@babel/plugin-syntax-class-static-block";
import syntaxDynamicImport from "@babel/plugin-syntax-dynamic-import";
import syntaxExportNamespaceFrom from "@babel/plugin-syntax-export-namespace-from";
import syntaxJsonStrings from "@babel/plugin-syntax-json-strings";
@ -15,6 +16,7 @@ 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 proposalClassStaticBlock from "@babel/plugin-proposal-class-static-block";
import proposalDynamicImport from "@babel/plugin-proposal-dynamic-import";
import proposalExportNamespaceFrom from "@babel/plugin-proposal-export-namespace-from";
import proposalJsonStrings from "@babel/plugin-proposal-json-strings";
@ -78,6 +80,7 @@ export default {
bugfixV8SpreadParametersInOptionalChaining,
"proposal-async-generator-functions": () => proposalAsyncGeneratorFunctions,
"proposal-class-properties": () => proposalClassProperties,
"proposal-class-static-block": () => proposalClassStaticBlock,
"proposal-dynamic-import": () => proposalDynamicImport,
"proposal-export-namespace-from": () => proposalExportNamespaceFrom,
"proposal-json-strings": () => proposalJsonStrings,
@ -93,6 +96,7 @@ export default {
"proposal-unicode-property-regex": () => proposalUnicodePropertyRegex,
"syntax-async-generators": () => syntaxAsyncGenerators,
"syntax-class-properties": () => syntaxClassProperties,
"syntax-class-static-block": () => syntaxClassStaticBlock,
"syntax-dynamic-import": () => syntaxDynamicImport,
"syntax-export-namespace-from": () => syntaxExportNamespaceFrom,
"syntax-json-strings": () => syntaxJsonStrings,
@ -138,3 +142,7 @@ export default {
"transform-unicode-escapes": () => transformUnicodeEscapes,
"transform-unicode-regex": () => transformUnicodeRegex,
};
export const minVersions = {
"proposal-class-static-block": "7.12.0",
};

View File

@ -1,5 +1,11 @@
// @flow
import { lt } from "semver";
import { minVersions } from "./available-plugins";
// $FlowIgnore
const has = Function.call.bind(Object.hasOwnProperty);
export function removeUnnecessaryItems(
items: Set<string>,
overlapping: { [name: string]: string[] },
@ -8,3 +14,13 @@ export function removeUnnecessaryItems(
overlapping[item]?.forEach(name => items.delete(name));
});
}
export function removeUnsupportedItems(
items: Set<string>,
babelVersion: string,
) {
items.forEach(item => {
if (has(minVersions, item) && lt(babelVersion, minVersions[item])) {
items.delete(item);
}
});
}

View File

@ -3,7 +3,7 @@
import { SemVer, lt } from "semver";
import { logPlugin } from "./debug";
import getOptionSpecificExcludesFor from "./get-option-specific-excludes";
import { removeUnnecessaryItems } from "./filter-items";
import { removeUnnecessaryItems, removeUnsupportedItems } from "./filter-items";
import moduleTransformations from "./module-transformations";
import normalizeOptions from "./normalize-options";
import { proposalPlugins, pluginSyntaxMap } from "../data/shipped-proposals";
@ -374,6 +374,7 @@ option \`forceAllTransforms: true\` instead.
pluginSyntaxMap,
);
removeUnnecessaryItems(pluginNames, overlappingPlugins);
removeUnsupportedItems(pluginNames, api.version);
const polyfillPlugins = getPolyfillPlugins({
useBuiltIns,

View File

@ -17,7 +17,7 @@ Using modules transform: auto
Using plugins:
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera, safari < 14, samsung }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, firefox < 74, ios < 13.4, node, opera, safari < 13.1, samsung }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }

View File

@ -17,7 +17,7 @@ Using modules transform: auto
Using plugins:
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera, safari < 14, samsung }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome < 80, edge < 80, firefox < 74, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }

View File

@ -17,7 +17,7 @@ Using modules transform: false
Using plugins:
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera, safari < 14, samsung }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, firefox < 74, ios < 13.4, node, opera, safari < 13.1, samsung }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }

View File

@ -17,7 +17,7 @@ Using modules transform: false
Using plugins:
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera, safari < 14, samsung }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, firefox < 74, ios < 13.4, node, opera, safari < 13.1, samsung }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }

View File

@ -17,7 +17,7 @@ Using modules transform: false
Using plugins:
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera, safari < 14, samsung }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, firefox < 74, ios < 13.4, node, opera, safari < 13.1, samsung }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }

View File

@ -17,7 +17,7 @@ Using modules transform: false
Using plugins:
proposal-numeric-separator { android, chrome < 75, edge < 79, firefox < 70, ios < 13, opera < 62, safari < 13, samsung < 11 }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera, safari < 14, samsung }
proposal-logical-assignment-operators { android, chrome < 85, edge < 85, firefox < 79, ios < 14, node < 15, opera < 71, safari < 14, samsung }
proposal-nullish-coalescing-operator { android, chrome < 80, edge < 80, firefox < 72, ios < 13.4, node < 14, opera < 67, safari < 13.1, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, firefox < 74, ios < 13.4, node, opera, safari < 13.1, samsung }
proposal-json-strings { android, chrome < 66, edge < 79, firefox < 62, ios < 12, opera < 53, safari < 12, samsung < 9 }

View File

@ -16,7 +16,7 @@ Using modules transform: auto
Using plugins:
syntax-numeric-separator
proposal-logical-assignment-operators { firefox < 79, ios < 14, opera, safari < 14, samsung }
proposal-logical-assignment-operators { firefox < 79, ios < 14, safari < 14, samsung }
proposal-nullish-coalescing-operator { samsung < 13 }
proposal-optional-chaining { android, chrome, edge, opera, samsung }
syntax-json-strings

View File

@ -17,7 +17,7 @@ Using modules transform: auto
Using plugins:
proposal-numeric-separator { ie }
proposal-logical-assignment-operators { firefox < 79, ie, ios < 14, opera, safari < 14, samsung }
proposal-logical-assignment-operators { firefox < 79, ie, ios < 14, safari < 14, samsung }
proposal-nullish-coalescing-operator { ie, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, ie, opera, samsung }
proposal-json-strings { ie }

View File

@ -16,7 +16,7 @@ Using modules transform: auto
Using plugins:
syntax-numeric-separator
proposal-logical-assignment-operators { ios < 14, opera, safari < 14, samsung }
proposal-logical-assignment-operators { ios < 14, safari < 14, samsung }
proposal-nullish-coalescing-operator { samsung < 13 }
proposal-optional-chaining { android, chrome, edge, opera, samsung }
syntax-json-strings

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { samsung }
proposal-class-properties { samsung }
proposal-private-methods { samsung }
proposal-numeric-separator { samsung < 11 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
syntax-numeric-separator

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
syntax-class-properties
syntax-numeric-separator
proposal-logical-assignment-operators { chrome < 85 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -16,7 +16,7 @@ Using modules transform: auto
Using plugins:
syntax-numeric-separator
proposal-logical-assignment-operators { firefox < 79, ios < 14, opera, safari < 14, samsung }
proposal-logical-assignment-operators { firefox < 79, ios < 14, safari < 14, samsung }
proposal-nullish-coalescing-operator { samsung < 13 }
proposal-optional-chaining { android, chrome, edge, opera, samsung }
syntax-json-strings

View File

@ -17,7 +17,7 @@ Using modules transform: auto
Using plugins:
proposal-numeric-separator { ie }
proposal-logical-assignment-operators { firefox < 79, ie, ios < 14, opera, safari < 14, samsung }
proposal-logical-assignment-operators { firefox < 79, ie, ios < 14, safari < 14, samsung }
proposal-nullish-coalescing-operator { ie, samsung < 13 }
proposal-optional-chaining { android, chrome, edge, ie, opera, samsung }
proposal-json-strings { ie }

View File

@ -16,7 +16,7 @@ Using modules transform: auto
Using plugins:
syntax-numeric-separator
proposal-logical-assignment-operators { ios < 14, opera, safari < 14, samsung }
proposal-logical-assignment-operators { ios < 14, safari < 14, samsung }
proposal-nullish-coalescing-operator { samsung < 13 }
proposal-optional-chaining { android, chrome, edge, opera, samsung }
syntax-json-strings

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { samsung }
proposal-class-properties { samsung }
proposal-private-methods { samsung }
proposal-numeric-separator { samsung < 11 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
proposal-numeric-separator { chrome < 75 }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { ie }
proposal-class-properties { ie }
proposal-private-methods { ie }
proposal-numeric-separator { ie }

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
proposal-class-properties { chrome < 84 }
proposal-private-methods { chrome < 84 }
syntax-numeric-separator

View File

@ -8,6 +8,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { chrome < 91 }
syntax-class-properties
syntax-numeric-separator
proposal-logical-assignment-operators { chrome < 85 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -10,6 +10,7 @@ Using targets:
Using modules transform: auto
Using plugins:
proposal-class-static-block { 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 }

View File

@ -0,0 +1,5 @@
class A {
static {
register(A);
}
}

View File

@ -0,0 +1,4 @@
{
"targets": { "chrome": 90 },
"presets": [["env", { "shippedProposals": true }]]
}

View File

@ -0,0 +1,5 @@
class A {
static #_ = (() => {
register(A);
})();
}

View File

@ -0,0 +1,5 @@
class A {
static {
register(A);
}
}

View File

@ -0,0 +1,4 @@
{
"targets": { "chrome": 91 },
"presets": [["env", { "shippedProposals": true }]]
}

View File

@ -0,0 +1,5 @@
class A {
static {
register(A);
}
}

View File

@ -0,0 +1,5 @@
class A {
static {
register(A);
}
}

View File

@ -0,0 +1,4 @@
{
"targets": { "firefox": 70 },
"presets": [["env", { "shippedProposals": true }]]
}

View File

@ -0,0 +1,8 @@
class A {}
var _ = {
writable: true,
value: (() => {
register(A);
})()
};

View File

@ -1074,7 +1074,7 @@ __metadata:
languageName: unknown
linkType: soft
"@babel/plugin-proposal-class-static-block@workspace:*, @babel/plugin-proposal-class-static-block@workspace:packages/babel-plugin-proposal-class-static-block":
"@babel/plugin-proposal-class-static-block@workspace:*, @babel/plugin-proposal-class-static-block@workspace:^7.13.11, @babel/plugin-proposal-class-static-block@workspace:packages/babel-plugin-proposal-class-static-block":
version: 0.0.0-use.local
resolution: "@babel/plugin-proposal-class-static-block@workspace:packages/babel-plugin-proposal-class-static-block"
dependencies:
@ -3088,6 +3088,7 @@ __metadata:
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "workspace:^7.13.12"
"@babel/plugin-proposal-async-generator-functions": "workspace:^7.13.15"
"@babel/plugin-proposal-class-properties": "workspace:^7.13.0"
"@babel/plugin-proposal-class-static-block": "workspace:^7.13.11"
"@babel/plugin-proposal-dynamic-import": "workspace:^7.13.8"
"@babel/plugin-proposal-export-namespace-from": "workspace:^7.12.13"
"@babel/plugin-proposal-json-strings": "workspace:^7.13.8"
@ -3101,6 +3102,7 @@ __metadata:
"@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"
"@babel/plugin-syntax-class-static-block": "workspace:^7.12.13"
"@babel/plugin-syntax-dynamic-import": ^7.8.3
"@babel/plugin-syntax-export-namespace-from": ^7.8.3
"@babel/plugin-syntax-json-strings": ^7.8.3