From 0482d1087ed7968b35b271fcc8d05dab9dbb5821 Mon Sep 17 00:00:00 2001 From: Bryan Mishkin <698306+bmish@users.noreply.github.com> Date: Fri, 1 Nov 2019 20:27:42 -0700 Subject: [PATCH] feat: update `no-new-mixins` rule to handle native classes --- lib/rules/no-new-mixins.js | 6 ++++++ tests/lib/rules/no-new-mixins.js | 20 ++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/rules/no-new-mixins.js b/lib/rules/no-new-mixins.js index e4bbd4f097..130c4ec993 100644 --- a/lib/rules/no-new-mixins.js +++ b/lib/rules/no-new-mixins.js @@ -27,6 +27,12 @@ module.exports = { context.report(node, ERROR_MESSAGE); } }, + + ClassDeclaration(node) { + if (ember.isEmberMixin(context, node)) { + context.report(node, ERROR_MESSAGE); + } + }, }; }, }; diff --git a/tests/lib/rules/no-new-mixins.js b/tests/lib/rules/no-new-mixins.js index fd8c23b31d..9f9b69c12a 100644 --- a/tests/lib/rules/no-new-mixins.js +++ b/tests/lib/rules/no-new-mixins.js @@ -29,11 +29,7 @@ eslintTester.run('no-new-mixins', rule, { export default Ember.Mixin.create({}); `, output: null, - errors: [ - { - message: ERROR_MESSAGE, - }, - ], + errors: [{ message: ERROR_MESSAGE, type: 'CallExpression' }], }, { code: ` @@ -42,11 +38,15 @@ eslintTester.run('no-new-mixins', rule, { export default Mixin.create({}); `, output: null, - errors: [ - { - message: ERROR_MESSAGE, - }, - ], + errors: [{ message: ERROR_MESSAGE, type: 'CallExpression' }], + }, + { + code: ` + import Mixin from "@ember/object/mixin"; + class MyMixin extends Mixin {} + `, + output: null, + errors: [{ message: ERROR_MESSAGE, type: 'ClassDeclaration' }], }, ], });