Skip to content

Commit

Permalink
feat(deprecation): deprecate @vnode hooks in favor of vue: prefix
Browse files Browse the repository at this point in the history
  • Loading branch information
yyx990803 committed Apr 21, 2023
1 parent fe76224 commit 5f0394a
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
6 changes: 6 additions & 0 deletions packages/compiler-core/src/errors.ts
Expand Up @@ -97,6 +97,9 @@ export const enum ErrorCodes {
X_CACHE_HANDLER_NOT_SUPPORTED,
X_SCOPE_ID_NOT_SUPPORTED,

// deprecations
DEPRECATION_VNODE_HOOKS,

// 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
// item.
Expand Down Expand Up @@ -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_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
[ErrorCodes.__EXTEND_POINT__]: ``
}
6 changes: 5 additions & 1 deletion packages/compiler-core/src/transforms/vOn.ts
Expand Up @@ -43,7 +43,11 @@ export const transformOn: DirectiveTransform = (
if (arg.type === NodeTypes.SIMPLE_EXPRESSION) {
if (arg.isStatic) {
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:')) {
rawName = `vnode-${rawName.slice(4)}`
}
Expand Down
2 changes: 1 addition & 1 deletion packages/compiler-dom/src/errors.ts
Expand Up @@ -21,7 +21,7 @@ export function createDOMCompilerError(
}

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_TEXT_NO_EXPRESSION,
X_V_TEXT_WITH_CHILDREN,
Expand Down

0 comments on commit 5f0394a

Please sign in to comment.