From 8c5a5cfae164b7188b9ce7297c13201cb22856de Mon Sep 17 00:00:00 2001 From: Patrick Pircher Date: Tue, 22 Aug 2023 06:22:58 +0200 Subject: [PATCH] fix no empty glimmer class --- lib/rules/no-empty-glimmer-component-classes.js | 4 +--- tests/lib/rules/no-empty-glimmer-component-classes.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/rules/no-empty-glimmer-component-classes.js b/lib/rules/no-empty-glimmer-component-classes.js index a8af9694a8..cdd7c07cc6 100644 --- a/lib/rules/no-empty-glimmer-component-classes.js +++ b/lib/rules/no-empty-glimmer-component-classes.js @@ -1,7 +1,6 @@ 'use strict'; const { isGlimmerComponent } = require('../utils/ember'); -const { isClassPropertyOrPropertyDefinition } = require('../utils/types'); const ERROR_MESSAGE = 'Do not create empty backing classes for Glimmer components.'; const ERROR_MESSAGE_TEMPLATE_TAG = @@ -40,8 +39,7 @@ module.exports = { context.report({ node, message: ERROR_MESSAGE }); } else if ( node.body.body.length === 1 && - (isClassPropertyOrPropertyDefinition(node.body.body[0]) || - node.body.body[0].type === 'GlimmerTemplate') && + node.body.body[0].type === 'GlimmerTemplate' && !subClassHasTypeDefinition ) { context.report({ node, message: ERROR_MESSAGE_TEMPLATE_TAG }); diff --git a/tests/lib/rules/no-empty-glimmer-component-classes.js b/tests/lib/rules/no-empty-glimmer-component-classes.js index be70e33d8a..394be8622b 100644 --- a/tests/lib/rules/no-empty-glimmer-component-classes.js +++ b/tests/lib/rules/no-empty-glimmer-component-classes.js @@ -55,6 +55,16 @@ ruleTester.run('no-empty-glimmer-component-classes', rule, { code: ` import Component from '@glimmer/component'; + export default class MyComponent extends Component { + property = ''; + } + `, + parser: require.resolve('@typescript-eslint/parser'), + }, + { + code: ` + import Component from '@glimmer/component'; + export interface SomeSig {} export interface SomeOtherSig {}