From f3bf6a1791c9dc64bb18d45712f07767c9f96cbd Mon Sep 17 00:00:00 2001 From: Daniil Dubrava Date: Thu, 19 Nov 2020 23:19:14 +0300 Subject: [PATCH] fix(eslint-plugin): [prefer-literal-enum-member] allow pure template literal strings (#2786) --- .../eslint-plugin/src/rules/prefer-literal-enum-member.ts | 7 +++++++ .../tests/rules/prefer-literal-enum-member.test.ts | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/prefer-literal-enum-member.ts b/packages/eslint-plugin/src/rules/prefer-literal-enum-member.ts index 4377b29dc8f..9843afeef4f 100644 --- a/packages/eslint-plugin/src/rules/prefer-literal-enum-member.ts +++ b/packages/eslint-plugin/src/rules/prefer-literal-enum-member.ts @@ -29,6 +29,13 @@ export default createRule({ if (node.initializer.type === AST_NODE_TYPES.Literal) { return; } + // TemplateLiteral without expressions + if ( + node.initializer.type === AST_NODE_TYPES.TemplateLiteral && + node.initializer.expressions.length === 0 + ) { + return; + } // -1 and +1 if ( node.initializer.type === AST_NODE_TYPES.UnaryExpression && diff --git a/packages/eslint-plugin/tests/rules/prefer-literal-enum-member.test.ts b/packages/eslint-plugin/tests/rules/prefer-literal-enum-member.test.ts index 1f5efac8027..5459c42d51e 100644 --- a/packages/eslint-plugin/tests/rules/prefer-literal-enum-member.test.ts +++ b/packages/eslint-plugin/tests/rules/prefer-literal-enum-member.test.ts @@ -18,6 +18,11 @@ enum ValidString { } `, ` +enum ValidLiteral { + A = \`test\`, +} + `, + ` enum ValidNumber { A = 42, } @@ -90,7 +95,7 @@ enum InvalidArray { { code: ` enum InvalidTemplateLiteral { - A = \`a\`, + A = \`foo \${0}\`, } `, errors: [