diff --git a/packages/babel-helper-create-class-features-plugin/package.json b/packages/babel-helper-create-class-features-plugin/package.json index 19101e0e5ab8..110a0deeca11 100644 --- a/packages/babel-helper-create-class-features-plugin/package.json +++ b/packages/babel-helper-create-class-features-plugin/package.json @@ -29,6 +29,7 @@ }, "devDependencies": { "@babel/core": "workspace:*", - "@babel/helper-plugin-test-runner": "workspace:*" + "@babel/helper-plugin-test-runner": "workspace:*", + "@babel/preset-env": "workspace:*" } } diff --git a/packages/babel-helper-create-class-features-plugin/src/index.js b/packages/babel-helper-create-class-features-plugin/src/index.js index 7c2c097c485e..7e08d2b26491 100644 --- a/packages/babel-helper-create-class-features-plugin/src/index.js +++ b/packages/babel-helper-create-class-features-plugin/src/index.js @@ -44,7 +44,7 @@ export function createClassFeaturePlugin({ const constantSuper = api.assumption("constantSuper"); const noDocumentAll = api.assumption("noDocumentAll"); - if (loose) { + if (loose === true) { const explicit = []; if (setPublicClassFields !== undefined) { diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/input.js b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/input.js new file mode 100644 index 000000000000..eb0eb350654f --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/input.js @@ -0,0 +1,3 @@ +class A { + foo; +} diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/options.json b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/options.json new file mode 100644 index 000000000000..29b0d05fdcab --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/options.json @@ -0,0 +1,8 @@ +{ + "validateLogs": true, + "presets": [["env", { "shippedProposals": true }]], + "assumptions": { + "setPublicClassFields": true + }, + "targets": "chrome 70" +} diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/output.js b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/output.js new file mode 100644 index 000000000000..063a057f52c0 --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/output.js @@ -0,0 +1,6 @@ +class A { + constructor() { + this.foo = void 0; + } + +} diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/stderr.txt b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/stderr.txt new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/no-loose-and-assumptions-preset-env/stderr.txt @@ -0,0 +1 @@ + diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/input.js b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/input.js new file mode 100644 index 000000000000..eb0eb350654f --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/input.js @@ -0,0 +1,3 @@ +class A { + foo; +} diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/options.json b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/options.json new file mode 100644 index 000000000000..4297b3db2cbd --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/options.json @@ -0,0 +1,8 @@ +{ + "validateLogs": true, + "presets": [["env", { "loose": true, "shippedProposals": true }]], + "assumptions": { + "setPublicClassFields": true + }, + "targets": "chrome 70" +} diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/output.js b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/output.js new file mode 100644 index 000000000000..063a057f52c0 --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/output.js @@ -0,0 +1,6 @@ +class A { + constructor() { + this.foo = void 0; + } + +} diff --git a/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/stderr.txt b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/stderr.txt new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/packages/babel-helper-create-class-features-plugin/test/fixtures/plugin-proposal-class-properties/warn-loose-and-assumptions-preset-env/stderr.txt @@ -0,0 +1 @@ + diff --git a/yarn.lock b/yarn.lock index b0088ae93c14..af1a48b62520 100644 --- a/yarn.lock +++ b/yarn.lock @@ -429,6 +429,7 @@ __metadata: "@babel/helper-plugin-test-runner": "workspace:*" "@babel/helper-replace-supers": "workspace:^7.13.0" "@babel/helper-split-export-declaration": "workspace:^7.12.13" + "@babel/preset-env": "workspace:*" peerDependencies: "@babel/core": ^7.0.0 languageName: unknown