From 01e5a3c0c6bd4e42ff67b4fe1263ae994e1153d2 Mon Sep 17 00:00:00 2001 From: Neko Ayaka Date: Thu, 28 Dec 2023 17:16:09 +0800 Subject: [PATCH] chore(git-changelog): added types for virtual module Signed-off-by: Neko Ayaka --- .../src/client/components/Changelog.vue | 11 +++------ .../src/client/virtual.d.ts | 24 +++++++++++++++++++ .../tsconfig.json | 3 +++ 3 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 packages/vitepress-plugin-git-changelog/src/client/virtual.d.ts diff --git a/packages/vitepress-plugin-git-changelog/src/client/components/Changelog.vue b/packages/vitepress-plugin-git-changelog/src/client/components/Changelog.vue index 19327de3..4202e730 100644 --- a/packages/vitepress-plugin-git-changelog/src/client/components/Changelog.vue +++ b/packages/vitepress-plugin-git-changelog/src/client/components/Changelog.vue @@ -3,27 +3,22 @@ import dayjs from 'dayjs' import relativeTime from 'dayjs/plugin/relativeTime' import 'dayjs/locale/zh-cn' import { computed, ref } from 'vue' - -// @ts-expect-error virtual -import ChangelogData from 'virtual:nolebase-git-changelog' - import { useData } from 'vitepress' +import Changelog from 'virtual:nolebase-git-changelog' + import { useRawPath } from '../composables/path' import { useCommits } from '../composables/commits' import { renderCommitMessage } from '../utils' -import type { Changelog } from '../../types' import { useI18n } from '../composables/i18n' import VerticalTransition from './VerticalTransition.vue' -const changelogData = ChangelogData as Changelog - dayjs.extend(relativeTime) const toggleViewMore = ref(false) const rawPath = useRawPath() -const commits = useCommits(changelogData.commits, rawPath) +const commits = useCommits(Changelog.commits, rawPath) const { t } = useI18n() const { lang } = useData() diff --git a/packages/vitepress-plugin-git-changelog/src/client/virtual.d.ts b/packages/vitepress-plugin-git-changelog/src/client/virtual.d.ts new file mode 100644 index 00000000..05c7e1cd --- /dev/null +++ b/packages/vitepress-plugin-git-changelog/src/client/virtual.d.ts @@ -0,0 +1,24 @@ +interface Commit { + path: string[][] + tag?: string + release_tag_url?: string + hash: string + hash_url?: string + date: string + message: string + refs?: string + body?: string + author_name: string + author_email: string + author_avatar: string + repo_url?: string +} + +interface Changelog { + commits: Commit[] +} + +declare module 'virtual:nolebase-git-changelog' { + const changelog: Changelog + export default changelog +} diff --git a/packages/vitepress-plugin-git-changelog/tsconfig.json b/packages/vitepress-plugin-git-changelog/tsconfig.json index 92fb4c6e..647e9320 100644 --- a/packages/vitepress-plugin-git-changelog/tsconfig.json +++ b/packages/vitepress-plugin-git-changelog/tsconfig.json @@ -2,6 +2,9 @@ "extends": "../../tsconfig.json", "compilerOptions": { "composite": false, + "types": [ + "vite/client" + ], "noImplicitAny": false, "declaration": false, "noEmit": false,