diff --git a/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx b/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx index 5f9e4ac03736..31834a871a2b 100644 --- a/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx +++ b/packages/eslint-plugin/docs/rules/prefer-literal-enum-member.mdx @@ -38,12 +38,14 @@ This rule reports when an enum member is given a value that is not a literal. ```ts const str = 'Test'; +const string1 = 'string1'; +const string2 = 'string2'; + enum Invalid { A = str, // Variable assignment - B = {}, // Object assignment - C = `A template literal string`, // Template literal - D = new Set(1, 2, 3), // Constructor in assignment - E = 2 + 2, // Expression assignment + B = `Interpolates ${string1} and ${string2}`, // Template literal with interpolation + C = 2 + 2, // Expression assignment + D = C, // Assignment to another enum member } ``` @@ -52,11 +54,10 @@ enum Invalid { ```ts enum Valid { - A, + A, // No initializer; initialized with ascending integers starting from 0 B = 'TestStr', // A regular string - C = 4, // A number - D = null, - E = /some_regex/, + C = `A template literal string`, // A template literal without interpolation + D = 4, // A number } ``` 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 dcc31ba5742a..65336c9d2051 100644 --- a/packages/eslint-plugin/src/rules/prefer-literal-enum-member.ts +++ b/packages/eslint-plugin/src/rules/prefer-literal-enum-member.ts @@ -13,7 +13,7 @@ export default createRule({ requiresTypeChecking: false, }, messages: { - notLiteral: `Explicit enum value must only be a literal value (string, number, boolean, etc).`, + notLiteral: `Explicit enum value must only be a literal value (string or number).`, }, schema: [ { diff --git a/packages/eslint-plugin/tests/docs-eslint-output-snapshots/prefer-literal-enum-member.shot b/packages/eslint-plugin/tests/docs-eslint-output-snapshots/prefer-literal-enum-member.shot index c9938b4bbb47..687ca0e7747a 100644 --- a/packages/eslint-plugin/tests/docs-eslint-output-snapshots/prefer-literal-enum-member.shot +++ b/packages/eslint-plugin/tests/docs-eslint-output-snapshots/prefer-literal-enum-member.shot @@ -4,16 +4,18 @@ exports[`Validating rule docs prefer-literal-enum-member.mdx code examples ESLin "Incorrect const str = 'Test'; +const string1 = 'string1'; +const string2 = 'string2'; + enum Invalid { A = str, // Variable assignment - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). - B = {}, // Object assignment - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). - C = \`A template literal string\`, // Template literal - D = new Set(1, 2, 3), // Constructor in assignment - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). - E = 2 + 2, // Expression assignment - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). + B = \`Interpolates \${string1} and \${string2}\`, // Template literal with interpolation + ~ Explicit enum value must only be a literal value (string or number). + C = 2 + 2, // Expression assignment + ~ Explicit enum value must only be a literal value (string or number). + D = C, // Assignment to another enum member + ~ Explicit enum value must only be a literal value (string or number). } " `; @@ -22,11 +24,10 @@ exports[`Validating rule docs prefer-literal-enum-member.mdx code examples ESLin "Correct enum Valid { - A, + A, // No initializer; initialized with ascending integers starting from 0 B = 'TestStr', // A regular string - C = 4, // A number - D = null, - E = /some_regex/, + C = \`A template literal string\`, // A template literal without interpolation + D = 4, // A number } " `; @@ -38,19 +39,19 @@ Options: { "allowBitwiseExpressions": true } const x = 1; enum Foo { A = x << 0, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). B = x >> 0, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). C = x >>> 0, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). D = x | 0, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). E = x & 0, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). F = x ^ 0, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). G = ~x, - ~ Explicit enum value must only be a literal value (string, number, boolean, etc). + ~ Explicit enum value must only be a literal value (string or number). } " `;
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: