Props declared without types
Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
props is declared with the array shorthand (props: ['a', 'b']), which records only names. Object syntax with type/required/default catches wrong-type props at dev time and documents the component contract.
Why it matters
The array shorthand for props (props: ['title', 'count']) records only the names, with no type, no required flag, and no default. Wrong-type or missing props then pass silently and surface later as confusing runtime errors deep in the template. Typed prop definitions catch these at development time and double as documentation of the component's contract.
How to fix it
Convert props to the object form: for each prop give at least a type, and add required: true or a default where appropriate (props: { title: { type: String, required: true } }). In TypeScript projects with the Composition API, use a typed defineProps generic instead. Keep the same prop names so callers do not change.
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo