chore: experimental warnings for reactive props destructure and defineModel

This commit is contained in:
Evan You 2023-05-02 16:23:02 +08:00
parent bff63c5498
commit d40d4a3380
2 changed files with 17 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import {
unwrapTSNode
} from './utils'
import { BindingTypes } from '@vue/compiler-dom'
import { warnOnce } from '../warn'
export const DEFINE_MODEL = 'defineModel'
@ -26,6 +27,14 @@ export function processDefineModel(
if (!ctx.options.defineModel || !isCallOf(node, DEFINE_MODEL)) {
return false
}
warnOnce(
`This project is using defineModel(), which is an experimental ` +
` feature. It may receive breaking changes or be removed in the future, so ` +
`use at your own risk.\n` +
`To stay updated, follow the RFC at https://github.com/vuejs/rfcs/discussions/503.`
)
ctx.hasDefineModelCall = true
const type =

View File

@ -21,6 +21,7 @@ import { genPropsAccessExp } from '@vue/shared'
import { isCallOf, resolveObjectKey, unwrapTSNode } from './utils'
import { ScriptCompileContext } from './context'
import { DEFINE_PROPS } from './defineProps'
import { warnOnce } from '../warn'
export function processPropsDestructure(
ctx: ScriptCompileContext,
@ -30,6 +31,13 @@ export function processPropsDestructure(
return
}
warnOnce(
`This project is using reactive props destructure, which is an experimental ` +
` feature. It may receive breaking changes or be removed in the future, so ` +
`use at your own risk.\n` +
`To stay updated, follow the RFC at https://github.com/vuejs/rfcs/discussions/502.`
)
ctx.propsDestructureDecl = declId
const registerBinding = (