From ebbd873c7f78be673f8c732cec25b7936267ee38 Mon Sep 17 00:00:00 2001 From: chrisshank Date: Mon, 25 Jan 2021 21:24:56 -0800 Subject: [PATCH] feat(template-compiler-options): expose config to add custom elements --- src/node/config.ts | 5 ++++- src/node/plugin.ts | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/node/config.ts b/src/node/config.ts index d5af0e59..6ac2cd52 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -21,6 +21,7 @@ export interface UserConfig { alias?: Record markdown?: MarkdownOptions customData?: any + isCustomElement?: (tag: string) => boolean | void } export interface SiteConfig { @@ -33,6 +34,7 @@ export interface SiteConfig { alias: AliasOptions pages: string[] markdown?: MarkdownOptions + isCustomElement?: (tag: string) => boolean | void } const resolve = (root: string, file: string) => @@ -59,7 +61,8 @@ export async function resolveConfig( outDir: resolve(root, 'dist'), tempDir: path.resolve(APP_PATH, 'temp'), markdown: userConfig.markdown, - alias: resolveAliases(themeDir, userConfig) + alias: resolveAliases(themeDir, userConfig), + isCustomElement: userConfig.isCustomElement } return config diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 1cebd379..11c589c0 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -24,14 +24,17 @@ const isPageChunk = ( export function createVitePressPlugin( root: string, - { configPath, alias, markdown, site }: SiteConfig, + { configPath, alias, markdown, site, isCustomElement }: SiteConfig, ssr = false, pageToHashMap?: Record ): Plugin[] { const markdownToVue = createMarkdownToVueRenderFn(root, markdown) const vuePlugin = createVuePlugin({ - include: [/\.vue$/, /\.md$/] + include: [/\.vue$/, /\.md$/], + template: { + compilerOptions: { isCustomElement } + } }) let siteData = site