From: Wick Date: Sun, 25 Feb 2024 12:41:08 +0000 (+0800) Subject: chore(runtime-core): optimize validateComponentName (#10378) X-Git-Tag: v3.4.20~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76c9c742e9b045d1342f5952866972498e59f00b;p=thirdparty%2Fvuejs%2Fcore.git chore(runtime-core): optimize validateComponentName (#10378) --- diff --git a/packages/runtime-core/src/apiCreateApp.ts b/packages/runtime-core/src/apiCreateApp.ts index a1bf09fd21..65c10166de 100644 --- a/packages/runtime-core/src/apiCreateApp.ts +++ b/packages/runtime-core/src/apiCreateApp.ts @@ -84,7 +84,7 @@ export type OptionMergeFunction = (to: unknown, from: unknown) => any export interface AppConfig { // @private - readonly isNativeTag?: (tag: string) => boolean + readonly isNativeTag: (tag: string) => boolean performance: boolean optionMergeStrategies: Record diff --git a/packages/runtime-core/src/component.ts b/packages/runtime-core/src/component.ts index ed1f8efee5..2ad0a66f18 100644 --- a/packages/runtime-core/src/component.ts +++ b/packages/runtime-core/src/component.ts @@ -61,7 +61,6 @@ import { import { EMPTY_OBJ, type IfAny, - NO, NOOP, ShapeFlags, extend, @@ -707,9 +706,11 @@ export const unsetCurrentInstance = () => { const isBuiltInTag = /*#__PURE__*/ makeMap('slot,component') -export function validateComponentName(name: string, config: AppConfig) { - const appIsNativeTag = config.isNativeTag || NO - if (isBuiltInTag(name) || appIsNativeTag(name)) { +export function validateComponentName( + name: string, + { isNativeTag }: AppConfig, +) { + if (isBuiltInTag(name) || isNativeTag(name)) { warn( 'Do not use built-in or reserved HTML elements as component id: ' + name, )