@@ -72,6 +72,9 @@ import VueSetupSFC, {
7272import VueShortEmits , {
7373type Options as OptionsShortEmits ,
7474} from '@vue-macros/short-emits'
75+ import VueShortVmodel , {
76+ type Options as OptionsShortVmodel ,
77+ } from '@vue-macros/short-vmodel'
7578
7679import { excludeDepOptimize } from './core'
7780import { generatePluginName } from '#macros' assert{ type :'macro' }
@@ -98,6 +101,7 @@ export interface FeatureOptionsMap {
98101setupComponent :OptionsSetupComponent
99102setupSFC :OptionsSetupSFC
100103shortEmits :OptionsShortEmits
104+ shortVmodel :OptionsShortVmodel
101105}
102106export type FeatureName = keyof FeatureOptionsMap
103107export type FeatureOptions = FeatureOptionsMap [ FeatureName ]
@@ -154,6 +158,7 @@ export function resolveOptions({
154158 setupComponent,
155159 setupSFC,
156160 shortEmits,
161+ shortVmodel,
157162} :Options ) :OptionsResolved {
158163function resolveSubOptions < K extends FeatureName > (
159164options :OptionalSubOptions < FeatureOptionsMap [ K ] > ,
@@ -244,6 +249,7 @@ export function resolveOptions({
244249{ version} ,
245250version < 3.3
246251) ,
252+ shortVmodel :resolveSubOptions < 'shortVmodel' > ( shortVmodel , { version} ) ,
247253}
248254}
249255
@@ -321,6 +327,9 @@ export default createCombinePlugin<Options | undefined>(
321327resolvePlugin ( VueHoistStatic , framework , options . hoistStatic ) ,
322328resolvePlugin ( VueDefineOptions , framework , options . defineOptions ) ,
323329resolvePlugin ( VueJsxDirective , framework , options . jsxDirective ) ,
330+ ( framework === 'vite' || framework === 'webpack' ) &&
331+ // VueShortVmodel is not an unplugin, by now
332+ resolvePlugin ( VueShortVmodel as any , framework , options . shortVmodel ) ,
324333options . plugins . vue ,
325334options . plugins . vueJsx ,
326335resolvePlugin ( VueDefineRender , framework , options . defineRender ) ,