From 8709899b4240343d2eaab3e02ba80070c82dcf63 Mon Sep 17 00:00:00 2001 From: Dan Harper Date: Wed, 28 Sep 2016 17:25:33 +0100 Subject: [PATCH] fix flow-strip-types/flow-comments removing entire ClassProperty (#4587) --- .../test/fixtures/flow-comments/class-prop-values/actual.js | 5 +++++ .../fixtures/flow-comments/class-prop-values/expected.js | 5 +++++ .../fixtures/flow-comments/class-prop-values/options.json | 6 ++++++ .../test/fixtures/regression/class-prop-values/actual.js | 5 +++++ .../test/fixtures/regression/class-prop-values/expected.js | 4 ++++ .../test/fixtures/regression/class-prop-values/options.json | 6 ++++++ packages/babel-types/src/definitions/flow.js | 2 +- 7 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/actual.js create mode 100644 packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/expected.js create mode 100644 packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json create mode 100644 packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/actual.js create mode 100644 packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/expected.js create mode 100644 packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/actual.js b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/actual.js new file mode 100644 index 0000000000..005df4e124 --- /dev/null +++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/actual.js @@ -0,0 +1,5 @@ +class X { + foo = 2 + bar: number = 3 + baz: ?string +} diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/expected.js b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/expected.js new file mode 100644 index 0000000000..c2c2aa3db1 --- /dev/null +++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/expected.js @@ -0,0 +1,5 @@ +class X { + foo = 2; + bar /*: number*/ = 3; + baz /*: ?string*/; +} diff --git a/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json new file mode 100644 index 0000000000..9f385a20d2 --- /dev/null +++ b/packages/babel-plugin-transform-flow-comments/test/fixtures/flow-comments/class-prop-values/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "transform-flow-comments", + "syntax-class-properties" + ] +} diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/actual.js b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/actual.js new file mode 100644 index 0000000000..005df4e124 --- /dev/null +++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/actual.js @@ -0,0 +1,5 @@ +class X { + foo = 2 + bar: number = 3 + baz: ?string +} diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/expected.js b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/expected.js new file mode 100644 index 0000000000..6f01759d67 --- /dev/null +++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/expected.js @@ -0,0 +1,4 @@ +class X { + foo = 2; + bar = 3; +} diff --git a/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json new file mode 100644 index 0000000000..e4f98ec829 --- /dev/null +++ b/packages/babel-plugin-transform-flow-strip-types/test/fixtures/regression/class-prop-values/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "transform-flow-strip-types", + "syntax-class-properties" + ] +} diff --git a/packages/babel-types/src/definitions/flow.js b/packages/babel-types/src/definitions/flow.js index f4728b66dc..9b5d20dff5 100644 --- a/packages/babel-types/src/definitions/flow.js +++ b/packages/babel-types/src/definitions/flow.js @@ -45,7 +45,7 @@ defineType("ClassImplements", { defineType("ClassProperty", { visitor: ["key", "value", "typeAnnotation", "decorators"], builder: ["key", "value", "typeAnnotation", "decorators", "computed"], - aliases: ["Flow", "Property"], + aliases: ["Property"], fields: { computed: { validate: assertValueType("boolean"),