You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
601 B
TypeScript
25 lines
601 B
TypeScript
import { defineLoader } from "vitepress"
|
|
import { Octokit } from "@octokit/rest"
|
|
import type { GetResponseDataTypeFromEndpointMethod } from "@octokit/types"
|
|
|
|
const octokit = new Octokit()
|
|
|
|
type GitHubRelease = GetResponseDataTypeFromEndpointMethod<typeof octokit.repos.getLatestRelease>
|
|
|
|
export interface AppRelease {
|
|
stable: GitHubRelease
|
|
}
|
|
|
|
declare const data: AppRelease
|
|
export { data }
|
|
|
|
export default defineLoader({
|
|
async load(): Promise<AppRelease> {
|
|
const { data: stable } = await octokit.repos.getLatestRelease({
|
|
owner: "KotatsuApp",
|
|
repo: "Kotatsu",
|
|
})
|
|
|
|
return { stable }
|
|
},
|
|
}) |