diff --git a/packages/babel-generator/src/generators/classes.js b/packages/babel-generator/src/generators/classes.js index 1713293369..4d00272c4c 100644 --- a/packages/babel-generator/src/generators/classes.js +++ b/packages/babel-generator/src/generators/classes.js @@ -101,6 +101,7 @@ export function ClassProperty(node: Object) { } export function ClassPrivateProperty(node: Object) { + this.printJoin(node.decorators, node); if (node.static) { this.word("static"); this.space(); diff --git a/packages/babel-generator/test/fixtures/decorators/private-props/input.js b/packages/babel-generator/test/fixtures/decorators/private-props/input.js new file mode 100644 index 0000000000..2744b0c3f1 --- /dev/null +++ b/packages/babel-generator/test/fixtures/decorators/private-props/input.js @@ -0,0 +1,7 @@ +class A { + @dec + foo; + + @dec + #bar; +} diff --git a/packages/babel-generator/test/fixtures/decorators/private-props/options.json b/packages/babel-generator/test/fixtures/decorators/private-props/options.json new file mode 100644 index 0000000000..a91f977470 --- /dev/null +++ b/packages/babel-generator/test/fixtures/decorators/private-props/options.json @@ -0,0 +1,9 @@ +{ + "plugins": [ + ["decorators", { "decoratorsBeforeExport": false }], + "classProperties", + "classPrivateProperties", + "classPrivateMethods" + ], + "decoratorsBeforeExport": true +} diff --git a/packages/babel-generator/test/fixtures/decorators/private-props/output.js b/packages/babel-generator/test/fixtures/decorators/private-props/output.js new file mode 100644 index 0000000000..845839ad35 --- /dev/null +++ b/packages/babel-generator/test/fixtures/decorators/private-props/output.js @@ -0,0 +1,6 @@ +class A { + @dec + foo; + @dec + #bar; +}