UNPKG

igniteui-sassdoc-theme

Version:

Default SassDoc theme used in Ignite UI for Angular.

47 lines (38 loc) 1.31 kB
import fs from "fs-extra"; import path from "path"; import { fileURLToPath } from "url"; import { getConfig } from "./config"; import type { Context } from "../content/sassdoc-schema"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const projectRoot = path.resolve(__dirname); const OUT_PATH = path.join(projectRoot, "data", "versions.json"); export async function fetchVersions(ctx: Context): Promise<void> { const { url, versions: dataURL } = getConfig(ctx.language, ctx.environment); try { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 5000); const response = await fetch(dataURL, { signal: controller.signal }); clearTimeout(timeout); const payload = await response.json(); const versions = payload.folders .map((version: string) => ({ version: version, url: `${url}/products/ignite-ui-angular/docs/${version}/sass/`, })) .reverse(); fs.ensureDir(path.dirname(OUT_PATH)); fs.writeJsonSync(OUT_PATH, { versions, }); } catch (error) { console.error("Failed to fetch previous documentation versions.", error); fs.writeJsonSync(OUT_PATH, { versions: [ { version: "0.0.0", url: "#", }, ], }); } }