From 7ccf1e4c53dced77d66c2c64221dea3d08475384 Mon Sep 17 00:00:00 2001 From: Noblet Ouways <91417411+Dsaquel@users.noreply.github.com> Date: Mon, 7 Jul 2025 16:30:02 +0200 Subject: [PATCH] refactor(docs): partially remove typecript errors (#21099) * refactor(docs): partially remove typecript errors * chore: cleanup * chore: refact Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com> * docs: typo fix type error --------- Co-authored-by: sea <45450994+warmthsea@users.noreply.github.com> Co-authored-by: Wanghua3819 <2586244885@qq.com> --- docs/.vitepress/config/sponsors.ts | 24 ++++++++-- docs/.vitepress/config/vite.ts | 8 ++-- docs/.vitepress/theme/index.ts | 7 +-- .../doc-content/vp-last-updated-at.vue | 47 ------------------- .../vitepress/components/globals/icons.vue | 6 +-- .../components/home/sponsor-list.vue | 14 +++--- .../vitepress/components/navbar/vp-search.vue | 2 +- .../sponsors/right-logo-small-list.vue | 5 +- .../vitepress/components/vp-sponsor-large.vue | 10 ++-- .../vitepress/composables/lock-screen.ts | 3 +- .../vitepress/composables/social-links.ts | 4 +- docs/components.d.ts | 1 - docs/package.json | 4 +- docs/tsconfig.json | 2 + pnpm-lock.yaml | 20 ++++---- 15 files changed, 65 insertions(+), 92 deletions(-) delete mode 100644 docs/.vitepress/vitepress/components/doc-content/vp-last-updated-at.vue diff --git a/docs/.vitepress/config/sponsors.ts b/docs/.vitepress/config/sponsors.ts index 006aeb9114..2f7224702f 100644 --- a/docs/.vitepress/config/sponsors.ts +++ b/docs/.vitepress/config/sponsors.ts @@ -1,6 +1,20 @@ -export const rightRichTextSponsors = [] +export type Sponsor = { + url: string + name_cn?: string + name: string + slogan_cn?: string + slogan: string + img: string + isDark?: boolean + imgL?: string + slogan_index?: string + banner_img?: string + className?: string +} -export const rightBigLogoSponsors = [ +export const rightRichTextSponsors: Sponsor[] = [] + +export const rightBigLogoSponsors: Sponsor[] = [ { name: 'CRMEB', img: '/images/CRMEB.png', @@ -12,7 +26,7 @@ export const rightBigLogoSponsors = [ }, ] -export const rightLogoSmallSponsors = [ +export const rightLogoSmallSponsors: Sponsor[] = [ { name: 'BuildAdmin', img: '/images/buildadmin.png', @@ -39,7 +53,7 @@ export const rightLogoSmallSponsors = [ }, ] -export const leftCustomImgSponsors = [ +export const leftCustomImgSponsors: Sponsor[] = [ { name: '美乐', img: '/images/mele.png', @@ -73,6 +87,6 @@ export const platinumSponsors = [ ...rightRichTextSponsors, ] -export const leftLogoSponsors = [] +export const leftLogoSponsors: Sponsor[] = [] export const goldSponsors = [...rightLogoSmallSponsors, ...leftLogoSponsors] diff --git a/docs/.vitepress/config/vite.ts b/docs/.vitepress/config/vite.ts index 5954d60d40..1684927f09 100644 --- a/docs/.vitepress/config/vite.ts +++ b/docs/.vitepress/config/vite.ts @@ -93,20 +93,20 @@ export const getViteConfig = ({ mode }: { mode: string }): ViteConfig => { // allow auto import and register components used in markdown include: [/\.vue$/, /\.vue\?vue/, /\.md$/], - }), + }) as Plugin, // https://github.com/antfu/unplugin-icons Icons({ autoInstall: true, - }), + }) as Plugin, UnoCSS({ inspector: false, }), - MarkdownTransform(), + MarkdownTransform() as Plugin, Inspect(), - groupIconVitePlugin(), + groupIconVitePlugin() as Plugin, env.HTTPS ? (mkcert() as Plugin) : undefined, ], optimizeDeps: { diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 7b475f9613..980a870ec5 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -5,23 +5,24 @@ import ElementPlus, { import { isClient } from '@vueuse/core' import VPApp, { NotFound, globals } from '../vitepress' import { define } from '../utils/types' - import 'uno.css' import './style.css' import 'vitepress/dist/client/theme-default/styles/components/vp-code-group.css' import 'virtual:group-icons.css' + +import type { Component } from 'vue' import type { Theme } from 'vitepress' export default define({ NotFound, Layout: VPApp, enhanceApp: async ({ app, router }) => { - app.use(ElementPlus) + app.use(ElementPlus as any) app.provide(ID_INJECTION_KEY, { prefix: 1024, current: 0 }) app.provide(ZINDEX_INJECTION_KEY, { current: 0 }) globals.forEach(([name, Comp]) => { - app.component(name, Comp) + app.component(name, Comp as Component) }) if (!isClient) return const nprogress = await import('nprogress') diff --git a/docs/.vitepress/vitepress/components/doc-content/vp-last-updated-at.vue b/docs/.vitepress/vitepress/components/doc-content/vp-last-updated-at.vue deleted file mode 100644 index 51fd60e3f2..0000000000 --- a/docs/.vitepress/vitepress/components/doc-content/vp-last-updated-at.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/docs/.vitepress/vitepress/components/globals/icons.vue b/docs/.vitepress/vitepress/components/globals/icons.vue index 1184438787..1cf2ab5353 100644 --- a/docs/.vitepress/vitepress/components/globals/icons.vue +++ b/docs/.vitepress/vitepress/components/globals/icons.vue @@ -7,11 +7,11 @@ import { useLang } from '../../composables/lang' import localeData from '../../../i18n/component/icons.json' import IconCategories from './icons-categories.json' -import type { DefineComponent } from 'vue' +import type { Component, DefineComponent } from 'vue' type CategoriesItem = { name: string - icons: DefineComponent[] + icons: (DefineComponent | Component)[] } const lang = useLang() @@ -73,7 +73,7 @@ const filterCategories = computed(() => { return categories.value .map((category) => { const icons = category.icons.filter((icon) => { - return icon.name.toLowerCase().includes(query.value.toLowerCase()) + return icon.name?.toLowerCase().includes(query.value.toLowerCase()) }) return { ...category, icons } }) diff --git a/docs/.vitepress/vitepress/components/home/sponsor-list.vue b/docs/.vitepress/vitepress/components/home/sponsor-list.vue index c256aae195..2a104e339f 100644 --- a/docs/.vitepress/vitepress/components/home/sponsor-list.vue +++ b/docs/.vitepress/vitepress/components/home/sponsor-list.vue @@ -5,26 +5,28 @@ import { useLang } from '../../composables/lang' import sponsorLocale from '../../../i18n/component/sponsor.json' import { sendEvent } from '../../../config/analytics' +import type { Sponsor } from '../../../config/sponsors' + const onItemClick = (item: any) => { sendEvent('sp_click', item.name, 'index') } -defineProps({ - sponsors: Array, - sponsorType: String, -}) +defineProps<{ + sponsors: Sponsor[] + sponsorType: string +}>() const lang = useLang() const sponsorLang = computed(() => sponsorLocale[lang.value]) const langZhCN = 'zh-CN' -const getSponsorName = (sponsor) => { +const getSponsorName = (sponsor: Sponsor) => { if (lang.value === langZhCN) { return sponsor.name_cn || sponsor.name } return sponsor.name } -const getSponsorSlogan = (sponsor) => { +const getSponsorSlogan = (sponsor: Sponsor) => { if (lang.value === langZhCN) { if (sponsor.slogan_index) { return sponsor.slogan_index diff --git a/docs/.vitepress/vitepress/components/navbar/vp-search.vue b/docs/.vitepress/vitepress/components/navbar/vp-search.vue index f19e75d7b7..99af6a3cdb 100644 --- a/docs/.vitepress/vitepress/components/navbar/vp-search.vue +++ b/docs/.vitepress/vitepress/components/navbar/vp-search.vue @@ -2,10 +2,10 @@ import '@docsearch/css' import { getCurrentInstance, onMounted, watch } from 'vue' import { useRoute, useRouter } from 'vitepress' +//@ts-expect-error import docsearch from '@docsearch/js' import { isClient } from '@vueuse/core' import { useLang } from '../../composables/lang' -// import type { DefaultTheme } from '../config' import searchLocale from '../../../i18n/component/search.json' import type { DocSearchHit } from '@docsearch/react/dist/esm/types' diff --git a/docs/.vitepress/vitepress/components/sponsors/right-logo-small-list.vue b/docs/.vitepress/vitepress/components/sponsors/right-logo-small-list.vue index 12a23b78dd..e8600d54f2 100644 --- a/docs/.vitepress/vitepress/components/sponsors/right-logo-small-list.vue +++ b/docs/.vitepress/vitepress/components/sponsors/right-logo-small-list.vue @@ -10,10 +10,7 @@ const onItemClick = (item: any) => {