From 4648b65778312a0f19430ce496e7fba2adb36322 Mon Sep 17 00:00:00 2001 From: Li Hau Tan Date: Mon, 27 May 2019 12:15:28 +0800 Subject: [PATCH] throw "Destructuring to a super field is not supported yet." --- .../src/index.js | 1 + .../babel-helper-replace-supers/src/index.js | 6 ++++-- .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../output.js | 16 ++++++++++++++++ .../input.js | 5 +++++ .../output.js | 16 ++++++++++++++++ .../input.js | 5 +++++ .../output.js | 19 +++++++++++++++++++ .../input.js | 5 +++++ .../output.js | 18 ++++++++++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 10 ++++++++++ .../input.js | 5 +++++ .../options.json | 8 ++++++++ .../input.js | 5 +++++ .../options.json | 8 ++++++++ .../input.js | 5 +++++ .../options.json | 8 ++++++++ .../input.js | 5 +++++ .../options.json | 8 ++++++++ 34 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/input.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/options.json create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/input.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/options.json create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/input.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/options.json create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/input.js create mode 100644 packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/options.json create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/output.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/output.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/output.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/output.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/options.json create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/options.json create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/options.json create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/input.js create mode 100644 packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/options.json create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/input.js create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/options.json create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/input.js create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/options.json create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/input.js create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/options.json create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/input.js create mode 100644 packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/options.json 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 dc6300736b3a..2b8211a463c3 100644 --- a/packages/babel-helper-create-class-features-plugin/src/index.js +++ b/packages/babel-helper-create-class-features-plugin/src/index.js @@ -147,6 +147,7 @@ export function createClassFeaturePlugin({ if (isDecorated) { staticNodes = keysNodes = []; + console.log("buildDecoratedClass"); ({ instanceNodes, wrapClass } = buildDecoratedClass( ref, path, diff --git a/packages/babel-helper-replace-supers/src/index.js b/packages/babel-helper-replace-supers/src/index.js index 69ceb28ed51c..3412d321caf2 100644 --- a/packages/babel-helper-replace-supers/src/index.js +++ b/packages/babel-helper-replace-supers/src/index.js @@ -125,8 +125,10 @@ const specHandlers = { ]); }, - destructureSet() { - // TODO + destructureSet(superMember) { + throw superMember.buildCodeFrameError( + `Destructuring to a super field is not supported yet.`, + ); }, call(superMember, args) { diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/input.js new file mode 100644 index 000000000000..bc8f7e6aa311 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;([x, ...super.client] = props); + } +} \ No newline at end of file diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/options.json new file mode 100644 index 000000000000..d9d73e427633 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern-1/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "proposal-class-properties", + "transform-classes", + "transform-block-scoping", + "syntax-class-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/input.js new file mode 100644 index 000000000000..aa6fb16c74d4 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;([super.client] = props); + } +} diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/options.json new file mode 100644 index 000000000000..d9d73e427633 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-array-pattern/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "proposal-class-properties", + "transform-classes", + "transform-block-scoping", + "syntax-class-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/input.js new file mode 100644 index 000000000000..19705340451c --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;({ x, ...super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/options.json new file mode 100644 index 000000000000..d9d73e427633 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern-1/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "proposal-class-properties", + "transform-classes", + "transform-block-scoping", + "syntax-class-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/input.js b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/input.js new file mode 100644 index 000000000000..45845d4e16b5 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;({ client: super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/options.json b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/options.json new file mode 100644 index 000000000000..d9d73e427633 --- /dev/null +++ b/packages/babel-plugin-proposal-class-properties/test/fixtures/public/super-destructuring-object-pattern/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "proposal-class-properties", + "transform-classes", + "transform-block-scoping", + "syntax-class-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/input.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/input.js new file mode 100644 index 000000000000..5b3864b52b67 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/input.js @@ -0,0 +1,5 @@ +class Foo { + foo(props) { + ;([x, ...super.client] = props); + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/output.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/output.js new file mode 100644 index 000000000000..79753b87162a --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern-1/output.js @@ -0,0 +1,16 @@ +var Foo = +/*#__PURE__*/ +function () { + "use strict"; + + function Foo() {} + + var _proto = Foo.prototype; + + _proto.foo = function foo(props) { + ; + [x, ...this.client] = props; + }; + + return Foo; +}(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/input.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/input.js new file mode 100644 index 000000000000..96267163e8ad --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/input.js @@ -0,0 +1,5 @@ +class Foo { + foo(props) { + ;([super.client] = props); + } +} diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/output.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/output.js new file mode 100644 index 000000000000..0672ad62fdab --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-array-pattern/output.js @@ -0,0 +1,16 @@ +var Foo = +/*#__PURE__*/ +function () { + "use strict"; + + function Foo() {} + + var _proto = Foo.prototype; + + _proto.foo = function foo(props) { + ; + [this.client] = props; + }; + + return Foo; +}(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/input.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/input.js new file mode 100644 index 000000000000..f90c1a21039d --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/input.js @@ -0,0 +1,5 @@ +class Foo { + foo(props) { + ;({ x, ...super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/output.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/output.js new file mode 100644 index 000000000000..896273e40f43 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern-1/output.js @@ -0,0 +1,19 @@ +var Foo = +/*#__PURE__*/ +function () { + "use strict"; + + function Foo() {} + + var _proto = Foo.prototype; + + _proto.foo = function foo(props) { + ; + ({ + x, + ...this.client + } = props); + }; + + return Foo; +}(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/input.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/input.js new file mode 100644 index 000000000000..391378c2af5e --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/input.js @@ -0,0 +1,5 @@ +class Foo { + foo(props) { + ;({ client: super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/output.js b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/output.js new file mode 100644 index 000000000000..816071362136 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/loose/super-destructuring-object-pattern/output.js @@ -0,0 +1,18 @@ +var Foo = +/*#__PURE__*/ +function () { + "use strict"; + + function Foo() {} + + var _proto = Foo.prototype; + + _proto.foo = function foo(props) { + ; + ({ + client: this.client + } = props); + }; + + return Foo; +}(); diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/input.js b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/input.js new file mode 100644 index 000000000000..bc8f7e6aa311 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;([x, ...super.client] = props); + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/options.json new file mode 100644 index 000000000000..15c260b243c0 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern-1/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "transform-function-name", + "transform-classes", + "transform-spread", + "transform-block-scoping" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/input.js b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/input.js new file mode 100644 index 000000000000..aa6fb16c74d4 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;([super.client] = props); + } +} diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/options.json new file mode 100644 index 000000000000..15c260b243c0 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-array-pattern/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "transform-function-name", + "transform-classes", + "transform-spread", + "transform-block-scoping" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/input.js b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/input.js new file mode 100644 index 000000000000..19705340451c --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;({ x, ...super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/options.json new file mode 100644 index 000000000000..15c260b243c0 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern-1/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "transform-function-name", + "transform-classes", + "transform-spread", + "transform-block-scoping" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/input.js b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/input.js new file mode 100644 index 000000000000..45845d4e16b5 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/input.js @@ -0,0 +1,5 @@ +class Foo { + constructor(props) { + ;({ client: super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/options.json b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/options.json new file mode 100644 index 000000000000..15c260b243c0 --- /dev/null +++ b/packages/babel-plugin-transform-classes/test/fixtures/spec/super-destructuring-object-pattern/options.json @@ -0,0 +1,10 @@ +{ + "plugins": [ + "external-helpers", + "transform-function-name", + "transform-classes", + "transform-spread", + "transform-block-scoping" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/input.js new file mode 100644 index 000000000000..e9757ea1ef41 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/input.js @@ -0,0 +1,5 @@ +const foo = { + bar(props) { + ;([x, ...super.client] = props); + } +} diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/options.json b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/options.json new file mode 100644 index 000000000000..7975cd686c73 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern-1/options.json @@ -0,0 +1,8 @@ +{ + "plugins": [ + "external-helpers", + "transform-object-super", + "transform-shorthand-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/input.js new file mode 100644 index 000000000000..e4ee0d05beb8 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/input.js @@ -0,0 +1,5 @@ +const foo = { + bar(props) { + ;([super.client] = props); + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/options.json b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/options.json new file mode 100644 index 000000000000..7975cd686c73 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-array-pattern/options.json @@ -0,0 +1,8 @@ +{ + "plugins": [ + "external-helpers", + "transform-object-super", + "transform-shorthand-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/input.js new file mode 100644 index 000000000000..232d42042fdc --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/input.js @@ -0,0 +1,5 @@ +const foo = { + bar(props) { + ;({ x, ...super.client } = props) + } +} diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/options.json b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/options.json new file mode 100644 index 000000000000..7975cd686c73 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern-1/options.json @@ -0,0 +1,8 @@ +{ + "plugins": [ + "external-helpers", + "transform-object-super", + "transform-shorthand-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +} diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/input.js b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/input.js new file mode 100644 index 000000000000..5400ca56b6b6 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/input.js @@ -0,0 +1,5 @@ +const foo = { + bar(props) { + ;({ client: super.client } = props) + } +} \ No newline at end of file diff --git a/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/options.json b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/options.json new file mode 100644 index 000000000000..7975cd686c73 --- /dev/null +++ b/packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-destructuring-object-pattern/options.json @@ -0,0 +1,8 @@ +{ + "plugins": [ + "external-helpers", + "transform-object-super", + "transform-shorthand-properties" + ], + "throws": "Destructuring to a super field is not supported yet." +}