typescript/prefer-literal-enum-member Restriction ​
What it does ​
Explicit enum value must only be a literal value (string, number, boolean, etc).
Why is this bad? ​
TypeScript allows the value of an enum member to be many different kinds of valid JavaScript expressions. However, because enums create their own scope whereby each enum member becomes a variable in that scope, developers are often surprised at the resultant values.
Example ​
ts
const imOutside = 2;
const b = 2;
enum Foo {
outer = imOutside,
a = 1,
b = a,
c = b,
}