mirror of https://github.com/vuejs/core.git
feat(deprecation): deprecate @vnode hooks in favor of vue: prefix
This commit is contained in:
parent
fe762247f8
commit
5f0394a5ab
|
@ -97,6 +97,9 @@ export const enum ErrorCodes {
|
||||||
X_CACHE_HANDLER_NOT_SUPPORTED,
|
X_CACHE_HANDLER_NOT_SUPPORTED,
|
||||||
X_SCOPE_ID_NOT_SUPPORTED,
|
X_SCOPE_ID_NOT_SUPPORTED,
|
||||||
|
|
||||||
|
// deprecations
|
||||||
|
DEPRECATION_VNODE_HOOKS,
|
||||||
|
|
||||||
// Special value for higher-order compilers to pick up the last code
|
// Special value for higher-order compilers to pick up the last code
|
||||||
// to avoid collision of error codes. This should always be kept as the last
|
// to avoid collision of error codes. This should always be kept as the last
|
||||||
// item.
|
// item.
|
||||||
|
@ -179,6 +182,9 @@ export const errorMessages: Record<ErrorCodes, string> = {
|
||||||
[ErrorCodes.X_CACHE_HANDLER_NOT_SUPPORTED]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
|
[ErrorCodes.X_CACHE_HANDLER_NOT_SUPPORTED]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
|
||||||
[ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED]: `"scopeId" option is only supported in module mode.`,
|
[ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED]: `"scopeId" option is only supported in module mode.`,
|
||||||
|
|
||||||
|
// deprecations
|
||||||
|
[ErrorCodes.DEPRECATION_VNODE_HOOKS]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted.`,
|
||||||
|
|
||||||
// just to fulfill types
|
// just to fulfill types
|
||||||
[ErrorCodes.__EXTEND_POINT__]: ``
|
[ErrorCodes.__EXTEND_POINT__]: ``
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,11 @@ export const transformOn: DirectiveTransform = (
|
||||||
if (arg.type === NodeTypes.SIMPLE_EXPRESSION) {
|
if (arg.type === NodeTypes.SIMPLE_EXPRESSION) {
|
||||||
if (arg.isStatic) {
|
if (arg.isStatic) {
|
||||||
let rawName = arg.content
|
let rawName = arg.content
|
||||||
// TODO deprecate @vnodeXXX usage
|
if (__DEV__ && rawName.startsWith('vnode')) {
|
||||||
|
context.onWarn(
|
||||||
|
createCompilerError(ErrorCodes.DEPRECATION_VNODE_HOOKS, arg.loc)
|
||||||
|
)
|
||||||
|
}
|
||||||
if (rawName.startsWith('vue:')) {
|
if (rawName.startsWith('vue:')) {
|
||||||
rawName = `vnode-${rawName.slice(4)}`
|
rawName = `vnode-${rawName.slice(4)}`
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ export function createDOMCompilerError(
|
||||||
}
|
}
|
||||||
|
|
||||||
export const enum DOMErrorCodes {
|
export const enum DOMErrorCodes {
|
||||||
X_V_HTML_NO_EXPRESSION = 51 /* ErrorCodes.__EXTEND_POINT__ */,
|
X_V_HTML_NO_EXPRESSION = 52 /* ErrorCodes.__EXTEND_POINT__ */,
|
||||||
X_V_HTML_WITH_CHILDREN,
|
X_V_HTML_WITH_CHILDREN,
|
||||||
X_V_TEXT_NO_EXPRESSION,
|
X_V_TEXT_NO_EXPRESSION,
|
||||||
X_V_TEXT_WITH_CHILDREN,
|
X_V_TEXT_WITH_CHILDREN,
|
||||||
|
|
Loading…
Reference in New Issue