mirror of https://github.com/vuejs/core.git
chore: experimental warnings for reactive props destructure and defineModel
This commit is contained in:
parent
bff63c5498
commit
d40d4a3380
|
@ -9,6 +9,7 @@ import {
|
||||||
unwrapTSNode
|
unwrapTSNode
|
||||||
} from './utils'
|
} from './utils'
|
||||||
import { BindingTypes } from '@vue/compiler-dom'
|
import { BindingTypes } from '@vue/compiler-dom'
|
||||||
|
import { warnOnce } from '../warn'
|
||||||
|
|
||||||
export const DEFINE_MODEL = 'defineModel'
|
export const DEFINE_MODEL = 'defineModel'
|
||||||
|
|
||||||
|
@ -26,6 +27,14 @@ export function processDefineModel(
|
||||||
if (!ctx.options.defineModel || !isCallOf(node, DEFINE_MODEL)) {
|
if (!ctx.options.defineModel || !isCallOf(node, DEFINE_MODEL)) {
|
||||||
return false
|
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
|
ctx.hasDefineModelCall = true
|
||||||
|
|
||||||
const type =
|
const type =
|
||||||
|
|
|
@ -21,6 +21,7 @@ import { genPropsAccessExp } from '@vue/shared'
|
||||||
import { isCallOf, resolveObjectKey, unwrapTSNode } from './utils'
|
import { isCallOf, resolveObjectKey, unwrapTSNode } from './utils'
|
||||||
import { ScriptCompileContext } from './context'
|
import { ScriptCompileContext } from './context'
|
||||||
import { DEFINE_PROPS } from './defineProps'
|
import { DEFINE_PROPS } from './defineProps'
|
||||||
|
import { warnOnce } from '../warn'
|
||||||
|
|
||||||
export function processPropsDestructure(
|
export function processPropsDestructure(
|
||||||
ctx: ScriptCompileContext,
|
ctx: ScriptCompileContext,
|
||||||
|
@ -30,6 +31,13 @@ export function processPropsDestructure(
|
||||||
return
|
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
|
ctx.propsDestructureDecl = declId
|
||||||
|
|
||||||
const registerBinding = (
|
const registerBinding = (
|
||||||
|
|
Loading…
Reference in New Issue