unvalidated-json-parse
JSON.parse() result has properties accessed without type validation
Applies to: JavaScript, TypeScript
Why this matters
JSON.parse() returns `any` in TypeScript. Without runtime validation (Zod, type guard, etc.), property access on the result is unchecked. If the JSON doesn't contain the expected properties, you get silent undefined values that cause bugs downstream. Validate the shape before accessing properties.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, TYPE013 includedstablestack explain TYPE013TYPE013 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: TYPE013
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