@mnaoumov/typescript-dev-toolkit 1.3.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/docs-site/components/ConstructorBlock.astro +16 -0
- package/assets/docs-site/components/ImportStatement.astro +12 -0
- package/assets/docs-site/components/MemberDetail.astro +101 -0
- package/assets/docs-site/components/MethodTable.astro +45 -0
- package/assets/docs-site/components/PropertyTable.astro +45 -0
- package/assets/docs-site/components/SiteTitle.astro +43 -0
- package/assets/docs-site/components/TypeSignature.astro +20 -0
- package/assets/docs-site/fonts/inter-latin-400-normal.ttf +0 -0
- package/assets/docs-site/fonts/inter-latin-700-normal.ttf +0 -0
- package/assets/docs-site/styles/global.css +221 -0
- package/dist/lib/cjs/build.cjs +1 -1
- package/dist/lib/cjs/build.d.cts +1 -1
- package/dist/lib/cjs/commitlint-forbidden-patterns.cjs +2 -2
- package/dist/lib/cjs/commitlint-forbidden-patterns.d.cts +1 -1
- package/dist/lib/cjs/commitlint-spellcheck-header.cjs +2 -2
- package/dist/lib/cjs/commitlint-spellcheck-header.d.cts +1 -1
- package/dist/lib/cjs/docs-site/api-doc-constants.cjs +171 -0
- package/dist/lib/cjs/docs-site/api-doc-constants.d.cts +18 -0
- package/dist/lib/cjs/docs-site/api-doc-jsdoc.cjs +414 -0
- package/dist/lib/cjs/docs-site/api-doc-jsdoc.d.cts +149 -0
- package/dist/lib/cjs/docs-site/api-doc-link-rendering.cjs +377 -0
- package/dist/lib/cjs/docs-site/api-doc-link-rendering.d.cts +185 -0
- package/dist/lib/cjs/docs-site/api-doc-package-sites.cjs +118 -0
- package/dist/lib/cjs/docs-site/api-doc-package-sites.d.cts +36 -0
- package/dist/lib/cjs/docs-site/api-doc-page-generation.cjs +561 -0
- package/dist/lib/cjs/docs-site/api-doc-page-generation.d.cts +159 -0
- package/dist/lib/cjs/docs-site/api-doc-route-segments.cjs +42 -0
- package/dist/lib/cjs/docs-site/api-doc-route-segments.d.cts +25 -0
- package/dist/lib/cjs/docs-site/api-doc-settings.cjs +47 -0
- package/dist/lib/cjs/docs-site/api-doc-settings.d.cts +53 -0
- package/dist/lib/cjs/docs-site/api-doc-source-processing.cjs +288 -0
- package/dist/lib/cjs/docs-site/api-doc-source-processing.d.cts +75 -0
- package/dist/lib/cjs/docs-site/api-doc-text-utils.cjs +281 -0
- package/dist/lib/cjs/docs-site/api-doc-text-utils.d.cts +178 -0
- package/dist/lib/cjs/docs-site/api-doc-type-merging.cjs +157 -0
- package/dist/lib/cjs/docs-site/api-doc-type-merging.d.cts +51 -0
- package/dist/lib/cjs/docs-site/api-doc-types.cjs +22 -0
- package/dist/lib/cjs/docs-site/api-doc-types.d.cts +157 -0
- package/dist/lib/cjs/docs-site/api-docs.cjs +143 -0
- package/dist/lib/cjs/docs-site/api-docs.d.cts +34 -0
- package/dist/lib/cjs/docs-site/astro-config.cjs +169 -0
- package/dist/lib/cjs/docs-site/astro-config.d.cts +23 -0
- package/dist/lib/cjs/docs-site/docs-links.cjs +123 -0
- package/dist/lib/cjs/docs-site/docs-links.d.cts +32 -0
- package/dist/lib/cjs/docs-site/docs-site-assets.cjs +64 -0
- package/dist/lib/cjs/docs-site/docs-site-assets.d.cts +23 -0
- package/dist/lib/cjs/docs-site/docs-site-commands.cjs +72 -0
- package/dist/lib/cjs/docs-site/docs-site-commands.d.cts +29 -0
- package/dist/lib/cjs/docs-site/docs-site-config.cjs +122 -0
- package/dist/lib/cjs/docs-site/docs-site-config.d.cts +162 -0
- package/dist/lib/cjs/docs-site/index.cjs +116 -0
- package/dist/lib/cjs/docs-site/index.d.cts +26 -0
- package/dist/lib/cjs/docs-site/link-check.cjs +197 -0
- package/dist/lib/cjs/docs-site/link-check.d.cts +163 -0
- package/dist/lib/cjs/docs-site/og-image-page.cjs +45 -0
- package/dist/lib/cjs/docs-site/og-image-page.d.cts +15 -0
- package/dist/lib/cjs/docs-site/og-image.cjs +326 -0
- package/dist/lib/cjs/docs-site/og-image.d.cts +70 -0
- package/dist/lib/cjs/docs-site/og-images.cjs +170 -0
- package/dist/lib/cjs/docs-site/og-images.d.cts +41 -0
- package/dist/lib/cjs/docs-site/route-data.cjs +47 -0
- package/dist/lib/cjs/docs-site/route-data.d.cts +14 -0
- package/dist/lib/cjs/docs-site/satteri-github-alerts.cjs +97 -0
- package/dist/lib/cjs/docs-site/satteri-github-alerts.d.cts +31 -0
- package/dist/lib/cjs/docs-site/satteri-relative-links.cjs +87 -0
- package/dist/lib/cjs/docs-site/satteri-relative-links.d.cts +29 -0
- package/dist/lib/cjs/docs-site/unrendered-alerts.cjs +51 -0
- package/dist/lib/cjs/docs-site/unrendered-alerts.d.cts +38 -0
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/library-build.cjs +1 -1
- package/dist/lib/cjs/library-build.d.cts +2 -2
- package/dist/lib/cjs/linters/eslint-config.cjs +17 -17
- package/dist/lib/cjs/linters/eslint-config.d.cts +1 -7
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +2 -2
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.d.cts +5 -8
- package/dist/lib/cjs/linters/markdownlint.cjs +4 -1
- package/dist/lib/cjs/package-manager.cjs +2 -2
- package/dist/lib/esm/build.d.mts +1 -1
- package/dist/lib/esm/build.mjs +1 -1
- package/dist/lib/esm/commitlint-forbidden-patterns.d.mts +1 -1
- package/dist/lib/esm/commitlint-forbidden-patterns.mjs +2 -2
- package/dist/lib/esm/commitlint-spellcheck-header.d.mts +1 -1
- package/dist/lib/esm/commitlint-spellcheck-header.mjs +2 -2
- package/dist/lib/esm/docs-site/api-doc-constants.d.mts +18 -0
- package/dist/lib/esm/docs-site/api-doc-constants.mjs +143 -0
- package/dist/lib/esm/docs-site/api-doc-jsdoc.d.mts +149 -0
- package/dist/lib/esm/docs-site/api-doc-jsdoc.mjs +377 -0
- package/dist/lib/esm/docs-site/api-doc-link-rendering.d.mts +185 -0
- package/dist/lib/esm/docs-site/api-doc-link-rendering.mjs +356 -0
- package/dist/lib/esm/docs-site/api-doc-package-sites.d.mts +36 -0
- package/dist/lib/esm/docs-site/api-doc-package-sites.mjs +91 -0
- package/dist/lib/esm/docs-site/api-doc-page-generation.d.mts +159 -0
- package/dist/lib/esm/docs-site/api-doc-page-generation.mjs +548 -0
- package/dist/lib/esm/docs-site/api-doc-route-segments.d.mts +25 -0
- package/dist/lib/esm/docs-site/api-doc-route-segments.mjs +17 -0
- package/dist/lib/esm/docs-site/api-doc-settings.d.mts +53 -0
- package/dist/lib/esm/docs-site/api-doc-settings.mjs +22 -0
- package/dist/lib/esm/docs-site/api-doc-source-processing.d.mts +75 -0
- package/dist/lib/esm/docs-site/api-doc-source-processing.mjs +274 -0
- package/dist/lib/esm/docs-site/api-doc-text-utils.d.mts +178 -0
- package/dist/lib/esm/docs-site/api-doc-text-utils.mjs +239 -0
- package/dist/lib/esm/docs-site/api-doc-type-merging.d.mts +51 -0
- package/dist/lib/esm/docs-site/api-doc-type-merging.mjs +129 -0
- package/dist/lib/esm/docs-site/api-doc-types.d.mts +157 -0
- package/dist/lib/esm/docs-site/api-doc-types.mjs +6 -0
- package/dist/lib/esm/docs-site/api-docs.d.mts +34 -0
- package/dist/lib/esm/docs-site/api-docs.mjs +139 -0
- package/dist/lib/esm/docs-site/astro-config.d.mts +23 -0
- package/dist/lib/esm/docs-site/astro-config.mjs +135 -0
- package/dist/lib/esm/docs-site/docs-links.d.mts +32 -0
- package/dist/lib/esm/docs-site/docs-links.mjs +113 -0
- package/dist/lib/esm/docs-site/docs-site-assets.d.mts +23 -0
- package/dist/lib/esm/docs-site/docs-site-assets.mjs +32 -0
- package/dist/lib/esm/docs-site/docs-site-commands.d.mts +29 -0
- package/dist/lib/esm/docs-site/docs-site-commands.mjs +46 -0
- package/dist/lib/esm/docs-site/docs-site-config.d.mts +162 -0
- package/dist/lib/esm/docs-site/docs-site-config.mjs +98 -0
- package/dist/lib/esm/docs-site/index.d.mts +26 -0
- package/dist/lib/esm/docs-site/index.mjs +58 -0
- package/dist/lib/esm/docs-site/link-check.d.mts +163 -0
- package/dist/lib/esm/docs-site/link-check.mjs +166 -0
- package/dist/lib/esm/docs-site/og-image-page.d.mts +15 -0
- package/dist/lib/esm/docs-site/og-image-page.mjs +21 -0
- package/dist/lib/esm/docs-site/og-image.d.mts +70 -0
- package/dist/lib/esm/docs-site/og-image.mjs +292 -0
- package/dist/lib/esm/docs-site/og-images.d.mts +41 -0
- package/dist/lib/esm/docs-site/og-images.mjs +156 -0
- package/dist/lib/esm/docs-site/route-data.d.mts +14 -0
- package/dist/lib/esm/docs-site/route-data.mjs +23 -0
- package/dist/lib/esm/docs-site/satteri-github-alerts.d.mts +31 -0
- package/dist/lib/esm/docs-site/satteri-github-alerts.mjs +72 -0
- package/dist/lib/esm/docs-site/satteri-relative-links.d.mts +29 -0
- package/dist/lib/esm/docs-site/satteri-relative-links.mjs +63 -0
- package/dist/lib/esm/docs-site/unrendered-alerts.d.mts +38 -0
- package/dist/lib/esm/docs-site/unrendered-alerts.mjs +26 -0
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/library-build.d.mts +2 -2
- package/dist/lib/esm/library-build.mjs +1 -1
- package/dist/lib/esm/linters/eslint-config.d.mts +1 -7
- package/dist/lib/esm/linters/eslint-config.mjs +17 -17
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.d.mts +5 -8
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +2 -2
- package/dist/lib/esm/linters/markdownlint.mjs +4 -1
- package/dist/lib/esm/package-manager.mjs +2 -2
- package/docs-site/api-doc-constants/package.json +6 -0
- package/docs-site/api-doc-jsdoc/package.json +6 -0
- package/docs-site/api-doc-link-rendering/package.json +6 -0
- package/docs-site/api-doc-package-sites/package.json +6 -0
- package/docs-site/api-doc-page-generation/package.json +6 -0
- package/docs-site/api-doc-route-segments/package.json +6 -0
- package/docs-site/api-doc-settings/package.json +6 -0
- package/docs-site/api-doc-source-processing/package.json +6 -0
- package/docs-site/api-doc-text-utils/package.json +6 -0
- package/docs-site/api-doc-type-merging/package.json +6 -0
- package/docs-site/api-doc-types/package.json +6 -0
- package/docs-site/api-docs/package.json +6 -0
- package/docs-site/astro-config/package.json +6 -0
- package/docs-site/docs-links/package.json +6 -0
- package/docs-site/docs-site-assets/package.json +6 -0
- package/docs-site/docs-site-commands/package.json +6 -0
- package/docs-site/docs-site-config/package.json +6 -0
- package/docs-site/index/package.json +6 -0
- package/docs-site/link-check/package.json +6 -0
- package/docs-site/og-image/package.json +6 -0
- package/docs-site/og-image-page/package.json +6 -0
- package/docs-site/og-images/package.json +6 -0
- package/docs-site/package.json +6 -0
- package/docs-site/route-data/package.json +6 -0
- package/docs-site/satteri-github-alerts/package.json +6 -0
- package/docs-site/satteri-relative-links/package.json +6 -0
- package/docs-site/unrendered-alerts/package.json +6 -0
- package/package.json +74 -4
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
readdir,
|
|
8
|
+
readFile
|
|
9
|
+
} from "node:fs/promises";
|
|
10
|
+
import { resolve } from "node:path";
|
|
11
|
+
import {
|
|
12
|
+
collectBrokenExternalLinks,
|
|
13
|
+
collectBrokenLinks,
|
|
14
|
+
collectExternalTargets,
|
|
15
|
+
extractIds,
|
|
16
|
+
formatBrokenLinks,
|
|
17
|
+
NETWORK_FAILURE_STATUS,
|
|
18
|
+
resolveWithinRoot
|
|
19
|
+
} from "./link-check.mjs";
|
|
20
|
+
import {
|
|
21
|
+
collectUnrenderedAlerts,
|
|
22
|
+
formatUnrenderedAlerts
|
|
23
|
+
} from "./unrendered-alerts.mjs";
|
|
24
|
+
const EXTERNAL_LINK_TIMEOUT_IN_MILLISECONDS = 1e4;
|
|
25
|
+
const EXTERNAL_LINK_CONCURRENCY = 20;
|
|
26
|
+
const HTML_FILE_EXTENSION = ".html";
|
|
27
|
+
const FALLBACK_PAGE_RELATIVE_PATH = "404.html";
|
|
28
|
+
async function assertDocsLinksResolve(options) {
|
|
29
|
+
const outputDirectory = resolve(options.outputDirectory).replaceAll("\\", "/");
|
|
30
|
+
const allFiles = await getAllFiles(outputDirectory);
|
|
31
|
+
const pages = await readPages(outputDirectory, allFiles);
|
|
32
|
+
const unrenderedAlerts = collectUnrenderedAlerts(pages);
|
|
33
|
+
if (unrenderedAlerts.length > 0) {
|
|
34
|
+
throw new Error(
|
|
35
|
+
`Detected ${String(unrenderedAlerts.length)} GitHub alert(s) rendered as a plain blockquote instead of an aside:
|
|
36
|
+
${formatUnrenderedAlerts(unrenderedAlerts)}`
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
const internalBrokenLinks = collectBrokenLinks(pages, createFileSystem({ allFiles, outputDirectory, pages }), options.siteBaseUrl);
|
|
40
|
+
const externalTargets = collectExternalTargets(pages, options.siteBaseUrl);
|
|
41
|
+
const externalBrokenLinks = await collectBrokenExternalLinks(externalTargets, fetchUrlStatus, EXTERNAL_LINK_CONCURRENCY);
|
|
42
|
+
const brokenLinks = [...internalBrokenLinks, ...externalBrokenLinks];
|
|
43
|
+
if (brokenLinks.length > 0) {
|
|
44
|
+
throw new Error(`Detected ${String(brokenLinks.length)} broken documentation link(s):
|
|
45
|
+
${formatBrokenLinks(brokenLinks)}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function createFileSystem(params) {
|
|
49
|
+
const { allFiles, outputDirectory, pages } = params;
|
|
50
|
+
const htmlByRelativePath = new Map(pages.map((page) => [page.relativePath, page.html]));
|
|
51
|
+
const idsCache = /* @__PURE__ */ new Map();
|
|
52
|
+
return {
|
|
53
|
+
readIds: (pageKey) => {
|
|
54
|
+
let ids = idsCache.get(pageKey);
|
|
55
|
+
if (ids === void 0) {
|
|
56
|
+
const html = htmlByRelativePath.get(pageKey);
|
|
57
|
+
ids = html === void 0 ? /* @__PURE__ */ new Set() : extractIds(html);
|
|
58
|
+
idsCache.set(pageKey, ids);
|
|
59
|
+
}
|
|
60
|
+
return ids;
|
|
61
|
+
},
|
|
62
|
+
resolveExistingPage: (outputRelativePath) => {
|
|
63
|
+
if (resolveWithinRoot(outputDirectory, outputRelativePath) === null) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
const trimmed = outputRelativePath.replace(/\/$/u, "");
|
|
67
|
+
const candidates = trimmed === "" ? ["index.html"] : [trimmed, `${trimmed}/index.html`];
|
|
68
|
+
return candidates.find((candidate) => allFiles.has(candidate)) ?? null;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
async function fetchUrlStatus(url) {
|
|
73
|
+
const controller = new AbortController();
|
|
74
|
+
const timeoutId = globalThis.setTimeout(() => {
|
|
75
|
+
controller.abort();
|
|
76
|
+
}, EXTERNAL_LINK_TIMEOUT_IN_MILLISECONDS);
|
|
77
|
+
try {
|
|
78
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
79
|
+
await response.body?.cancel();
|
|
80
|
+
return response.status;
|
|
81
|
+
} catch {
|
|
82
|
+
return NETWORK_FAILURE_STATUS;
|
|
83
|
+
} finally {
|
|
84
|
+
globalThis.clearTimeout(timeoutId);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async function getAllFiles(outputRootPath) {
|
|
88
|
+
const entries = await readdir(outputRootPath, { recursive: true, withFileTypes: true });
|
|
89
|
+
const files = /* @__PURE__ */ new Set();
|
|
90
|
+
for (const entry of entries) {
|
|
91
|
+
if (!entry.isFile()) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const absolutePath = resolve(entry.parentPath, entry.name).replaceAll("\\", "/");
|
|
95
|
+
files.add(absolutePath.slice(`${outputRootPath}/`.length));
|
|
96
|
+
}
|
|
97
|
+
return files;
|
|
98
|
+
}
|
|
99
|
+
async function readPages(outputRootPath, allFiles) {
|
|
100
|
+
const pages = [];
|
|
101
|
+
for (const relativePath of allFiles) {
|
|
102
|
+
if (!relativePath.endsWith(HTML_FILE_EXTENSION) || relativePath === FALLBACK_PAGE_RELATIVE_PATH) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
const html = await readFile(resolve(outputRootPath, relativePath), "utf-8");
|
|
106
|
+
pages.push({ html, relativePath });
|
|
107
|
+
}
|
|
108
|
+
return pages;
|
|
109
|
+
}
|
|
110
|
+
export {
|
|
111
|
+
assertDocsLinksResolve
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS9kb2NzLWxpbmtzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVmFsaWRhdGVzIHRoZSBsaW5rcyBlbWl0dGVkIGJ5IGEgYnVpbHQgZG9jdW1lbnRhdGlvbiBzaXRlLlxuICpcbiAqIEludGVybmFsIGxpbmtzIGFyZSByZXNvbHZlZCBvZmZsaW5lIGFnYWluc3QgdGhlIGJ1aWxkIG91dHB1dDsgZXh0ZXJuYWwgbGlua3MgYXJlIHZhbGlkYXRlZCBvdmVyIHRoZSBuZXR3b3JrLFxuICogZGVkdXBsaWNhdGVkIHNvIGVhY2ggdW5pcXVlIFVSTCBpcyBmZXRjaGVkIGF0IG1vc3Qgb25jZS4gU2VlIHtAbGluayAuL2xpbmstY2hlY2sudHN9IGZvciB0aGUgZGVjaXNpb24gbG9naWMuXG4gKlxuICogSXQgYWxzbyBmYWlscyBvbiBhIEdpdEh1YiBhbGVydCB0aGF0IHJlYWNoZWQgYSBwYWdlIGFzIGEgcGxhaW4gYmxvY2txdW90ZSAoc2VlIHtAbGluayAuL3VucmVuZGVyZWQtYWxlcnRzLnRzfSksXG4gKiBzaW5jZSBub3RoaW5nIGVsc2Ugbm90aWNlcyB3aGVuIHRoZSBjb252ZXJzaW9uIHN0b3BzLlxuICovXG5cbmltcG9ydCB7XG4gIHJlYWRkaXIsXG4gIHJlYWRGaWxlXG59IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRG9jdW1lbnRhdGlvblBhZ2UsXG4gIExpbmtDaGVja0ZpbGVTeXN0ZW1cbn0gZnJvbSAnLi9saW5rLWNoZWNrLnRzJztcblxuaW1wb3J0IHtcbiAgY29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3MsXG4gIGNvbGxlY3RCcm9rZW5MaW5rcyxcbiAgY29sbGVjdEV4dGVybmFsVGFyZ2V0cyxcbiAgZXh0cmFjdElkcyxcbiAgZm9ybWF0QnJva2VuTGlua3MsXG4gIE5FVFdPUktfRkFJTFVSRV9TVEFUVVMsXG4gIHJlc29sdmVXaXRoaW5Sb290XG59IGZyb20gJy4vbGluay1jaGVjay50cyc7XG5pbXBvcnQge1xuICBjb2xsZWN0VW5yZW5kZXJlZEFsZXJ0cyxcbiAgZm9ybWF0VW5yZW5kZXJlZEFsZXJ0c1xufSBmcm9tICcuL3VucmVuZGVyZWQtYWxlcnRzLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYXNzZXJ0RG9jc0xpbmtzUmVzb2x2ZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXJ0RG9jc0xpbmtzUmVzb2x2ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgb3V0cHV0IGZvbGRlciwgbm9ybWFsbHkgYDxkb2NzPi9kaXN0YC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgVVJMIHRoZSBzaXRlIGlzIHNlcnZlZCBmcm9tLCB3aXRoIGEgdHJhaWxpbmcgc2xhc2gsIGUuZy4gYGh0dHBzOi8vbW5hb3Vtb3YuZGV2L3R5cGVzY3JpcHQtbGliL2AuXG4gICAqL1xuICByZWFkb25seSBzaXRlQmFzZVVybDogc3RyaW5nO1xufVxuXG5jb25zdCBFWFRFUk5BTF9MSU5LX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gMTBfMDAwO1xuY29uc3QgRVhURVJOQUxfTElOS19DT05DVVJSRU5DWSA9IDIwO1xuY29uc3QgSFRNTF9GSUxFX0VYVEVOU0lPTiA9ICcuaHRtbCc7XG5cbi8vIFRoZSBob3N0IHNlcnZlcyB0aGlzIHBhZ2UgYXMgdGhlIGZhbGxiYWNrIGZvciBhbnkgbWlzc2luZyBwYXRoICh3aXRoIGEgNDA0IHN0YXR1cyksIHNvIGl0IGlzIG5vdCBhXG4vLyByZWFsIG5hdmlnYWJsZSByb3V0ZTogU3RhcmxpZ2h0IGdpdmVzIGl0IGEgc2VsZi1gcmVsPVwiY2Fub25pY2FsXCJgIG9mIGAvNDA0L2AgdGhhdCBpbmhlcmVudGx5IGNhbm5vdFxuLy8gcmVzb2x2ZSwgYW5kIGl0cyBib2R5IGxpbmtzIChuYXYsIGxvZ28pIGFyZSBpZGVudGljYWwgdG8gZXZlcnkgcmVhbCBwYWdlIHdlIGFscmVhZHkgdmFsaWRhdGUuXG5jb25zdCBGQUxMQkFDS19QQUdFX1JFTEFUSVZFX1BBVEggPSAnNDA0Lmh0bWwnO1xuXG5pbnRlcmZhY2UgQ3JlYXRlRmlsZVN5c3RlbVBhcmFtcyB7XG4gIHJlYWRvbmx5IGFsbEZpbGVzOiBTZXQ8c3RyaW5nPjtcbiAgcmVhZG9ubHkgb3V0cHV0RGlyZWN0b3J5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhZ2VzOiBEb2N1bWVudGF0aW9uUGFnZVtdO1xufVxuXG4vKipcbiAqIENoZWNrcyBldmVyeSBsaW5rIG9mIHRoZSBidWlsdCBzaXRlLCBhbmQgdGhhdCBldmVyeSBHaXRIdWIgYWxlcnQgcmVuZGVyZWQgYXMgYW4gYXNpZGUuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucy5cbiAqIEB0aHJvd3MgSWYgYW4gYWxlcnQgcmVuZGVyZWQgYXMgYSBwbGFpbiBibG9ja3F1b3RlLCBvciBhIGxpbmsgZG9lcyBub3QgcmVzb2x2ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzc2VydERvY3NMaW5rc1Jlc29sdmUob3B0aW9uczogQXNzZXJ0RG9jc0xpbmtzUmVzb2x2ZVBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBvdXRwdXREaXJlY3RvcnkgPSByZXNvbHZlKG9wdGlvbnMub3V0cHV0RGlyZWN0b3J5KS5yZXBsYWNlQWxsKCdcXFxcJywgJy8nKTtcbiAgY29uc3QgYWxsRmlsZXMgPSBhd2FpdCBnZXRBbGxGaWxlcyhvdXRwdXREaXJlY3RvcnkpO1xuICBjb25zdCBwYWdlcyA9IGF3YWl0IHJlYWRQYWdlcyhvdXRwdXREaXJlY3RvcnksIGFsbEZpbGVzKTtcblxuICAvLyBPZmZsaW5lIGFuZCBpbnN0YW50LCBzbyBpdCBydW5zIGJlZm9yZSB0aGUgbmV0d29yayBoYWxmIGFuZCBmYWlscyBmaXJzdC5cbiAgY29uc3QgdW5yZW5kZXJlZEFsZXJ0cyA9IGNvbGxlY3RVbnJlbmRlcmVkQWxlcnRzKHBhZ2VzKTtcbiAgaWYgKHVucmVuZGVyZWRBbGVydHMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBEZXRlY3RlZCAke1N0cmluZyh1bnJlbmRlcmVkQWxlcnRzLmxlbmd0aCl9IEdpdEh1YiBhbGVydChzKSByZW5kZXJlZCBhcyBhIHBsYWluIGJsb2NrcXVvdGUgaW5zdGVhZCBvZiBhbiBhc2lkZTpcXG4ke2Zvcm1hdFVucmVuZGVyZWRBbGVydHModW5yZW5kZXJlZEFsZXJ0cyl9YFxuICAgICk7XG4gIH1cblxuICBjb25zdCBpbnRlcm5hbEJyb2tlbkxpbmtzID0gY29sbGVjdEJyb2tlbkxpbmtzKHBhZ2VzLCBjcmVhdGVGaWxlU3lzdGVtKHsgYWxsRmlsZXMsIG91dHB1dERpcmVjdG9yeSwgcGFnZXMgfSksIG9wdGlvbnMuc2l0ZUJhc2VVcmwpO1xuXG4gIGNvbnN0IGV4dGVybmFsVGFyZ2V0cyA9IGNvbGxlY3RFeHRlcm5hbFRhcmdldHMocGFnZXMsIG9wdGlvbnMuc2l0ZUJhc2VVcmwpO1xuICBjb25zdCBleHRlcm5hbEJyb2tlbkxpbmtzID0gYXdhaXQgY29sbGVjdEJyb2tlbkV4dGVybmFsTGlua3MoZXh0ZXJuYWxUYXJnZXRzLCBmZXRjaFVybFN0YXR1cywgRVhURVJOQUxfTElOS19DT05DVVJSRU5DWSk7XG5cbiAgY29uc3QgYnJva2VuTGlua3MgPSBbLi4uaW50ZXJuYWxCcm9rZW5MaW5rcywgLi4uZXh0ZXJuYWxCcm9rZW5MaW5rc107XG4gIGlmIChicm9rZW5MaW5rcy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEZXRlY3RlZCAke1N0cmluZyhicm9rZW5MaW5rcy5sZW5ndGgpfSBicm9rZW4gZG9jdW1lbnRhdGlvbiBsaW5rKHMpOlxcbiR7Zm9ybWF0QnJva2VuTGlua3MoYnJva2VuTGlua3MpfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpbGVTeXN0ZW0ocGFyYW1zOiBDcmVhdGVGaWxlU3lzdGVtUGFyYW1zKTogTGlua0NoZWNrRmlsZVN5c3RlbSB7XG4gIGNvbnN0IHsgYWxsRmlsZXMsIG91dHB1dERpcmVjdG9yeSwgcGFnZXMgfSA9IHBhcmFtcztcbiAgY29uc3QgaHRtbEJ5UmVsYXRpdmVQYXRoID0gbmV3IE1hcChwYWdlcy5tYXAoKHBhZ2UpID0+IFtwYWdlLnJlbGF0aXZlUGF0aCwgcGFnZS5odG1sXSkpO1xuICBjb25zdCBpZHNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4oKTtcblxuICByZXR1cm4ge1xuICAgIHJlYWRJZHM6IChwYWdlS2V5KTogU2V0PHN0cmluZz4gPT4ge1xuICAgICAgbGV0IGlkcyA9IGlkc0NhY2hlLmdldChwYWdlS2V5KTtcbiAgICAgIGlmIChpZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBodG1sID0gaHRtbEJ5UmVsYXRpdmVQYXRoLmdldChwYWdlS2V5KTtcbiAgICAgICAgaWRzID0gaHRtbCA9PT0gdW5kZWZpbmVkID8gbmV3IFNldDxzdHJpbmc+KCkgOiBleHRyYWN0SWRzKGh0bWwpO1xuICAgICAgICBpZHNDYWNoZS5zZXQocGFnZUtleSwgaWRzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkcztcbiAgICB9LFxuICAgIHJlc29sdmVFeGlzdGluZ1BhZ2U6IChvdXRwdXRSZWxhdGl2ZVBhdGgpOiBudWxsIHwgc3RyaW5nID0+IHtcbiAgICAgIGlmIChyZXNvbHZlV2l0aGluUm9vdChvdXRwdXREaXJlY3RvcnksIG91dHB1dFJlbGF0aXZlUGF0aCkgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRyaW1tZWQgPSBvdXRwdXRSZWxhdGl2ZVBhdGgucmVwbGFjZSgvXFwvJC91LCAnJyk7XG4gICAgICBjb25zdCBjYW5kaWRhdGVzID0gdHJpbW1lZCA9PT0gJycgPyBbJ2luZGV4Lmh0bWwnXSA6IFt0cmltbWVkLCBgJHt0cmltbWVkfS9pbmRleC5odG1sYF07XG4gICAgICByZXR1cm4gY2FuZGlkYXRlcy5maW5kKChjYW5kaWRhdGUpID0+IGFsbEZpbGVzLmhhcyhjYW5kaWRhdGUpKSA/PyBudWxsO1xuICAgIH1cbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hVcmxTdGF0dXModXJsOiBzdHJpbmcpOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICBjb25zdCB0aW1lb3V0SWQgPSBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgRVhURVJOQUxfTElOS19USU1FT1VUX0lOX01JTExJU0VDT05EUyk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pO1xuICAgIC8vIENhbmNlbCB0aGUgdW5yZWFkIGJvZHkgc28gdW5kaWNpIHJlbGVhc2VzIHRoZSBjb25uZWN0aW9uIGltbWVkaWF0ZWx5LlxuICAgIC8vIFdpdGhvdXQgdGhpcyB0aGUgcGVyLWhvc3QgY29ubmVjdGlvbiBwb29sIHN0YWxscyBhbmQgc2FtZS1ob3N0IHJlcXVlc3RzXG4gICAgLy8gc2VyaWFsaXplLCB0dXJuaW5nIGEgfjNzIHJ1biBpbnRvIG1pbnV0ZXMuXG4gICAgYXdhaXQgcmVzcG9uc2UuYm9keT8uY2FuY2VsKCk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLnN0YXR1cztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIE5FVFdPUktfRkFJTFVSRV9TVEFUVVM7XG4gIH0gZmluYWxseSB7XG4gICAgZ2xvYmFsVGhpcy5jbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBbGxGaWxlcyhvdXRwdXRSb290UGF0aDogc3RyaW5nKTogUHJvbWlzZTxTZXQ8c3RyaW5nPj4ge1xuICBjb25zdCBlbnRyaWVzID0gYXdhaXQgcmVhZGRpcihvdXRwdXRSb290UGF0aCwgeyByZWN1cnNpdmU6IHRydWUsIHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG4gIGNvbnN0IGZpbGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIGlmICghZW50cnkuaXNGaWxlKCkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IHJlc29sdmUoZW50cnkucGFyZW50UGF0aCwgZW50cnkubmFtZSkucmVwbGFjZUFsbCgnXFxcXCcsICcvJyk7XG4gICAgZmlsZXMuYWRkKGFic29sdXRlUGF0aC5zbGljZShgJHtvdXRwdXRSb290UGF0aH0vYC5sZW5ndGgpKTtcbiAgfVxuXG4gIHJldHVybiBmaWxlcztcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZFBhZ2VzKG91dHB1dFJvb3RQYXRoOiBzdHJpbmcsIGFsbEZpbGVzOiBTZXQ8c3RyaW5nPik6IFByb21pc2U8RG9jdW1lbnRhdGlvblBhZ2VbXT4ge1xuICBjb25zdCBwYWdlczogRG9jdW1lbnRhdGlvblBhZ2VbXSA9IFtdO1xuICBmb3IgKGNvbnN0IHJlbGF0aXZlUGF0aCBvZiBhbGxGaWxlcykge1xuICAgIGlmICghcmVsYXRpdmVQYXRoLmVuZHNXaXRoKEhUTUxfRklMRV9FWFRFTlNJT04pIHx8IHJlbGF0aXZlUGF0aCA9PT0gRkFMTEJBQ0tfUEFHRV9SRUxBVElWRV9QQVRIKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBodG1sID0gYXdhaXQgcmVhZEZpbGUocmVzb2x2ZShvdXRwdXRSb290UGF0aCwgcmVsYXRpdmVQYXRoKSwgJ3V0Zi04Jyk7XG4gICAgcGFnZXMucHVzaCh7IGh0bWwsIHJlbGF0aXZlUGF0aCB9KTtcbiAgfVxuXG4gIHJldHVybiBw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
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Locates the files every documentation site shares — the API page components, the site title, the stylesheet and
|
|
6
|
+
* the Open Graph fonts — which this package ships under `assets/docs-site` rather than compiling.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The specifier generated API pages import their components through. {@link getDocsSiteAssetsDirectory}'s `components`
|
|
10
|
+
* folder is aliased to it, so every site renders its API pages with the same components.
|
|
11
|
+
*/
|
|
12
|
+
export declare const API_COMPONENTS_IMPORT_PREFIX = "@mnaoumov/typescript-dev-toolkit/docs-site-components";
|
|
13
|
+
/**
|
|
14
|
+
* Gets the folder holding the shared site files.
|
|
15
|
+
*
|
|
16
|
+
* The module runs from `src/docs-site` in this repository and from `dist/lib/<format>/docs-site` once installed, so
|
|
17
|
+
* the folder is found by walking up to the package root that holds it rather than by a fixed relative path.
|
|
18
|
+
*
|
|
19
|
+
* @param moduleUrl - The URL of a module of this package to start from.
|
|
20
|
+
* @returns The folder's absolute path.
|
|
21
|
+
* @throws If no folder above the module holds the assets.
|
|
22
|
+
*/
|
|
23
|
+
export declare function getDocsSiteAssetsDirectory(moduleUrl?: string): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { existsSync } from "node:fs";
|
|
7
|
+
import {
|
|
8
|
+
dirname,
|
|
9
|
+
join
|
|
10
|
+
} from "node:path";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
12
|
+
const ASSETS_RELATIVE_PATH = join("assets", "docs-site");
|
|
13
|
+
const API_COMPONENTS_IMPORT_PREFIX = "@mnaoumov/typescript-dev-toolkit/docs-site-components";
|
|
14
|
+
function getDocsSiteAssetsDirectory(moduleUrl = import.meta.url) {
|
|
15
|
+
let directory = dirname(fileURLToPath(moduleUrl));
|
|
16
|
+
for (; ; ) {
|
|
17
|
+
const candidate = join(directory, ASSETS_RELATIVE_PATH);
|
|
18
|
+
if (existsSync(candidate)) {
|
|
19
|
+
return candidate;
|
|
20
|
+
}
|
|
21
|
+
const parent = dirname(directory);
|
|
22
|
+
if (parent === directory) {
|
|
23
|
+
throw new Error(`No ${ASSETS_RELATIVE_PATH} folder above ${fileURLToPath(moduleUrl)}.`);
|
|
24
|
+
}
|
|
25
|
+
directory = parent;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
API_COMPONENTS_IMPORT_PREFIX,
|
|
30
|
+
getDocsSiteAssetsDirectory
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS9kb2NzLXNpdGUtYXNzZXRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogTG9jYXRlcyB0aGUgZmlsZXMgZXZlcnkgZG9jdW1lbnRhdGlvbiBzaXRlIHNoYXJlcyBcdTIwMTQgdGhlIEFQSSBwYWdlIGNvbXBvbmVudHMsIHRoZSBzaXRlIHRpdGxlLCB0aGUgc3R5bGVzaGVldCBhbmRcbiAqIHRoZSBPcGVuIEdyYXBoIGZvbnRzIFx1MjAxNCB3aGljaCB0aGlzIHBhY2thZ2Ugc2hpcHMgdW5kZXIgYGFzc2V0cy9kb2NzLXNpdGVgIHJhdGhlciB0aGFuIGNvbXBpbGluZy5cbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQge1xuICBkaXJuYW1lLFxuICBqb2luXG59IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuXG5jb25zdCBBU1NFVFNfUkVMQVRJVkVfUEFUSCA9IGpvaW4oJ2Fzc2V0cycsICdkb2NzLXNpdGUnKTtcblxuLyoqXG4gKiBUaGUgc3BlY2lmaWVyIGdlbmVyYXRlZCBBUEkgcGFnZXMgaW1wb3J0IHRoZWlyIGNvbXBvbmVudHMgdGhyb3VnaC4ge0BsaW5rIGdldERvY3NTaXRlQXNzZXRzRGlyZWN0b3J5fSdzIGBjb21wb25lbnRzYFxuICogZm9sZGVyIGlzIGFsaWFzZWQgdG8gaXQsIHNvIGV2ZXJ5IHNpdGUgcmVuZGVycyBpdHMgQVBJIHBhZ2VzIHdpdGggdGhlIHNhbWUgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNvbnN0IEFQSV9DT01QT05FTlRTX0lNUE9SVF9QUkVGSVggPSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvZG9jcy1zaXRlLWNvbXBvbmVudHMnO1xuXG4vKipcbiAqIEdldHMgdGhlIGZvbGRlciBob2xkaW5nIHRoZSBzaGFyZWQgc2l0ZSBmaWxlcy5cbiAqXG4gKiBUaGUgbW9kdWxlIHJ1bnMgZnJvbSBgc3JjL2RvY3Mtc2l0ZWAgaW4gdGhpcyByZXBvc2l0b3J5IGFuZCBmcm9tIGBkaXN0L2xpYi88Zm9ybWF0Pi9kb2NzLXNpdGVgIG9uY2UgaW5zdGFsbGVkLCBzb1xuICogdGhlIGZvbGRlciBpcyBmb3VuZCBieSB3YWxraW5nIHVwIHRvIHRoZSBwYWNrYWdlIHJvb3QgdGhhdCBob2xkcyBpdCByYXRoZXIgdGhhbiBieSBhIGZpeGVkIHJlbGF0aXZlIHBhdGguXG4gKlxuICogQHBhcmFtIG1vZHVsZVVybCAtIFRoZSBVUkwgb2YgYSBtb2R1bGUgb2YgdGhpcyBwYWNrYWdlIHRvIHN0YXJ0IGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZm9sZGVyJ3MgYWJzb2x1dGUgcGF0aC5cbiAqIEB0aHJvd3MgSWYgbm8gZm9sZGVyIGFib3ZlIHRoZSBtb2R1bGUgaG9sZHMgdGhlIGFzc2V0cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERvY3NTaXRlQXNzZXRzRGlyZWN0b3J5KG1vZHVsZVVybDogc3RyaW5nID0gaW1wb3J0Lm1ldGEudXJsKTogc3RyaW5nIHtcbiAgbGV0IGRpcmVjdG9yeSA9IGRpcm5hbWUoZmlsZVVSTFRvUGF0aChtb2R1bGVVcmwpKTtcbiAgZm9yICg7Oykge1xuICAgIGNvbnN0IGNhbmRpZGF0ZSA9IGpvaW4oZGlyZWN0b3J5LCBBU1NFVFNfUkVMQVRJVkVfUEFUSCk7XG4gICAgaWYgKGV4aXN0c1N5bmMoY2FuZGlkYXRlKSkge1xuICAgICAgcmV0dXJuIGNhbmRpZGF0ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnQgPSBkaXJuYW1lKGRpcmVjdG9yeSk7XG4gICAgaWYgKHBhcmVudCA9PT0gZGlyZWN0b3J5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICR7QVNTRVRTX1JFTEFUSVZFX1BBVEh9IGZvbGRlciBhYm92ZSAke2ZpbGVVUkxUb1BhdGgobW9kdWxlVXJsKX0uYCk7XG4gICAgfVxuXG4gICAgZGlyZWN0b3J5ID0gcGFyZW50O1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQU9BLFNBQVMsa0JBQWtCO0FBQzNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxxQkFBcUI7QUFFOUIsTUFBTSx1QkFBdUIsS0FBSyxVQUFVLFdBQVc7QUFNaEQsTUFBTSwrQkFBK0I7QUFZckMsU0FBUywyQkFBMkIsWUFBb0IsWUFBWSxLQUFhO0FBQ3RGLE1BQUksWUFBWSxRQUFRLGNBQWMsU0FBUyxDQUFDO0FBQ2hELGFBQVM7QUFDUCxVQUFNLFlBQVksS0FBSyxXQUFXLG9CQUFvQjtBQUN0RCxRQUFJLFdBQVcsU0FBUyxHQUFHO0FBQ3pCLGFBQU87QUFBQSxJQUNUO0FBRUEsVUFBTSxTQUFTLFFBQVEsU0FBUztBQUNoQyxRQUFJLFdBQVcsV0FBVztBQUN4QixZQUFNLElBQUksTUFBTSxNQUFNLG9CQUFvQixpQkFBaUIsY0FBYyxTQUFTLENBQUMsR0FBRztBQUFBLElBQ3hGO0FBRUEsZ0JBQVk7QUFBQSxFQUNkO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* The `docs:build`, `docs:dev` and `docs:preview` commands of a documentation site.
|
|
6
|
+
*
|
|
7
|
+
* Each takes the same {@link DocsSiteConfig} the site's `astro.config.ts` passes to `defineDocsSiteConfig`, so a
|
|
8
|
+
* repository describes its site once, in a module both import.
|
|
9
|
+
*/
|
|
10
|
+
import type { DocsSiteConfig } from './docs-site-config.mjs';
|
|
11
|
+
/**
|
|
12
|
+
* Builds the site: generates the API reference and the Open Graph cards, runs `astro build`, then checks every link
|
|
13
|
+
* of the output.
|
|
14
|
+
*
|
|
15
|
+
* @param config - The site's configuration.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildDocsSite(config: DocsSiteConfig): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Generates the API reference, then serves the site with `astro dev` until it is stopped.
|
|
20
|
+
*
|
|
21
|
+
* @param config - The site's configuration.
|
|
22
|
+
*/
|
|
23
|
+
export declare function devDocsSite(config: DocsSiteConfig): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Serves the last build with `astro preview` until it is stopped.
|
|
26
|
+
*
|
|
27
|
+
* @param config - The site's configuration.
|
|
28
|
+
*/
|
|
29
|
+
export declare function previewDocsSite(config: DocsSiteConfig): Promise<void>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { execFromRoot } from "../root.mjs";
|
|
8
|
+
import { generateApiDocs } from "./api-docs.mjs";
|
|
9
|
+
import { assertDocsLinksResolve } from "./docs-links.mjs";
|
|
10
|
+
import { getDocsSiteAssetsDirectory } from "./docs-site-assets.mjs";
|
|
11
|
+
import { resolveDocsSiteConfig } from "./docs-site-config.mjs";
|
|
12
|
+
import { generateOgImages } from "./og-images.mjs";
|
|
13
|
+
async function buildDocsSite(config) {
|
|
14
|
+
const resolved = resolveDocsSiteConfig(config);
|
|
15
|
+
await generateApiDocs({ rootDirectory: resolved.rootDirectory, settings: resolved.apiDocSettings, sourceDirectory: resolved.sourceDirectory });
|
|
16
|
+
await generateOgImages({
|
|
17
|
+
brandText: resolved.packageName,
|
|
18
|
+
contentDocsDirectory: resolved.contentDocsDirectory,
|
|
19
|
+
faviconPath: resolved.faviconPath,
|
|
20
|
+
fontsDirectory: join(getDocsSiteAssetsDirectory(), "fonts"),
|
|
21
|
+
outputDirectory: resolved.ogOutputDirectory
|
|
22
|
+
});
|
|
23
|
+
await execFromRoot(["astro", "build"], { cwd: resolved.rootDirectory });
|
|
24
|
+
await assertDocsLinksResolve({ outputDirectory: resolved.distDirectory, siteBaseUrl: resolved.siteBaseUrl });
|
|
25
|
+
}
|
|
26
|
+
async function devDocsSite(config) {
|
|
27
|
+
const resolved = resolveDocsSiteConfig(config);
|
|
28
|
+
await generateApiDocs({ rootDirectory: resolved.rootDirectory, settings: resolved.apiDocSettings, sourceDirectory: resolved.sourceDirectory });
|
|
29
|
+
await execFromRoot(["astro", "dev"], {
|
|
30
|
+
cwd: resolved.rootDirectory,
|
|
31
|
+
env: {
|
|
32
|
+
ASTRO_DEV_BACKGROUND: "1"
|
|
33
|
+
},
|
|
34
|
+
isInteractive: true
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async function previewDocsSite(config) {
|
|
38
|
+
const resolved = resolveDocsSiteConfig(config);
|
|
39
|
+
await execFromRoot(["astro", "preview"], { cwd: resolved.rootDirectory, isInteractive: true });
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
buildDocsSite,
|
|
43
|
+
devDocsSite,
|
|
44
|
+
previewDocsSite
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS9kb2NzLXNpdGUtY29tbWFuZHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaGUgYGRvY3M6YnVpbGRgLCBgZG9jczpkZXZgIGFuZCBgZG9jczpwcmV2aWV3YCBjb21tYW5kcyBvZiBhIGRvY3VtZW50YXRpb24gc2l0ZS5cbiAqXG4gKiBFYWNoIHRha2VzIHRoZSBzYW1lIHtAbGluayBEb2NzU2l0ZUNvbmZpZ30gdGhlIHNpdGUncyBgYXN0cm8uY29uZmlnLnRzYCBwYXNzZXMgdG8gYGRlZmluZURvY3NTaXRlQ29uZmlnYCwgc28gYVxuICogcmVwb3NpdG9yeSBkZXNjcmliZXMgaXRzIHNpdGUgb25jZSwgaW4gYSBtb2R1bGUgYm90aCBpbXBvcnQuXG4gKi9cblxuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHsgRG9jc1NpdGVDb25maWcgfSBmcm9tICcuL2RvY3Mtc2l0ZS1jb25maWcudHMnO1xuXG5pbXBvcnQgeyBleGVjRnJvbVJvb3QgfSBmcm9tICcuLi9yb290LnRzJztcbmltcG9ydCB7IGdlbmVyYXRlQXBpRG9jcyB9IGZyb20gJy4vYXBpLWRvY3MudHMnO1xuaW1wb3J0IHsgYXNzZXJ0RG9jc0xpbmtzUmVzb2x2ZSB9IGZyb20gJy4vZG9jcy1saW5rcy50cyc7XG5pbXBvcnQgeyBnZXREb2NzU2l0ZUFzc2V0c0RpcmVjdG9yeSB9IGZyb20gJy4vZG9jcy1zaXRlLWFzc2V0cy50cyc7XG5pbXBvcnQgeyByZXNvbHZlRG9jc1NpdGVDb25maWcgfSBmcm9tICcuL2RvY3Mtc2l0ZS1jb25maWcudHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVPZ0ltYWdlcyB9IGZyb20gJy4vb2ctaW1hZ2VzLnRzJztcblxuLyoqXG4gKiBCdWlsZHMgdGhlIHNpdGU6IGdlbmVyYXRlcyB0aGUgQVBJIHJlZmVyZW5jZSBhbmQgdGhlIE9wZW4gR3JhcGggY2FyZHMsIHJ1bnMgYGFzdHJvIGJ1aWxkYCwgdGhlbiBjaGVja3MgZXZlcnkgbGlua1xuICogb2YgdGhlIG91dHB1dC5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIHNpdGUncyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGREb2NzU2l0ZShjb25maWc6IERvY3NTaXRlQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZURvY3NTaXRlQ29uZmlnKGNvbmZpZyk7XG4gIGF3YWl0IGdlbmVyYXRlQXBpRG9jcyh7IHJvb3REaXJlY3Rvcnk6IHJlc29sdmVkLnJvb3REaXJlY3RvcnksIHNldHRpbmdzOiByZXNvbHZlZC5hcGlEb2NTZXR0aW5ncywgc291cmNlRGlyZWN0b3J5OiByZXNvbHZlZC5zb3VyY2VEaXJlY3RvcnkgfSk7XG4gIGF3YWl0IGdlbmVyYXRlT2dJbWFnZXMoe1xuICAgIGJyYW5kVGV4dDogcmVzb2x2ZWQucGFja2FnZU5hbWUsXG4gICAgY29udGVudERvY3NEaXJlY3Rvcnk6IHJlc29sdmVkLmNvbnRlbnREb2NzRGlyZWN0b3J5LFxuICAgIGZhdmljb25QYXRoOiByZXNvbHZlZC5mYXZpY29uUGF0aCxcbiAgICBmb250c0RpcmVjdG9yeTogam9pbihnZXREb2NzU2l0ZUFzc2V0c0RpcmVjdG9yeSgpLCAnZm9udHMnKSxcbiAgICBvdXRwdXREaXJlY3Rvcnk6IHJlc29sdmVkLm9nT3V0cHV0RGlyZWN0b3J5XG4gIH0pO1xuICBhd2FpdCBleGVjRnJvbVJvb3QoWydhc3RybycsICdidWlsZCddLCB7IGN3ZDogcmVzb2x2ZWQucm9vdERpcmVjdG9yeSB9KTtcbiAgYXdhaXQgYXNzZXJ0RG9jc0xpbmtzUmVzb2x2ZSh7IG91dHB1dERpcmVjdG9yeTogcmVzb2x2ZWQuZGlzdERpcmVjdG9yeSwgc2l0ZUJhc2VVcmw6IHJlc29sdmVkLnNpdGVCYXNlVXJsIH0pO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgQVBJIHJlZmVyZW5jZSwgdGhlbiBzZXJ2ZXMgdGhlIHNpdGUgd2l0aCBgYXN0cm8gZGV2YCB1bnRpbCBpdCBpcyBzdG9wcGVkLlxuICpcbiAqIEBwYXJhbSBjb25maWcgLSBUaGUgc2l0ZSdzIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXZEb2NzU2l0ZShjb25maWc6IERvY3NTaXRlQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZURvY3NTaXRlQ29uZmlnKGNvbmZpZyk7XG4gIGF3YWl0IGdlbmVyYXRlQXBpRG9jcyh7IHJvb3REaXJlY3Rvcnk6IHJlc29sdmVkLnJvb3REaXJlY3RvcnksIHNldHRpbmdzOiByZXNvbHZlZC5hcGlEb2NTZXR0aW5ncywgc291cmNlRGlyZWN0b3J5OiByZXNvbHZlZC5zb3VyY2VEaXJlY3RvcnkgfSk7XG4gIC8vIGBBU1RST19ERVZfQkFDS0dST1VORGAgZm9yY2VzIEFzdHJvJ3MgZm9yZWdyb3VuZCBkZXYgc2VydmVyLiBBc3RybyBvdGhlcndpc2Ugc3dpdGNoZXMgdG8gYSBiYWNrZ3JvdW5kIGxhdW5jaGVyXG4gIC8vIChoYXJkY29kZWQgMzBzIHN0YXJ0dXAgdGltZW91dCkgdW5kZXIgYW4gYWdlbnQgLyBub24taW50ZXJhY3RpdmUgZW52aXJvbm1lbnQuXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2FzdHJvJywgJ2RldiddLCB7XG4gICAgY3dkOiByZXNvbHZlZC5yb290RGlyZWN0b3J5LFxuICAgIGVudjoge1xuICAgICAgQVNUUk9fREVWX0JBQ0tHUk9VTkQ6ICcxJ1xuICAgIH0sXG4gICAgaXNJbnRlcmFjdGl2ZTogdHJ1ZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXJ2ZXMgdGhlIGxhc3QgYnVpbGQgd2l0aCBgYXN0cm8gcHJldmlld2AgdW50aWwgaXQgaXMgc3RvcHBlZC5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIHNpdGUncyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJldmlld0RvY3NTaXRlKGNvbmZpZzogRG9jc1NpdGVDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlRG9jc1NpdGVDb25maWcoY29uZmlnKTtcbiAgYXdhaXQgZXhlY0Zyb21Sb290KFsnYXN0cm8nLCAncHJldmlldyddLCB7IGN3ZDogcmVzb2x2ZWQucm9vdERpcmVjdG9yeSwgaXNJbnRlcmFjdGl2ZTogdHJ1ZSB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBU0EsU0FBUyxZQUFZO0FBSXJCLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsdUJBQXVCO0FBQ2hDLFNBQVMsOEJBQThCO0FBQ3ZDLFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMsNkJBQTZCO0FBQ3RDLFNBQVMsd0JBQXdCO0FBUWpDLGVBQXNCLGNBQWMsUUFBdUM7QUFDekUsUUFBTSxXQUFXLHNCQUFzQixNQUFNO0FBQzdDLFFBQU0sZ0JBQWdCLEVBQUUsZUFBZSxTQUFTLGVBQWUsVUFBVSxTQUFTLGdCQUFnQixpQkFBaUIsU0FBUyxnQkFBZ0IsQ0FBQztBQUM3SSxRQUFNLGlCQUFpQjtBQUFBLElBQ3JCLFdBQVcsU0FBUztBQUFBLElBQ3BCLHNCQUFzQixTQUFTO0FBQUEsSUFDL0IsYUFBYSxTQUFTO0FBQUEsSUFDdEIsZ0JBQWdCLEtBQUssMkJBQTJCLEdBQUcsT0FBTztBQUFBLElBQzFELGlCQUFpQixTQUFTO0FBQUEsRUFDNUIsQ0FBQztBQUNELFFBQU0sYUFBYSxDQUFDLFNBQVMsT0FBTyxHQUFHLEVBQUUsS0FBSyxTQUFTLGNBQWMsQ0FBQztBQUN0RSxRQUFNLHVCQUF1QixFQUFFLGlCQUFpQixTQUFTLGVBQWUsYUFBYSxTQUFTLFlBQVksQ0FBQztBQUM3RztBQU9BLGVBQXNCLFlBQVksUUFBdUM7QUFDdkUsUUFBTSxXQUFXLHNCQUFzQixNQUFNO0FBQzdDLFFBQU0sZ0JBQWdCLEVBQUUsZUFBZSxTQUFTLGVBQWUsVUFBVSxTQUFTLGdCQUFnQixpQkFBaUIsU0FBUyxnQkFBZ0IsQ0FBQztBQUc3SSxRQUFNLGFBQWEsQ0FBQyxTQUFTLEtBQUssR0FBRztBQUFBLElBQ25DLEtBQUssU0FBUztBQUFBLElBQ2QsS0FBSztBQUFBLE1BQ0gsc0JBQXNCO0FBQUEsSUFDeEI7QUFBQSxJQUNBLGVBQWU7QUFBQSxFQUNqQixDQUFDO0FBQ0g7QUFPQSxlQUFzQixnQkFBZ0IsUUFBdUM7QUFDM0UsUUFBTSxXQUFXLHNCQUFzQixNQUFNO0FBQzdDLFFBQU0sYUFBYSxDQUFDLFNBQVMsU0FBUyxHQUFHLEVBQUUsS0FBSyxTQUFTLGVBQWUsZUFBZSxLQUFLLENBQUM7QUFDL0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* The one description of a documentation site that its Astro config and its build commands share: which repository
|
|
6
|
+
* it documents, where its sources and pages live, and which other sites it links to.
|
|
7
|
+
*/
|
|
8
|
+
import type { ApiDocSettings } from './api-doc-settings.mjs';
|
|
9
|
+
/**
|
|
10
|
+
* Describes a documentation site. Every path is relative to {@link DocsSiteConfig.rootDirectory}.
|
|
11
|
+
*/
|
|
12
|
+
export interface DocsSiteConfig {
|
|
13
|
+
/**
|
|
14
|
+
* The folder holding the site: its `src` (pages, `content.config.ts`), `public` and build output `dist`.
|
|
15
|
+
*
|
|
16
|
+
* @default 'docs'
|
|
17
|
+
*/
|
|
18
|
+
readonly docsDirectory?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Type names mapped to the URL their references link to, for types no documented package declares. The layer
|
|
21
|
+
* documenting an ecosystem's packages fills it with that ecosystem's references.
|
|
22
|
+
*/
|
|
23
|
+
readonly externalTypeLinks?: ReadonlyMap<string, string>;
|
|
24
|
+
/**
|
|
25
|
+
* The folder under `<docs>/src/content/docs` the guides sidebar group is generated from.
|
|
26
|
+
*
|
|
27
|
+
* @default 'guides'
|
|
28
|
+
*/
|
|
29
|
+
readonly guidesDirectory?: string;
|
|
30
|
+
/**
|
|
31
|
+
* The GitHub account the repository belongs to.
|
|
32
|
+
*
|
|
33
|
+
* @default 'mnaoumov'
|
|
34
|
+
*/
|
|
35
|
+
readonly owner?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Package names mapped to the root URL of their documentation site, with a trailing slash. A type declared in one
|
|
38
|
+
* of them links to its page there. The documented package itself is never linked this way.
|
|
39
|
+
*
|
|
40
|
+
* @default DEFAULT_PACKAGE_SITES
|
|
41
|
+
*/
|
|
42
|
+
readonly packageSites?: ReadonlyMap<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* The repository's name. The site is served under it: `<siteOrigin>/<repo>/`.
|
|
45
|
+
*/
|
|
46
|
+
readonly repo: string;
|
|
47
|
+
/**
|
|
48
|
+
* The repository root, holding `package.json`, `tsconfig.json` and `node_modules`.
|
|
49
|
+
*
|
|
50
|
+
* @default process.cwd()
|
|
51
|
+
*/
|
|
52
|
+
readonly rootDirectory?: string;
|
|
53
|
+
/**
|
|
54
|
+
* The origin every site of the account is served from.
|
|
55
|
+
*
|
|
56
|
+
* @default 'https://mnaoumov.dev'
|
|
57
|
+
*/
|
|
58
|
+
readonly siteOrigin?: string;
|
|
59
|
+
/**
|
|
60
|
+
* The folder whose modules the API reference documents.
|
|
61
|
+
*
|
|
62
|
+
* @default 'src'
|
|
63
|
+
*/
|
|
64
|
+
readonly sourceDirectory?: string;
|
|
65
|
+
/**
|
|
66
|
+
* The site's title, shown in its header.
|
|
67
|
+
*/
|
|
68
|
+
readonly title: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* {@link DocsSiteConfig} with every default applied, every path absolute, and the values derived from them.
|
|
72
|
+
*/
|
|
73
|
+
export interface ResolvedDocsSiteConfig {
|
|
74
|
+
/**
|
|
75
|
+
* The API documentation generator's settings for the site.
|
|
76
|
+
*/
|
|
77
|
+
readonly apiDocSettings: ApiDocSettings;
|
|
78
|
+
/**
|
|
79
|
+
* The base path, e.g. `/typescript-lib`.
|
|
80
|
+
*/
|
|
81
|
+
readonly basePath: string;
|
|
82
|
+
/**
|
|
83
|
+
* The documentation content root, `<docs>/src/content/docs`.
|
|
84
|
+
*/
|
|
85
|
+
readonly contentDocsDirectory: string;
|
|
86
|
+
/**
|
|
87
|
+
* The build output folder, `<docs>/dist`.
|
|
88
|
+
*/
|
|
89
|
+
readonly distDirectory: string;
|
|
90
|
+
/**
|
|
91
|
+
* The site folder.
|
|
92
|
+
*/
|
|
93
|
+
readonly docsDirectory: string;
|
|
94
|
+
/**
|
|
95
|
+
* The site's source folder, `<docs>/src`.
|
|
96
|
+
*/
|
|
97
|
+
readonly docsSourceDirectory: string;
|
|
98
|
+
/**
|
|
99
|
+
* The URL a page's edit link starts with: the repository's `edit/main/` tree.
|
|
100
|
+
*/
|
|
101
|
+
readonly editLinkBaseUrl: string;
|
|
102
|
+
/**
|
|
103
|
+
* The site's SVG logo, `<docs>/public/favicon.svg`.
|
|
104
|
+
*/
|
|
105
|
+
readonly faviconPath: string;
|
|
106
|
+
/**
|
|
107
|
+
* The repository's GitHub URL.
|
|
108
|
+
*/
|
|
109
|
+
readonly githubUrl: string;
|
|
110
|
+
/**
|
|
111
|
+
* See {@link DocsSiteConfig.guidesDirectory}.
|
|
112
|
+
*/
|
|
113
|
+
readonly guidesDirectory: string;
|
|
114
|
+
/**
|
|
115
|
+
* The folder the Open Graph cards are written to, `<docs>/public/og`.
|
|
116
|
+
*/
|
|
117
|
+
readonly ogOutputDirectory: string;
|
|
118
|
+
/**
|
|
119
|
+
* The documented package's name, read from the root `package.json`.
|
|
120
|
+
*/
|
|
121
|
+
readonly packageName: string;
|
|
122
|
+
/**
|
|
123
|
+
* The documented package's version, read from the root `package.json`.
|
|
124
|
+
*/
|
|
125
|
+
readonly packageVersion: string;
|
|
126
|
+
/**
|
|
127
|
+
* The site's static folder, `<docs>/public`.
|
|
128
|
+
*/
|
|
129
|
+
readonly publicDirectory: string;
|
|
130
|
+
/**
|
|
131
|
+
* See {@link DocsSiteConfig.repo}.
|
|
132
|
+
*/
|
|
133
|
+
readonly repo: string;
|
|
134
|
+
/**
|
|
135
|
+
* See {@link DocsSiteConfig.rootDirectory}.
|
|
136
|
+
*/
|
|
137
|
+
readonly rootDirectory: string;
|
|
138
|
+
/**
|
|
139
|
+
* The absolute URL the site is served from, with a trailing slash.
|
|
140
|
+
*/
|
|
141
|
+
readonly siteBaseUrl: string;
|
|
142
|
+
/**
|
|
143
|
+
* See {@link DocsSiteConfig.siteOrigin}.
|
|
144
|
+
*/
|
|
145
|
+
readonly siteOrigin: string;
|
|
146
|
+
/**
|
|
147
|
+
* See {@link DocsSiteConfig.sourceDirectory}.
|
|
148
|
+
*/
|
|
149
|
+
readonly sourceDirectory: string;
|
|
150
|
+
/**
|
|
151
|
+
* See {@link DocsSiteConfig.title}.
|
|
152
|
+
*/
|
|
153
|
+
readonly title: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Applies the defaults to a site's options and derives every path and URL from them.
|
|
157
|
+
*
|
|
158
|
+
* @param config - The site's configuration.
|
|
159
|
+
* @returns The resolved configuration.
|
|
160
|
+
* @throws If the root `package.json` has no `name` or `version`.
|
|
161
|
+
*/
|
|
162
|
+
export declare function resolveDocsSiteConfig(config: DocsSiteConfig): ResolvedDocsSiteConfig;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return '/';
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: 'android'
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const existingProcess = globalThis.process;
|
|
17
|
+
|
|
18
|
+
if (!existingProcess) {
|
|
19
|
+
globalThis.process = browserProcess;
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (existingProcess.versions?.node) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const existingProcessRecord = existingProcess;
|
|
28
|
+
|
|
29
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
30
|
+
existingProcessRecord[key] ??= value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
existingProcessRecord['browser'] = true;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
ensureBrowserProcess();
|
|
37
|
+
})();
|
|
38
|
+
|
|
39
|
+
import { readFileSync } from "node:fs";
|
|
40
|
+
import { join } from "node:path";
|
|
41
|
+
import { DEFAULT_PACKAGE_SITES } from "./api-doc-package-sites.mjs";
|
|
42
|
+
function resolveDocsSiteConfig(config) {
|
|
43
|
+
const {
|
|
44
|
+
docsDirectory = "docs",
|
|
45
|
+
externalTypeLinks = /* @__PURE__ */ new Map(),
|
|
46
|
+
guidesDirectory = "guides",
|
|
47
|
+
owner = "mnaoumov",
|
|
48
|
+
packageSites = DEFAULT_PACKAGE_SITES,
|
|
49
|
+
repo,
|
|
50
|
+
rootDirectory = process.cwd(),
|
|
51
|
+
siteOrigin = "https://mnaoumov.dev",
|
|
52
|
+
sourceDirectory = "src",
|
|
53
|
+
title
|
|
54
|
+
} = config;
|
|
55
|
+
const packageJson = JSON.parse(readFileSync(join(rootDirectory, "package.json"), "utf-8"));
|
|
56
|
+
if (packageJson.name === void 0 || packageJson.version === void 0) {
|
|
57
|
+
throw new Error(`${join(rootDirectory, "package.json")} has no name or no version.`);
|
|
58
|
+
}
|
|
59
|
+
const absoluteDocsDirectory = join(rootDirectory, docsDirectory);
|
|
60
|
+
const docsSourceDirectory = join(absoluteDocsDirectory, "src");
|
|
61
|
+
const contentDocsDirectory = join(docsSourceDirectory, "content", "docs");
|
|
62
|
+
const publicDirectory = join(absoluteDocsDirectory, "public");
|
|
63
|
+
const githubUrl = `https://github.com/${owner}/${repo}`;
|
|
64
|
+
const basePath = `/${repo}`;
|
|
65
|
+
return {
|
|
66
|
+
apiDocSettings: {
|
|
67
|
+
basePath,
|
|
68
|
+
externalTypeLinks,
|
|
69
|
+
outputDirectory: join(contentDocsDirectory, "api"),
|
|
70
|
+
packageName: packageJson.name,
|
|
71
|
+
packageSites,
|
|
72
|
+
sidebarFile: join(docsSourceDirectory, "generated-sidebar.json")
|
|
73
|
+
},
|
|
74
|
+
basePath,
|
|
75
|
+
contentDocsDirectory,
|
|
76
|
+
distDirectory: join(absoluteDocsDirectory, "dist"),
|
|
77
|
+
docsDirectory: absoluteDocsDirectory,
|
|
78
|
+
docsSourceDirectory,
|
|
79
|
+
editLinkBaseUrl: `${githubUrl}/edit/main/`,
|
|
80
|
+
faviconPath: join(publicDirectory, "favicon.svg"),
|
|
81
|
+
githubUrl,
|
|
82
|
+
guidesDirectory,
|
|
83
|
+
ogOutputDirectory: join(publicDirectory, "og"),
|
|
84
|
+
packageName: packageJson.name,
|
|
85
|
+
packageVersion: packageJson.version,
|
|
86
|
+
publicDirectory,
|
|
87
|
+
repo,
|
|
88
|
+
rootDirectory,
|
|
89
|
+
siteBaseUrl: `${siteOrigin}/${repo}/`,
|
|
90
|
+
siteOrigin,
|
|
91
|
+
sourceDirectory: join(rootDirectory, sourceDirectory),
|
|
92
|
+
title
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export {
|
|
96
|
+
resolveDocsSiteConfig
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvZG9jcy1zaXRlLWNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIG9uZSBkZXNjcmlwdGlvbiBvZiBhIGRvY3VtZW50YXRpb24gc2l0ZSB0aGF0IGl0cyBBc3RybyBjb25maWcgYW5kIGl0cyBidWlsZCBjb21tYW5kcyBzaGFyZTogd2hpY2ggcmVwb3NpdG9yeVxuICogaXQgZG9jdW1lbnRzLCB3aGVyZSBpdHMgc291cmNlcyBhbmQgcGFnZXMgbGl2ZSwgYW5kIHdoaWNoIG90aGVyIHNpdGVzIGl0IGxpbmtzIHRvLlxuICovXG5cbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ25vZGU6cGF0aCc7XG5cbmltcG9ydCB0eXBlIHsgQXBpRG9jU2V0dGluZ3MgfSBmcm9tICcuL2FwaS1kb2Mtc2V0dGluZ3MudHMnO1xuXG5pbXBvcnQgeyBERUZBVUxUX1BBQ0tBR0VfU0lURVMgfSBmcm9tICcuL2FwaS1kb2MtcGFja2FnZS1zaXRlcy50cyc7XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgZG9jdW1lbnRhdGlvbiBzaXRlLiBFdmVyeSBwYXRoIGlzIHJlbGF0aXZlIHRvIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yb290RGlyZWN0b3J5fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NzU2l0ZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIGhvbGRpbmcgdGhlIHNpdGU6IGl0cyBgc3JjYCAocGFnZXMsIGBjb250ZW50LmNvbmZpZy50c2ApLCBgcHVibGljYCBhbmQgYnVpbGQgb3V0cHV0IGBkaXN0YC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2RvY3MnXG4gICAqL1xuICByZWFkb25seSBkb2NzRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG5hbWVzIG1hcHBlZCB0byB0aGUgVVJMIHRoZWlyIHJlZmVyZW5jZXMgbGluayB0bywgZm9yIHR5cGVzIG5vIGRvY3VtZW50ZWQgcGFja2FnZSBkZWNsYXJlcy4gVGhlIGxheWVyXG4gICAqIGRvY3VtZW50aW5nIGFuIGVjb3N5c3RlbSdzIHBhY2thZ2VzIGZpbGxzIGl0IHdpdGggdGhhdCBlY29zeXN0ZW0ncyByZWZlcmVuY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWxUeXBlTGlua3M/OiBSZWFkb25seU1hcDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgdW5kZXIgYDxkb2NzPi9zcmMvY29udGVudC9kb2NzYCB0aGUgZ3VpZGVzIHNpZGViYXIgZ3JvdXAgaXMgZ2VuZXJhdGVkIGZyb20uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdndWlkZXMnXG4gICAqL1xuICByZWFkb25seSBndWlkZXNEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBHaXRIdWIgYWNjb3VudCB0aGUgcmVwb3NpdG9yeSBiZWxvbmdzIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbW5hb3Vtb3YnXG4gICAqL1xuICByZWFkb25seSBvd25lcj86IHN0cmluZztcblxuICAvKipcbiAgICogUGFja2FnZSBuYW1lcyBtYXBwZWQgdG8gdGhlIHJvb3QgVVJMIG9mIHRoZWlyIGRvY3VtZW50YXRpb24gc2l0ZSwgd2l0aCBhIHRyYWlsaW5nIHNsYXNoLiBBIHR5cGUgZGVjbGFyZWQgaW4gb25lXG4gICAqIG9mIHRoZW0gbGlua3MgdG8gaXRzIHBhZ2UgdGhlcmUuIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UgaXRzZWxmIGlzIG5ldmVyIGxpbmtlZCB0aGlzIHdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgREVGQVVMVF9QQUNLQUdFX1NJVEVTXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlU2l0ZXM/OiBSZWFkb25seU1hcDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5J3MgbmFtZS4gVGhlIHNpdGUgaXMgc2VydmVkIHVuZGVyIGl0OiBgPHNpdGVPcmlnaW4+LzxyZXBvPi9gLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSByb290LCBob2xkaW5nIGBwYWNrYWdlLmpzb25gLCBgdHNjb25maWcuanNvbmAgYW5kIGBub2RlX21vZHVsZXNgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwcm9jZXNzLmN3ZCgpXG4gICAqL1xuICByZWFkb25seSByb290RGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luIGV2ZXJ5IHNpdGUgb2YgdGhlIGFjY291bnQgaXMgc2VydmVkIGZyb20uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdodHRwczovL21uYW91bW92LmRldidcbiAgICovXG4gIHJlYWRvbmx5IHNpdGVPcmlnaW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgd2hvc2UgbW9kdWxlcyB0aGUgQVBJIHJlZmVyZW5jZSBkb2N1bWVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdzcmMnXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXRlJ3MgdGl0bGUsIHNob3duIGluIGl0cyBoZWFkZXIuXG4gICAqL1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIHtAbGluayBEb2NzU2l0ZUNvbmZpZ30gd2l0aCBldmVyeSBkZWZhdWx0IGFwcGxpZWQsIGV2ZXJ5IHBhdGggYWJzb2x1dGUsIGFuZCB0aGUgdmFsdWVzIGRlcml2ZWQgZnJvbSB0aGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkRG9jc1NpdGVDb25maWcge1xuICAvKipcbiAgICogVGhlIEFQSSBkb2N1bWVudGF0aW9uIGdlbmVyYXRvcidzIHNldHRpbmdzIGZvciB0aGUgc2l0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwaURvY1NldHRpbmdzOiBBcGlEb2NTZXR0aW5ncztcblxuICAvKipcbiAgICogVGhlIGJhc2UgcGF0aCwgZS5nLiBgL3R5cGVzY3JpcHQtbGliYC5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGF0aW9uIGNvbnRlbnQgcm9vdCwgYDxkb2NzPi9zcmMvY29udGVudC9kb2NzYC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnREb2NzRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBidWlsZCBvdXRwdXQgZm9sZGVyLCBgPGRvY3M+L2Rpc3RgLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzdERpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSBmb2xkZXIuXG4gICAqL1xuICByZWFkb25seSBkb2NzRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXRlJ3Mgc291cmNlIGZvbGRlciwgYDxkb2NzPi9zcmNgLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9jc1NvdXJjZURpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIGEgcGFnZSdzIGVkaXQgbGluayBzdGFydHMgd2l0aDogdGhlIHJlcG9zaXRvcnkncyBgZWRpdC9tYWluL2AgdHJlZS5cbiAgICovXG4gIHJlYWRvbmx5IGVkaXRMaW5rQmFzZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l0ZSdzIFNWRyBsb2dvLCBgPGRvY3M+L3B1YmxpYy9mYXZpY29uLnN2Z2AuXG4gICAqL1xuICByZWFkb25seSBmYXZpY29uUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSdzIEdpdEh1YiBVUkwuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5ndWlkZXNEaXJlY3Rvcnl9LlxuICAgKi9cbiAgcmVhZG9ubHkgZ3VpZGVzRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmb2xkZXIgdGhlIE9wZW4gR3JhcGggY2FyZHMgYXJlIHdyaXR0ZW4gdG8sIGA8ZG9jcz4vcHVibGljL29nYC5cbiAgICovXG4gIHJlYWRvbmx5IG9nT3V0cHV0RGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb2N1bWVudGVkIHBhY2thZ2UncyBuYW1lLCByZWFkIGZyb20gdGhlIHJvb3QgYHBhY2thZ2UuanNvbmAuXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZG9jdW1lbnRlZCBwYWNrYWdlJ3MgdmVyc2lvbiwgcmVhZCBmcm9tIHRoZSByb290IGBwYWNrYWdlLmpzb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpdGUncyBzdGF0aWMgZm9sZGVyLCBgPGRvY3M+L3B1YmxpY2AuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yZXBvfS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5yb290RGlyZWN0b3J5fS5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3REaXJlY3Rvcnk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFic29sdXRlIFVSTCB0aGUgc2l0ZSBpcyBzZXJ2ZWQgZnJvbSwgd2l0aCBhIHRyYWlsaW5nIHNsYXNoLlxuICAgKi9cbiAgcmVhZG9ubHkgc2l0ZUJhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5zaXRlT3JpZ2lufS5cbiAgICovXG4gIHJlYWRvbmx5IHNpdGVPcmlnaW46IHN0cmluZztcblxuICAvKipcbiAgICogU2VlIHtAbGluayBEb2NzU2l0ZUNvbmZpZy5zb3VyY2VEaXJlY3Rvcnl9LlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgRG9jc1NpdGVDb25maWcudGl0bGV9LlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhY2thZ2VKc29uRmllbGRzIHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBkZWZhdWx0cyB0byBhIHNpdGUncyBvcHRpb25zIGFuZCBkZXJpdmVzIGV2ZXJ5IHBhdGggYW5kIFVSTCBmcm9tIHRoZW0uXG4gKlxuICogQHBhcmFtIGNvbmZpZyAtIFRoZSBzaXRlJ3MgY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBjb25maWd1cmF0aW9uLlxuICogQHRocm93cyBJZiB0aGUgcm9vdCBgcGFja2FnZS5qc29uYCBoYXMgbm8gYG5hbWVgIG9yIGB2ZXJzaW9uYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVEb2NzU2l0ZUNvbmZpZyhjb25maWc6IERvY3NTaXRlQ29uZmlnKTogUmVzb2x2ZWREb2NzU2l0ZUNvbmZpZyB7XG4gIGNvbnN0IHtcbiAgICBkb2NzRGlyZWN0b3J5ID0gJ2RvY3MnLFxuICAgIGV4dGVybmFsVHlwZUxpbmtzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbiAgICBndWlkZXNEaXJlY3RvcnkgPSAnZ3VpZGVzJyxcbiAgICBvd25lciA9ICdtbmFvdW1vdicsXG4gICAgcGFja2FnZVNpdGVzID0gREVGQVVMVF9QQUNLQUdFX1NJVEVTLFxuICAgIHJlcG8sXG4gICAgcm9vdERpcmVjdG9yeSA9IHByb2Nlc3MuY3dkKCksXG4gICAgc2l0ZU9yaWdpbiA9ICdodHRwczovL21uYW91bW92LmRldicsXG4gICAgc291cmNlRGlyZWN0b3J5ID0gJ3NyYycsXG4gICAgdGl0bGVcbiAgfSA9IGNvbmZpZztcblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGVTeW5jKGpvaW4ocm9vdERpcmVjdG9yeSwgJ3BhY2thZ2UuanNvbicpLCAndXRmLTgnKSkgYXMgUGFja2FnZUpzb25GaWVsZHM7XG4gIGlmIChwYWNrYWdlSnNvbi5uYW1lID09PSB1bmRlZmluZWQgfHwgcGFja2FnZUpzb24udmVyc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2pvaW4ocm9vdERpcmVjdG9yeSwgJ3BhY2thZ2UuanNvbicpfSBoYXMgbm8gbmFtZSBvciBubyB2ZXJzaW9uLmApO1xuICB9XG5cbiAgY29uc3QgYWJzb2x1dGVEb2NzRGlyZWN0b3J5ID0gam9pbihyb290RGlyZWN0b3J5LCBkb2NzRGlyZWN0b3J5KTtcbiAgY29uc3QgZG9jc1NvdXJjZURpcmVjdG9yeSA9IGpvaW4oYWJzb2x1dGVEb2NzRGlyZWN0b3J5LCAnc3JjJyk7XG4gIGNvbnN0IGNvbnRlbnREb2NzRGlyZWN0b3J5ID0gam9pbihkb2NzU291cmNlRGlyZWN0b3J5LCAnY29udGVudCcsICdkb2NzJyk7XG4gIGNvbnN0IHB1YmxpY0RpcmVjdG9yeSA9IGpvaW4oYWJzb2x1dGVEb2NzRGlyZWN0b3J5LCAncHVibGljJyk7XG4gIGNvbnN0IGdpdGh1YlVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vJHtvd25lcn0vJHtyZXBvfWA7XG5cbiAgY29uc3QgYmFzZVBhdGggPSBgLyR7cmVwb31gO1xuICByZXR1cm4ge1xuICAgIGFwaURvY1NldHRpbmdzOiB7XG4gICAgICBiYXNlUGF0aCxcbiAgICAgIGV4dGVybmFsVHlwZUxpbmtzLFxuICAgICAgb3V0cHV0RGlyZWN0b3J5OiBqb2luKGNvbnRlbnREb2NzRGlyZWN0b3J5LCAnYXBpJyksXG4gICAgICBwYWNrYWdlTmFtZTogcGFja2FnZUpzb24ubmFtZSxcbiAgICAgIHBhY2thZ2VTaXRlcyxcbiAgICAgIHNpZGViYXJGaWxlOiBqb2luKGRvY3NTb3VyY2VEaXJlY3RvcnksICdnZW5lcmF0ZWQtc2lkZWJhci5qc29uJylcbiAgICB9LFxuICAgIGJhc2VQYXRoLFxuICAgIGNvbnRlbnREb2NzRGlyZWN0b3J5LFxuICAgIGRpc3REaXJlY3Rvcnk6IGpvaW4oYWJzb2x1dGVEb2NzRGlyZWN0b3J5LCAnZGlzdCcpLFxuICAgIGRvY3NEaXJlY3Rvcnk6IGFic29sdXRlRG9jc0RpcmVjdG9yeSxcbiAgICBkb2NzU291cmNlRGlyZWN0b3J5LFxuICAgIGVkaXRMaW5rQmFzZVVybDogYCR7Z2l0aHViVXJsfS9lZGl0L21haW4vYCxcbiAgICBmYXZpY29uUGF0aDogam9pbihwdWJsaWNEaXJlY3RvcnksICdmYXZpY29uLnN2ZycpLFxuICAgIGdpdGh1YlVybCxcbiAgICBndWlkZXNEaXJlY3RvcnksXG4gICAgb2dPdXRwdXREaXJlY3Rvcnk6IGpvaW4ocHVibGljRGlyZWN0b3J5LCAnb2cnKSxcbiAgICBwYWNrYWdlTmFtZTogcGFja2FnZUpzb24ubmFtZSxcbiAgICBwYWNrYWdlVmVyc2lvbjogcGFja2FnZUpzb24udmVyc2lvbixcbiAgICBwdWJsaWNEaXJlY3RvcnksXG4gICAgcmVwbyxcbiAgICByb290RGlyZWN0b3J5LFxuICAgIHNpdGVCYXNlVXJsOiBgJHtzaXRlT3JpZ2lufS8ke3JlcG99L2AsXG4gICAgc2l0ZU9yaWdpbixcbiAgICBzb3VyY2VEaXJlY3Rvcnk6IGpvaW4ocm9vdERpcmVjdG9yeSwgc291cmNlRGlyZWN0b3J5KSxcbiAgICB0aXRsZVxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLFNBQVMsb0JBQW9CO0FBQzdCLFNBQVMsWUFBWTtBQUlyQixTQUFTLDZCQUE2QjtBQThML0IsU0FBUyxzQkFBc0IsUUFBZ0Q7QUFDcEYsUUFBTTtBQUFBLElBQ0osZ0JBQWdCO0FBQUEsSUFDaEIsb0JBQW9CLG9CQUFJLElBQW9CO0FBQUEsSUFDNUMsa0JBQWtCO0FBQUEsSUFDbEIsUUFBUTtBQUFBLElBQ1IsZUFBZTtBQUFBLElBQ2Y7QUFBQSxJQUNBLGdCQUFnQixRQUFRLElBQUk7QUFBQSxJQUM1QixhQUFhO0FBQUEsSUFDYixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLEVBQ0YsSUFBSTtBQUVKLFFBQU0sY0FBYyxLQUFLLE1BQU0sYUFBYSxLQUFLLGVBQWUsY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUN6RixNQUFJLFlBQVksU0FBUyxVQUFhLFlBQVksWUFBWSxRQUFXO0FBQ3ZFLFVBQU0sSUFBSSxNQUFNLEdBQUcsS0FBSyxlQUFlLGNBQWMsQ0FBQyw2QkFBNkI7QUFBQSxFQUNyRjtBQUVBLFFBQU0sd0JBQXdCLEtBQUssZUFBZSxhQUFhO0FBQy9ELFFBQU0sc0JBQXNCLEtBQUssdUJBQXVCLEtBQUs7QUFDN0QsUUFBTSx1QkFBdUIsS0FBSyxxQkFBcUIsV0FBVyxNQUFNO0FBQ3hFLFFBQU0sa0JBQWtCLEtBQUssdUJBQXVCLFFBQVE7QUFDNUQsUUFBTSxZQUFZLHNCQUFzQixLQUFLLElBQUksSUFBSTtBQUVyRCxRQUFNLFdBQVcsSUFBSSxJQUFJO0FBQ3pCLFNBQU87QUFBQSxJQUNMLGdCQUFnQjtBQUFBLE1BQ2Q7QUFBQSxNQUNBO0FBQUEsTUFDQSxpQkFBaUIsS0FBSyxzQkFBc0IsS0FBSztBQUFBLE1BQ2pELGFBQWEsWUFBWTtBQUFBLE1BQ3pCO0FBQUEsTUFDQSxhQUFhLEtBQUsscUJBQXFCLHdCQUF3QjtBQUFBLElBQ2pFO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLGVBQWUsS0FBSyx1QkFBdUIsTUFBTTtBQUFBLElBQ2pELGVBQWU7QUFBQSxJQUNmO0FBQUEsSUFDQSxpQkFBaUIsR0FBRyxTQUFTO0FBQUEsSUFDN0IsYUFBYSxLQUFLLGlCQUFpQixhQUFhO0FBQUEsSUFDaEQ7QUFBQSxJQUNBO0FBQUEsSUFDQSxtQkFBbUIsS0FBSyxpQkFBaUIsSUFBSTtBQUFBLElBQzdDLGFBQWEsWUFBWTtBQUFBLElBQ3pCLGdCQUFnQixZQUFZO0FBQUEsSUFDNUI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsYUFBYSxHQUFHLFVBQVUsSUFBSSxJQUFJO0FBQUEsSUFDbEM7QUFBQSxJQUNBLGlCQUFpQixLQUFLLGVBQWUsZUFBZTtBQUFBLElBQ3BEO0FBQUEsRUFDRjtBQUNGOyIsIm5hbWVzIjpbXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.mts" />
|
|
2
|
+
export * as 'api-doc-constants' from './api-doc-constants.mjs';
|
|
3
|
+
export * as 'api-doc-jsdoc' from './api-doc-jsdoc.mjs';
|
|
4
|
+
export * as 'api-doc-link-rendering' from './api-doc-link-rendering.mjs';
|
|
5
|
+
export * as 'api-doc-package-sites' from './api-doc-package-sites.mjs';
|
|
6
|
+
export * as 'api-doc-page-generation' from './api-doc-page-generation.mjs';
|
|
7
|
+
export * as 'api-doc-route-segments' from './api-doc-route-segments.mjs';
|
|
8
|
+
export * as 'api-doc-settings' from './api-doc-settings.mjs';
|
|
9
|
+
export * as 'api-doc-source-processing' from './api-doc-source-processing.mjs';
|
|
10
|
+
export * as 'api-doc-text-utils' from './api-doc-text-utils.mjs';
|
|
11
|
+
export * as 'api-doc-type-merging' from './api-doc-type-merging.mjs';
|
|
12
|
+
export * as 'api-doc-types' from './api-doc-types.mjs';
|
|
13
|
+
export * as 'api-docs' from './api-docs.mjs';
|
|
14
|
+
export * as 'astro-config' from './astro-config.mjs';
|
|
15
|
+
export * as 'docs-links' from './docs-links.mjs';
|
|
16
|
+
export * as 'docs-site-assets' from './docs-site-assets.mjs';
|
|
17
|
+
export * as 'docs-site-commands' from './docs-site-commands.mjs';
|
|
18
|
+
export * as 'docs-site-config' from './docs-site-config.mjs';
|
|
19
|
+
export * as 'link-check' from './link-check.mjs';
|
|
20
|
+
export * as 'og-image-page' from './og-image-page.mjs';
|
|
21
|
+
export * as 'og-image' from './og-image.mjs';
|
|
22
|
+
export * as 'og-images' from './og-images.mjs';
|
|
23
|
+
export * as 'route-data' from './route-data.mjs';
|
|
24
|
+
export * as 'satteri-github-alerts' from './satteri-github-alerts.mjs';
|
|
25
|
+
export * as 'satteri-relative-links' from './satteri-relative-links.mjs';
|
|
26
|
+
export * as 'unrendered-alerts' from './unrendered-alerts.mjs';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import * as api_doc_constants from "./api-doc-constants.mjs";
|
|
7
|
+
import * as api_doc_jsdoc from "./api-doc-jsdoc.mjs";
|
|
8
|
+
import * as api_doc_link_rendering from "./api-doc-link-rendering.mjs";
|
|
9
|
+
import * as api_doc_package_sites from "./api-doc-package-sites.mjs";
|
|
10
|
+
import * as api_doc_page_generation from "./api-doc-page-generation.mjs";
|
|
11
|
+
import * as api_doc_route_segments from "./api-doc-route-segments.mjs";
|
|
12
|
+
import * as api_doc_settings from "./api-doc-settings.mjs";
|
|
13
|
+
import * as api_doc_source_processing from "./api-doc-source-processing.mjs";
|
|
14
|
+
import * as api_doc_text_utils from "./api-doc-text-utils.mjs";
|
|
15
|
+
import * as api_doc_type_merging from "./api-doc-type-merging.mjs";
|
|
16
|
+
import * as api_doc_types from "./api-doc-types.mjs";
|
|
17
|
+
import * as api_docs from "./api-docs.mjs";
|
|
18
|
+
import * as astro_config from "./astro-config.mjs";
|
|
19
|
+
import * as docs_links from "./docs-links.mjs";
|
|
20
|
+
import * as docs_site_assets from "./docs-site-assets.mjs";
|
|
21
|
+
import * as docs_site_commands from "./docs-site-commands.mjs";
|
|
22
|
+
import * as docs_site_config from "./docs-site-config.mjs";
|
|
23
|
+
import * as link_check from "./link-check.mjs";
|
|
24
|
+
import * as og_image_page from "./og-image-page.mjs";
|
|
25
|
+
import * as og_image from "./og-image.mjs";
|
|
26
|
+
import * as og_images from "./og-images.mjs";
|
|
27
|
+
import * as route_data from "./route-data.mjs";
|
|
28
|
+
import * as satteri_github_alerts from "./satteri-github-alerts.mjs";
|
|
29
|
+
import * as satteri_relative_links from "./satteri-relative-links.mjs";
|
|
30
|
+
import * as unrendered_alerts from "./unrendered-alerts.mjs";
|
|
31
|
+
export {
|
|
32
|
+
api_doc_constants as "api-doc-constants",
|
|
33
|
+
api_doc_jsdoc as "api-doc-jsdoc",
|
|
34
|
+
api_doc_link_rendering as "api-doc-link-rendering",
|
|
35
|
+
api_doc_package_sites as "api-doc-package-sites",
|
|
36
|
+
api_doc_page_generation as "api-doc-page-generation",
|
|
37
|
+
api_doc_route_segments as "api-doc-route-segments",
|
|
38
|
+
api_doc_settings as "api-doc-settings",
|
|
39
|
+
api_doc_source_processing as "api-doc-source-processing",
|
|
40
|
+
api_doc_text_utils as "api-doc-text-utils",
|
|
41
|
+
api_doc_type_merging as "api-doc-type-merging",
|
|
42
|
+
api_doc_types as "api-doc-types",
|
|
43
|
+
api_docs as "api-docs",
|
|
44
|
+
astro_config as "astro-config",
|
|
45
|
+
docs_links as "docs-links",
|
|
46
|
+
docs_site_assets as "docs-site-assets",
|
|
47
|
+
docs_site_commands as "docs-site-commands",
|
|
48
|
+
docs_site_config as "docs-site-config",
|
|
49
|
+
link_check as "link-check",
|
|
50
|
+
og_image as "og-image",
|
|
51
|
+
og_image_page as "og-image-page",
|
|
52
|
+
og_images as "og-images",
|
|
53
|
+
route_data as "route-data",
|
|
54
|
+
satteri_github_alerts as "satteri-github-alerts",
|
|
55
|
+
satteri_relative_links as "satteri-relative-links",
|
|
56
|
+
unrendered_alerts as "unrendered-alerts"
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2RvY3Mtc2l0ZS9pbmRleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGFzICdhcGktZG9jLWNvbnN0YW50cycgZnJvbSAnLi9hcGktZG9jLWNvbnN0YW50cy50cyc7XG5leHBvcnQgKiBhcyAnYXBpLWRvYy1qc2RvYycgZnJvbSAnLi9hcGktZG9jLWpzZG9jLnRzJztcbmV4cG9ydCAqIGFzICdhcGktZG9jLWxpbmstcmVuZGVyaW5nJyBmcm9tICcuL2FwaS1kb2MtbGluay1yZW5kZXJpbmcudHMnO1xuZXhwb3J0ICogYXMgJ2FwaS1kb2MtcGFja2FnZS1zaXRlcycgZnJvbSAnLi9hcGktZG9jLXBhY2thZ2Utc2l0ZXMudHMnO1xuZXhwb3J0ICogYXMgJ2FwaS1kb2MtcGFnZS1nZW5lcmF0aW9uJyBmcm9tICcuL2FwaS1kb2MtcGFnZS1nZW5lcmF0aW9uLnRzJztcbmV4cG9ydCAqIGFzICdhcGktZG9jLXJvdXRlLXNlZ21lbnRzJyBmcm9tICcuL2FwaS1kb2Mtcm91dGUtc2VnbWVudHMudHMnO1xuZXhwb3J0ICogYXMgJ2FwaS1kb2Mtc2V0dGluZ3MnIGZyb20gJy4vYXBpLWRvYy1zZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyAnYXBpLWRvYy1zb3VyY2UtcHJvY2Vzc2luZycgZnJvbSAnLi9hcGktZG9jLXNvdXJjZS1wcm9jZXNzaW5nLnRzJztcbmV4cG9ydCAqIGFzICdhcGktZG9jLXRleHQtdXRpbHMnIGZyb20gJy4vYXBpLWRvYy10ZXh0LXV0aWxzLnRzJztcbmV4cG9ydCAqIGFzICdhcGktZG9jLXR5cGUtbWVyZ2luZycgZnJvbSAnLi9hcGktZG9jLXR5cGUtbWVyZ2luZy50cyc7XG5leHBvcnQgKiBhcyAnYXBpLWRvYy10eXBlcycgZnJvbSAnLi9hcGktZG9jLXR5cGVzLnRzJztcbmV4cG9ydCAqIGFzICdhcGktZG9jcycgZnJvbSAnLi9hcGktZG9jcy50cyc7XG5leHBvcnQgKiBhcyAnYXN0cm8tY29uZmlnJyBmcm9tICcuL2FzdHJvLWNvbmZpZy50cyc7XG5leHBvcnQgKiBhcyAnZG9jcy1saW5rcycgZnJvbSAnLi9kb2NzLWxpbmtzLnRzJztcbmV4cG9ydCAqIGFzICdkb2NzLXNpdGUtYXNzZXRzJyBmcm9tICcuL2RvY3Mtc2l0ZS1hc3NldHMudHMnO1xuZXhwb3J0ICogYXMgJ2RvY3Mtc2l0ZS1jb21tYW5kcycgZnJvbSAnLi9kb2NzLXNpdGUtY29tbWFuZHMudHMnO1xuZXhwb3J0ICogYXMgJ2RvY3Mtc2l0ZS1jb25maWcnIGZyb20gJy4vZG9jcy1zaXRlLWNvbmZpZy50cyc7XG5leHBvcnQgKiBhcyAnbGluay1jaGVjaycgZnJvbSAnLi9saW5rLWNoZWNrLnRzJztcbmV4cG9ydCAqIGFzICdvZy1pbWFnZS1wYWdlJyBmcm9tICcuL29nLWltYWdlLXBhZ2UudHMnO1xuZXhwb3J0ICogYXMgJ29nLWltYWdlJyBmcm9tICcuL29nLWltYWdlLnRzJztcbmV4cG9ydCAqIGFzICdvZy1pbWFnZXMnIGZyb20gJy4vb2ctaW1hZ2VzLnRzJztcbmV4cG9ydCAqIGFzICdyb3V0ZS1kYXRhJyBmcm9tICcuL3JvdXRlLWRhdGEudHMnO1xuZXhwb3J0ICogYXMgJ3NhdHRlcmktZ2l0aHViLWFsZXJ0cycgZnJvbSAnLi9zYXR0ZXJpLWdpdGh1Yi1hbGVydHMudHMnO1xuZXhwb3J0ICogYXMgJ3NhdHRlcmktcmVsYXRpdmUtbGlua3MnIGZyb20gJy4vc2F0dGVyaS1yZWxhdGl2ZS1saW5rcy50cyc7XG5leHBvcnQgKiBhcyAndW5yZW5kZXJlZC1hbGVydHMnIGZyb20gJy4vdW5yZW5kZXJlZC1hbGVydHMudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFFQSxZQUFZQSx1QkFBeUI7QUFDckMsWUFBWUMsbUJBQXFCO0FBQ2pDLFlBQVlDLDRCQUE4QjtBQUMxQyxZQUFZQywyQkFBNkI7QUFDekMsWUFBWUMsNkJBQStCO0FBQzNDLFlBQVlDLDRCQUE4QjtBQUMxQyxZQUFZQyxzQkFBd0I7QUFDcEMsWUFBWUMsK0JBQWlDO0FBQzdDLFlBQVlDLHdCQUEwQjtBQUN0QyxZQUFZQywwQkFBNEI7QUFDeEMsWUFBWUMsbUJBQXFCO0FBQ2pDLFlBQVlDLGNBQWdCO0FBQzVCLFlBQVlDLGtCQUFvQjtBQUNoQyxZQUFZQyxnQkFBa0I7QUFDOUIsWUFBWUMsc0JBQXdCO0FBQ3BDLFlBQVlDLHdCQUEwQjtBQUN0QyxZQUFZQyxzQkFBd0I7QUFDcEMsWUFBWUMsZ0JBQWtCO0FBQzlCLFlBQVlDLG1CQUFxQjtBQUNqQyxZQUFZQyxjQUFnQjtBQUM1QixZQUFZQyxlQUFpQjtBQUM3QixZQUFZQyxnQkFBa0I7QUFDOUIsWUFBWUMsMkJBQTZCO0FBQ3pDLFlBQVlDLDRCQUE4QjtBQUMxQyxZQUFZQyx1QkFBeUI7IiwKICAibmFtZXMiOiBbImFwaS1kb2MtY29uc3RhbnRzIiwgImFwaS1kb2MtanNkb2MiLCAiYXBpLWRvYy1saW5rLXJlbmRlcmluZyIsICJhcGktZG9jLXBhY2thZ2Utc2l0ZXMiLCAiYXBpLWRvYy1wYWdlLWdlbmVyYXRpb24iLCAiYXBpLWRvYy1yb3V0ZS1zZWdtZW50cyIsICJhcGktZG9jLXNldHRpbmdzIiwgImFwaS1kb2Mtc291cmNlLXByb2Nlc3NpbmciLCAiYXBpLWRvYy10ZXh0LXV0aWxzIiwgImFwaS1kb2MtdHlwZS1tZXJnaW5nIiwgImFwaS1kb2MtdHlwZXMiLCAiYXBpLWRvY3MiLCAiYXN0cm8tY29uZmlnIiwgImRvY3MtbGlua3MiLCAiZG9jcy1zaXRlLWFzc2V0cyIsICJkb2NzLXNpdGUtY29tbWFuZHMiLCAiZG9jcy1zaXRlLWNvbmZpZyIsICJsaW5rLWNoZWNrIiwgIm9nLWltYWdlLXBhZ2UiLCAib2ctaW1hZ2UiLCAib2ctaW1hZ2VzIiwgInJvdXRlLWRhdGEiLCAic2F0dGVyaS1naXRodWItYWxlcnRzIiwgInNhdHRlcmktcmVsYXRpdmUtbGlua3MiLCAidW5yZW5kZXJlZC1hbGVydHMiXQp9Cg==
|