feat: runtime component name validation (#217)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { createRenderer } from '@vue/runtime-core'
|
||||
import { isHTMLTag, isSVGTag } from '@vue/shared'
|
||||
import { nodeOps } from './nodeOps'
|
||||
import { patchProp } from './patchProp'
|
||||
|
||||
@@ -7,7 +8,19 @@ const { render, createApp } = createRenderer<Node, Element>({
|
||||
...nodeOps
|
||||
})
|
||||
|
||||
export { render, createApp }
|
||||
const wrappedCreateApp = () => {
|
||||
const app = createApp()
|
||||
// inject `isNativeTag` dev only
|
||||
Object.defineProperty(app.config, 'isNativeTag', {
|
||||
value: (tag: string) => isHTMLTag(tag) || isSVGTag(tag),
|
||||
writable: false
|
||||
})
|
||||
return app
|
||||
}
|
||||
|
||||
const exportedCreateApp = __DEV__ ? wrappedCreateApp : createApp
|
||||
|
||||
export { render, exportedCreateApp as createApp }
|
||||
|
||||
// DOM-only runtime helpers
|
||||
export {
|
||||
|
||||
Reference in New Issue
Block a user