Evan You 5 лет назад
Родитель
Сommit
7a25cbb7a7

+ 2 - 2
packages/runtime-core/src/apiWatch.ts

@@ -226,7 +226,7 @@ function doWatch(
       const val = baseGetter()
       if (
         isArray(val) &&
-        softAssertCompatEnabled(DeprecationTypes.WATCH_ARRAY)
+        softAssertCompatEnabled(DeprecationTypes.WATCH_ARRAY, instance)
       ) {
         traverse(val)
       }
@@ -277,7 +277,7 @@ function doWatch(
         hasChanged(newValue, oldValue) ||
         (__COMPAT__ &&
           isArray(newValue) &&
-          isCompatEnabled(DeprecationTypes.WATCH_ARRAY))
+          isCompatEnabled(DeprecationTypes.WATCH_ARRAY, instance))
       ) {
         // cleanup before running cb again
         if (cleanup) {

+ 1 - 1
packages/runtime-core/src/compat/deprecations.ts

@@ -1,4 +1,4 @@
-import { hasOwn, isArray } from '@vue/shared/src'
+import { hasOwn, isArray } from '@vue/shared'
 import {
   ComponentInternalInstance,
   ComponentOptions,

+ 1 - 1
packages/runtime-core/src/renderer.ts

@@ -443,7 +443,7 @@ function baseCreateRenderer(
   createHydrationFns?: typeof createHydrationFunctions
 ): any {
   const isHookEventCompatEnabled =
-    __COMPAT__ && isCompatEnabled(DeprecationTypes.INSTANCE_EVENT_HOOKS)
+    __COMPAT__ && isCompatEnabled(DeprecationTypes.INSTANCE_EVENT_HOOKS, null)
 
   // compile-time feature flags check
   if (__ESM_BUNDLER__ && !__TEST__) {

+ 1 - 1
packages/runtime-dom/src/components/Transition.ts

@@ -103,7 +103,7 @@ export function resolveTransitionProps(
   // legacy transition class compat
   const legacyClassEnabled =
     __COMPAT__ &&
-    compatUtils.isCompatEnabled(DeprecationTypes.TRANSITION_CLASSES)
+    compatUtils.isCompatEnabled(DeprecationTypes.TRANSITION_CLASSES, null)
   let legacyEnterFromClass: string
   let legacyAppearFromClass: string
   let legacyLeaveFromClass: string

+ 2 - 1
packages/runtime-dom/src/components/TransitionGroup.ts

@@ -107,7 +107,8 @@ const TransitionGroupImpl = {
         __COMPAT__ &&
         !rawProps.tag &&
         compatUtils.softAssertCompatEnabled(
-          DeprecationTypes.TRANSITION_GROUP_ROOT
+          DeprecationTypes.TRANSITION_GROUP_ROOT,
+          instance.parent
         )
       ) {
         tag = 'span'

+ 15 - 5
packages/runtime-dom/src/directives/vOn.ts

@@ -2,7 +2,8 @@ import {
   getCurrentInstance,
   DeprecationTypes,
   LegacyConfig,
-  compatUtils
+  compatUtils,
+  ComponentInternalInstance
 } from '@vue/runtime-core'
 import { hyphenate, isArray } from '@vue/shared'
 
@@ -58,16 +59,22 @@ const keyNames: Record<string, string | string[]> = {
  */
 export const withKeys = (fn: Function, modifiers: string[]) => {
   let globalKeyCodes: LegacyConfig['keyCodes']
+  let instance: ComponentInternalInstance | null = null
   if (__COMPAT__) {
-    if (compatUtils.isCompatEnabled(DeprecationTypes.CONFIG_KEY_CODES)) {
-      const instance = getCurrentInstance()
+    instance = getCurrentInstance()
+    if (
+      compatUtils.isCompatEnabled(DeprecationTypes.CONFIG_KEY_CODES, instance)
+    ) {
       if (instance) {
         globalKeyCodes = ((instance.appContext.config as any) as LegacyConfig)
           .keyCodes
       }
     }
     if (__DEV__ && modifiers.some(m => /^\d+$/.test(m))) {
-      compatUtils.warnDeprecation(DeprecationTypes.V_ON_KEYCODE_MODIFIER)
+      compatUtils.warnDeprecation(
+        DeprecationTypes.V_ON_KEYCODE_MODIFIER,
+        instance
+      )
     }
   }
 
@@ -84,7 +91,10 @@ export const withKeys = (fn: Function, modifiers: string[]) => {
     if (__COMPAT__) {
       const keyCode = String(event.keyCode)
       if (
-        compatUtils.isCompatEnabled(DeprecationTypes.V_ON_KEYCODE_MODIFIER) &&
+        compatUtils.isCompatEnabled(
+          DeprecationTypes.V_ON_KEYCODE_MODIFIER,
+          instance
+        ) &&
         modifiers.some(mod => mod == keyCode)
       ) {
         return fn(event)

+ 4 - 1
packages/runtime-dom/src/index.ts

@@ -78,7 +78,10 @@ export const createApp = ((...args) => {
         for (let i = 0; i < container.attributes.length; i++) {
           const attr = container.attributes[i]
           if (attr.name !== 'v-cloak' && /^(v-|:|@)/.test(attr.name)) {
-            compatUtils.warnDeprecation(DeprecationTypes.GLOBAL_MOUNT_CONTAINER)
+            compatUtils.warnDeprecation(
+              DeprecationTypes.GLOBAL_MOUNT_CONTAINER,
+              null
+            )
             break
           }
         }

+ 6 - 1
packages/runtime-dom/src/modules/attrs.ts

@@ -54,6 +54,7 @@ export function compatCoerceAttr(
       v2CocercedValue &&
       compatUtils.softAssertCompatEnabled(
         DeprecationTypes.ATTR_ENUMERATED_COERSION,
+        null,
         key,
         value,
         v2CocercedValue
@@ -65,7 +66,11 @@ export function compatCoerceAttr(
   } else if (
     value === false &&
     !isSpecialBooleanAttr(key) &&
-    compatUtils.softAssertCompatEnabled(DeprecationTypes.ATTR_FALSE_VALUE, key)
+    compatUtils.softAssertCompatEnabled(
+      DeprecationTypes.ATTR_FALSE_VALUE,
+      null,
+      key
+    )
   ) {
     el.removeAttribute(key)
     return true