Will It Vibe logoWill It Vibe?
VUE-011Low severity-4 points

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

Related Code Quality & Syntax checks