diff --git a/lib/rules/no-unused-vars.js b/lib/rules/no-unused-vars.js index c673348..6ddcff4 100644 --- a/lib/rules/no-unused-vars.js +++ b/lib/rules/no-unused-vars.js @@ -56,6 +56,9 @@ module.exports = { // just assume parameter properties are used context.markVariableAsUsed(node.name); }, + "TSEnumMember Identifier"(node) { + context.markVariableAsUsed(node.name); + }, }; }, }; diff --git a/tests/lib/rules/no-unused-vars.js b/tests/lib/rules/no-unused-vars.js index 8b5137d..5224fe0 100644 --- a/tests/lib/rules/no-unused-vars.js +++ b/tests/lib/rules/no-unused-vars.js @@ -501,6 +501,30 @@ export class Baz {} // warning 'B' is defined but never used export const a: Array<{b: B}> = [] `, + ` +export enum FormFieldIds { + PHONE = 'phone', + EMAIL = 'email', +} + `, + ` +enum FormFieldIds { + PHONE = 'phone', + EMAIL = 'email', +} +interface IFoo { + fieldName: FormFieldIds, +} + `, + ` +enum FormFieldIds { + PHONE = 'phone', + EMAIL = 'email', +} +interface IFoo { + fieldName: FormFieldIds.EMAIL, +} + `, ], invalid: [ @@ -709,5 +733,20 @@ new A(); }, ], }, + { + code: ` +enum FormFieldIds { + PHONE = 'phone', + EMAIL = 'email', +} + `, + errors: [ + { + message: "'FormFieldIds' is defined but never used.", + line: 2, + column: 6, + }, + ], + }, ], });