From 175f34809056b6e781202f675d8b320fba63a47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 27 May 2020 18:05:13 +0000 Subject: [PATCH 1/2] [hotfix] Use same targets for fields as for private methods --- packages/babel-preset-env/src/plugins-compat-data.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/babel-preset-env/src/plugins-compat-data.js b/packages/babel-preset-env/src/plugins-compat-data.js index 132cabc562eb..b437c1fe7831 100644 --- a/packages/babel-preset-env/src/plugins-compat-data.js +++ b/packages/babel-preset-env/src/plugins-compat-data.js @@ -19,4 +19,7 @@ for (const plugin of Object.keys(bugfixPlugins)) { } } +pluginsFiltered["proposal-class-properties"] = + pluginsFiltered["proposal-private-methods"]; + export { pluginsFiltered as plugins, bugfixPluginsFiltered as pluginsBugfixes }; From 0c6350d511d46ac6dea913c12799dcdaa7ff6f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Wed, 27 May 2020 18:23:45 +0000 Subject: [PATCH 2/2] Test --- .../fixtures/debug/shippedProposals-chrome-80/stdout.txt | 2 +- .../test/fixtures/shipped-proposals/node-12/input.js | 3 +++ .../test/fixtures/shipped-proposals/node-12/options.json | 8 ++++++++ .../test/fixtures/shipped-proposals/node-12/output.js | 8 ++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/input.js create mode 100644 packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/options.json create mode 100644 packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/output.js diff --git a/packages/babel-preset-env/test/fixtures/debug/shippedProposals-chrome-80/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/shippedProposals-chrome-80/stdout.txt index 21c98a96cd9e..4589851ccb4e 100644 --- a/packages/babel-preset-env/test/fixtures/debug/shippedProposals-chrome-80/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/shippedProposals-chrome-80/stdout.txt @@ -9,7 +9,7 @@ Using modules transform: auto Using plugins: syntax-numeric-separator { "chrome":"80" } - syntax-class-properties { "chrome":"80" } + proposal-class-properties { "chrome":"80" } proposal-private-methods { "chrome":"80" } syntax-nullish-coalescing-operator { "chrome":"80" } syntax-optional-chaining { "chrome":"80" } diff --git a/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/input.js b/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/input.js new file mode 100644 index 000000000000..eebf5c5c33db --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/input.js @@ -0,0 +1,3 @@ +class A { + x; +} diff --git a/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/options.json b/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/options.json new file mode 100644 index 000000000000..db6fa3201cc5 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/options.json @@ -0,0 +1,8 @@ +{ + "presets": [ + ["env", { + "targets": { "node": 12 }, + "shippedProposals": true + }] + ] +} diff --git a/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/output.js b/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/output.js new file mode 100644 index 000000000000..9fc360134b36 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/shipped-proposals/node-12/output.js @@ -0,0 +1,8 @@ +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +class A { + constructor() { + _defineProperty(this, "x", void 0); + } + +}