import { globSync } from "node:fs"; /** * @type {Partial} */ const config = { entryPoints: ["./src", "./test/test-utils"], entryPointStrategy: "expand", exclude: ["**/*+.test.ts", "src/polyfills.ts", "src/vite.env.d.ts"], excludeReferences: true, // prevent documenting re-exports requiredToBeDocumented: [ "Enum", "EnumMember", "Variable", "Function", "Class", "Interface", "Property", "Method", "Accessor", "TypeAlias", ], highlightLanguages: ["javascript", "json", "jsonc", "json5", "tsx", "typescript", "markdown"], plugin: [ "typedoc-github-theme", "typedoc-plugin-coverage", "typedoc-plugin-mdn-links", ...globSync("./typedoc-plugins/**/*.js").map(plugin => "./" + plugin), ], // Avoid emitting docs for branches other than main/beta emit: process.env.DRY_RUN ? "none" : "docs", out: process.env.CI ? "/tmp/docs" : "./typedoc", name: "PokéRogue", readme: "./README.md", coverageLabel: "Documented", coverageSvgWidth: 120, // Increased from 104 baseline due to adding 2 extra letters favicon: "./public/images/logo.png", theme: "typedoc-github-theme", customFooterHtml: "

Copyright Pagefault Games 2025

", customFooterHtmlDisableWrapper: true, navigationLinks: { GitHub: "https://github.com/pagefaultgames/pokerogue", }, }; // If generating docs for main/beta, check the ref name and add an appropriate navigation header if (!process.env.DRY_RUN && process.env.REF_NAME) { const otherRefName = process.env.REF_NAME === "main" ? "beta" : "main"; config.navigationLinks = { ...config.navigationLinks, // This will be "Switch to Beta" when on main, and vice versa [`Switch to ${otherRefName.charAt(0).toUpperCase() + otherRefName.slice(1).toLowerCase()}`]: `https://pagefaultgames.github.io/pokerogue/${otherRefName}`, }; } export default config;