Deprecated .sync modifier
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
The .sync modifier on a bound prop was removed in Vue 3, replaced by v-model with an argument (v-model:prop). Code using it will not work after a Vue 3 upgrade.
Why it matters
The .sync modifier was a Vue 2 shorthand for a two-way prop binding and was removed in Vue 3. Templates that still use it will not compile the same way after an upgrade, so the two-way binding silently stops working. Even on Vue 2 it is worth migrating ahead of time.
How to fix it
Replace :prop.sync="value" with v-model:prop="value", which is the Vue 3 equivalent. On the child side, make sure the component emits update:prop for that value. If you are still on Vue 2 and cannot upgrade yet, at least standardize on the emit-plus-prop pattern so the later migration is mechanical.
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