no-enum
Disallow TypeScript enum; use string-literal unions or as const objects instead.
Why
Literal unions keep type-only domains explicit, while constant objects make runtime values deliberate. This policy also avoids compiler-dependent const-enum inlining contracts.
Fix
Use a literal union or an as const object after checking runtime member access, numeric reverse mappings, serialized values, and public consumers.
Examples
enum Status { Active, Inactive,}type Status = "active" | "inactive";