inline-enum-duplication
Same enum values defined in multiple places - should use shared definition.
Applies to: JavaScript, TypeScript
Why this matters
When the same enum values are copy-pasted across files, adding or renaming a value requires changes in multiple places. This leads to values drifting out of sync, inconsistent validation, and bugs when one location is updated but others are missed. Define enums once (in Prisma schema, shared types, or constants) and import everywhere.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, TYPE011 includedstablestack explain TYPE011TYPE011 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: TYPE011
More Type Safety checks
weak-typing
Weak typing pattern (Dict[str, Any], List[Any]) loses type safety.
TYPE002naked-dict-for-structured-data
Using plain dict for structured data instead of dataclass/TypedDict.
TYPE004missing-type-hints
Function is missing type hints.
TYPE005inline-type-definition
Inline type definition instead of using shared/generated types.
TYPE006dict-type-inconsistency
Dict return type annotation doesn't match actual value types being assigned.
TYPE007duplicate-type-definition
Type definition may be duplicated across files.
TYPE008typescript-any
Explicit 'any' type defeats TypeScript's type safety
TYPE009env-non-null-assertion
Non-null assertion on env vars can cause runtime crashes