@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,91 @@
|
|
|
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 { getMandatoryNamedGroup } from "@mnaoumov/typescript-lib/reg-exp";
|
|
40
|
+
import { toRouteSegmentPreserveCase } from "./api-doc-route-segments.mjs";
|
|
41
|
+
import { getApiDocSettings } from "./api-doc-settings.mjs";
|
|
42
|
+
const PACKAGE_DECLARATION_REG_EXP = /\/node_modules\/(?<Package>(?:@[^/]+\/)?[^/]+)\/dist\/lib\/(?:cjs|esm)\/(?<Path>.+?)(?:\.d\.[cm]?ts)?$/;
|
|
43
|
+
const DEFAULT_PACKAGE_SITES = new Map([
|
|
44
|
+
"@mnaoumov/obsidian-dev-toolkit",
|
|
45
|
+
"@mnaoumov/obsidian-lib",
|
|
46
|
+
"@mnaoumov/typescript-dev-toolkit",
|
|
47
|
+
"@mnaoumov/typescript-lib",
|
|
48
|
+
"@mnaoumov/typescript-test-toolkit"
|
|
49
|
+
].map((packageName) => [packageName, `https://mnaoumov.dev/${packageName.slice("@mnaoumov/".length)}/`]));
|
|
50
|
+
const moduleState = {
|
|
51
|
+
urls: /* @__PURE__ */ new Map()
|
|
52
|
+
};
|
|
53
|
+
function clearPackageDeclarations() {
|
|
54
|
+
moduleState.urls.clear();
|
|
55
|
+
}
|
|
56
|
+
function getPackageTypeUrl(name) {
|
|
57
|
+
return moduleState.urls.get(name) ?? void 0;
|
|
58
|
+
}
|
|
59
|
+
function registerPackageDeclaration(name, declarationFilePath) {
|
|
60
|
+
const url = toPackageTypeUrl({ declarationFilePath, name, settings: getApiDocSettings() });
|
|
61
|
+
if (url === void 0) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const existing = moduleState.urls.get(name);
|
|
65
|
+
if (existing === void 0) {
|
|
66
|
+
moduleState.urls.set(name, url);
|
|
67
|
+
} else if (existing !== url) {
|
|
68
|
+
moduleState.urls.set(name, null);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function toPackageTypeUrl(params) {
|
|
72
|
+
const { declarationFilePath, name, settings } = params;
|
|
73
|
+
const match = PACKAGE_DECLARATION_REG_EXP.exec(declarationFilePath.replaceAll("\\", "/"));
|
|
74
|
+
if (match === null) {
|
|
75
|
+
return void 0;
|
|
76
|
+
}
|
|
77
|
+
const packageName = getMandatoryNamedGroup(match, "Package");
|
|
78
|
+
const path = getMandatoryNamedGroup(match, "Path");
|
|
79
|
+
if (packageName === settings.packageName) {
|
|
80
|
+
return void 0;
|
|
81
|
+
}
|
|
82
|
+
const site = settings.packageSites.get(packageName);
|
|
83
|
+
return site === void 0 ? void 0 : `${site}api/${path}/${toRouteSegmentPreserveCase(name)}/`;
|
|
84
|
+
}
|
|
85
|
+
export {
|
|
86
|
+
DEFAULT_PACKAGE_SITES,
|
|
87
|
+
clearPackageDeclarations,
|
|
88
|
+
getPackageTypeUrl,
|
|
89
|
+
registerPackageDeclaration
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb2NzLXNpdGUvYXBpLWRvYy1wYWNrYWdlLXNpdGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDcm9zcy1zaXRlIGxpbmtzOiBhIHR5cGUgZGVjbGFyZWQgaW4gYW5vdGhlciBkb2N1bWVudGVkIHBhY2thZ2UgbGlua3MgdG8gaXRzIHBhZ2Ugb24gdGhhdCBwYWNrYWdlJ3Mgc2l0ZS5cbiAqXG4gKiBBIHR5cGUgaXMgcmVjb2duaXplZCBieSB3aGVyZSBpdHMgZGVjbGFyYXRpb24gbGl2ZXMsIG5vdCBieSBpdHMgbmFtZTogYSBkZWNsYXJhdGlvbiB1bmRlclxuICogYG5vZGVfbW9kdWxlcy88cGFja2FnZT4vZGlzdC9saWIve2VzbSxjanN9LzxwYXRoPi5kLnttdHMsY3RzfWAgb2YgYSBwYWNrYWdlIGluXG4gKiB7QGxpbmsgQXBpRG9jU2V0dGluZ3MucGFja2FnZVNpdGVzfSBpcyB0aGUgcGFnZSBgPHNpdGU+YXBpLzxwYXRoPi88VHlwZT4vYCwgYnVpbHQgd2l0aCB0aGUgZ2VuZXJhdG9yJ3Mgb3duIHNsdWdcbiAqIHJ1bGVzLCBiZWNhdXNlIHRoYXQgc2l0ZSB3YXMgZ2VuZXJhdGVkIGZyb20gdGhlIHNhbWUgdHJlZS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuXG5pbXBvcnQgdHlwZSB7IEFwaURvY1NldHRpbmdzIH0gZnJvbSAnLi9hcGktZG9jLXNldHRpbmdzLnRzJztcblxuaW1wb3J0IHsgdG9Sb3V0ZVNlZ21lbnRQcmVzZXJ2ZUNhc2UgfSBmcm9tICcuL2FwaS1kb2Mtcm91dGUtc2VnbWVudHMudHMnO1xuaW1wb3J0IHsgZ2V0QXBpRG9jU2V0dGluZ3MgfSBmcm9tICcuL2FwaS1kb2Mtc2V0dGluZ3MudHMnO1xuXG5jb25zdCBQQUNLQUdFX0RFQ0xBUkFUSU9OX1JFR19FWFAgPSAvXFwvbm9kZV9tb2R1bGVzXFwvKD88UGFja2FnZT4oPzpAW14vXStcXC8pP1teL10rKVxcL2Rpc3RcXC9saWJcXC8oPzpjanN8ZXNtKVxcLyg/PFBhdGg+Lis/KSg/OlxcLmRcXC5bY21dP3RzKT8kLztcblxuLyoqXG4gKiBUaGUgZG9jdW1lbnRhdGlvbiBzaXRlcyBvZiB0aGUgYEBtbmFvdW1vdmAgcGFja2FnZXMsIHdoaWNoIGVhY2ggc2l0ZSBsaW5rcyB0byB1bmxlc3MgdG9sZCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBQ0tBR0VfU0lURVM6IFJlYWRvbmx5TWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xuICAnQG1uYW91bW92L29ic2lkaWFuLWRldi10b29sa2l0JyxcbiAgJ0BtbmFvdW1vdi9vYnNpZGlhbi1saWInLFxuICAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQnLFxuICAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliJyxcbiAgJ0BtbmFvdW1vdi90eXBlc2NyaXB0LXRlc3QtdG9vbGtpdCdcbl0ubWFwKChwYWNrYWdlTmFtZSkgPT4gW3BhY2thZ2VOYW1lLCBgaHR0cHM6Ly9tbmFvdW1vdi5kZXYvJHtwYWNrYWdlTmFtZS5zbGljZSgnQG1uYW91bW92LycubGVuZ3RoKX0vYF0pKTtcblxuaW50ZXJmYWNlIE1vZHVsZVN0YXRlIHtcbiAgLyoqXG4gICAqIFR5cGUgbmFtZSB0byBpdHMgcGFnZSBVUkw7IGBudWxsYCB3aGVuIHR3byBwYWNrYWdlcyBkZWNsYXJlIHRoZSBuYW1lLCB3aGljaCBjYW5ub3QgYmUgdG9sZCBhcGFydCBmcm9tIHRleHQuXG4gICAqL1xuICByZWFkb25seSB1cmxzOiBNYXA8c3RyaW5nLCBudWxsIHwgc3RyaW5nPjtcbn1cblxuY29uc3QgbW9kdWxlU3RhdGU6IE1vZHVsZVN0YXRlID0ge1xuICB1cmxzOiBuZXcgTWFwKClcbn07XG5cbmludGVyZmFjZSBUb1BhY2thZ2VUeXBlVXJsUGFyYW1zIHtcbiAgcmVhZG9ubHkgZGVjbGFyYXRpb25GaWxlUGF0aDogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNldHRpbmdzOiBBcGlEb2NTZXR0aW5ncztcbn1cblxuLyoqXG4gKiBGb3JnZXRzIGV2ZXJ5IGRlY2xhcmF0aW9uIHtAbGluayByZWdpc3RlclBhY2thZ2VEZWNsYXJhdGlvbn0gcmVjb3JkZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGVhclBhY2thZ2VEZWNsYXJhdGlvbnMoKTogdm9pZCB7XG4gIG1vZHVsZVN0YXRlLnVybHMuY2xlYXIoKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBwYWdlIFVSTCBvZiBhIHR5cGUgZGVjbGFyZWQgaW4gYW5vdGhlciBkb2N1bWVudGVkIHBhY2thZ2UuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgdHlwZSdzIG5hbWUsIGFzIHR5cGUgdGV4dCBwcmludHMgaXQuXG4gKiBAcmV0dXJucyBUaGUgVVJMLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vIGRvY3VtZW50ZWQgcGFja2FnZSBkZWNsYXJlcyBleGFjdGx5IG9uZSB0eXBlIG9mIHRoYXQgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBhY2thZ2VUeXBlVXJsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBtb2R1bGVTdGF0ZS51cmxzLmdldChuYW1lKSA/PyB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmVjb3JkcyB3aGVyZSBhIHR5cGUgaXMgZGVjbGFyZWQsIHNvIGl0cyByZWZlcmVuY2VzIGxpbmsgdG8gaXRzIHBhZ2Ugb24gdGhhdCBwYWNrYWdlJ3Mgc2l0ZS5cbiAqXG4gKiBBIGRlY2xhcmF0aW9uIG91dHNpZGUgZXZlcnkge0BsaW5rIEFwaURvY1NldHRpbmdzLnBhY2thZ2VTaXRlc30gcGFja2FnZSBpcyBpZ25vcmVkLiBBIG5hbWUgdHdvIHBhY2thZ2VzIGRlY2xhcmUgaXNcbiAqIHJlbWVtYmVyZWQgYXMgYW1iaWd1b3VzIGFuZCBuZXZlciBsaW5rZWQuXG4gKlxuICogQHBhcmFtIG5hbWUgLSBUaGUgdHlwZSdzIG5hbWUuXG4gKiBAcGFyYW0gZGVjbGFyYXRpb25GaWxlUGF0aCAtIFRoZSBkZWNsYXJhdGlvbiBmaWxlJ3MgcGF0aCwgd2l0aCBvciB3aXRob3V0IGl0cyBgLmQubXRzYCAvIGAuZC5jdHNgIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUGFja2FnZURlY2xhcmF0aW9uKG5hbWU6IHN0cmluZywgZGVjbGFyYXRpb25GaWxlUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IHVybCA9IHRvUGFja2FnZVR5cGVVcmwoeyBkZWNsYXJhdGlvbkZpbGVQYXRoLCBuYW1lLCBzZXR0aW5nczogZ2V0QXBpRG9jU2V0dGluZ3MoKSB9KTtcbiAgaWYgKHVybCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZXhpc3RpbmcgPSBtb2R1bGVTdGF0ZS51cmxzLmdldChuYW1lKTtcbiAgaWYgKGV4aXN0aW5nID09PSB1bmRlZmluZWQpIHtcbiAgICBtb2R1bGVTdGF0ZS51cmxzLnNldChuYW1lLCB1cmwpO1xuICB9IGVsc2UgaWYgKGV4aXN0aW5nICE9PSB1cmwpIHtcbiAgICBtb2R1bGVTdGF0ZS51cmxzLnNldChuYW1lLCBudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0b1BhY2thZ2VUeXBlVXJsKHBhcmFtczogVG9QYWNrYWdlVHlwZVVybFBhcmFtcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHsgZGVjbGFyYXRpb25GaWxlUGF0aCwgbmFtZSwgc2V0dGluZ3MgfSA9IHBhcmFtcztcbiAgY29uc3QgbWF0Y2ggPSBQQUNLQUdFX0RFQ0xBUkFUSU9OX1JFR19FWFAuZXhlYyhkZWNsYXJhdGlvbkZpbGVQYXRoLnJlcGxhY2VBbGwoJ1xcXFwnLCAnLycpKTtcbiAgaWYgKG1hdGNoID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ1BhY2thZ2UnKTtcbiAgY29uc3QgcGF0aCA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdQYXRoJyk7XG4gIGlmIChwYWNrYWdlTmFtZSA9PT0gc2V0dGluZ3MucGFja2FnZU5hbWUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3Qgc2l0ZSA9IHNldHRpbmdzLnBhY2thZ2VTaXRlcy5nZXQocGFja2FnZU5hbWUpO1xuICByZXR1cm4gc2l0ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogYCR7c2l0ZX1hcGkvJHtwYXRofS8ke3RvUm91dGVTZWdtZW50UHJlc2VydmVDYXNlKG5hbWUpfS9gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdBLFNBQVMsOEJBQThCO0FBSXZDLFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMseUJBQXlCO0FBRWxDLE1BQU0sOEJBQThCO0FBSzdCLE1BQU0sd0JBQXFELElBQUksSUFBSTtBQUFBLEVBQ3hFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsd0JBQXdCLFlBQVksTUFBTSxhQUFhLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQVN4RyxNQUFNLGNBQTJCO0FBQUEsRUFDL0IsTUFBTSxvQkFBSSxJQUFJO0FBQ2hCO0FBV08sU0FBUywyQkFBaUM7QUFDL0MsY0FBWSxLQUFLLE1BQU07QUFDekI7QUFRTyxTQUFTLGtCQUFrQixNQUFrQztBQUNsRSxTQUFPLFlBQVksS0FBSyxJQUFJLElBQUksS0FBSztBQUN2QztBQVdPLFNBQVMsMkJBQTJCLE1BQWMscUJBQW1DO0FBQzFGLFFBQU0sTUFBTSxpQkFBaUIsRUFBRSxxQkFBcUIsTUFBTSxVQUFVLGtCQUFrQixFQUFFLENBQUM7QUFDekYsTUFBSSxRQUFRLFFBQVc7QUFDckI7QUFBQSxFQUNGO0FBRUEsUUFBTSxXQUFXLFlBQVksS0FBSyxJQUFJLElBQUk7QUFDMUMsTUFBSSxhQUFhLFFBQVc7QUFDMUIsZ0JBQVksS0FBSyxJQUFJLE1BQU0sR0FBRztBQUFBLEVBQ2hDLFdBQVcsYUFBYSxLQUFLO0FBQzNCLGdCQUFZLEtBQUssSUFBSSxNQUFNLElBQUk7QUFBQSxFQUNqQztBQUNGO0FBRUEsU0FBUyxpQkFBaUIsUUFBb0Q7QUFDNUUsUUFBTSxFQUFFLHFCQUFxQixNQUFNLFNBQVMsSUFBSTtBQUNoRCxRQUFNLFFBQVEsNEJBQTRCLEtBQUssb0JBQW9CLFdBQVcsTUFBTSxHQUFHLENBQUM7QUFDeEYsTUFBSSxVQUFVLE1BQU07QUFDbEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGNBQWMsdUJBQXVCLE9BQU8sU0FBUztBQUMzRCxRQUFNLE9BQU8sdUJBQXVCLE9BQU8sTUFBTTtBQUNqRCxNQUFJLGdCQUFnQixTQUFTLGFBQWE7QUFDeEMsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLE9BQU8sU0FBUyxhQUFhLElBQUksV0FBVztBQUNsRCxTQUFPLFNBQVMsU0FBWSxTQUFZLEdBQUcsSUFBSSxPQUFPLElBQUksSUFBSSwyQkFBMkIsSUFBSSxDQUFDO0FBQ2hHOyIsIm5hbWVzIjpbXX0=
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* MDX page + sidebar emission: renders module index pages, per-type overview pages, per-member pages,
|
|
6
|
+
* backlinks, and the Starlight sidebar JSON.
|
|
7
|
+
*/
|
|
8
|
+
import type { MemberInfo, PageContent, PageFrontMatter, SidebarEntry, SidebarTreeNode, TypeInfo } from './api-doc-types.mjs';
|
|
9
|
+
/**
|
|
10
|
+
* Append backlinks to overview pages and write all files. Keyed by qualified `${namespace}#${name}`.
|
|
11
|
+
*
|
|
12
|
+
* @param pageContents - Every overview page's content and path, keyed by qualified id.
|
|
13
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function appendBacklinksAndWrite(pageContents: Map<string, PageContent>, allTypes: Map<string, TypeInfo>): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Build backlinks by scanning generated page content for internal API links. Keyed by qualified id.
|
|
18
|
+
*
|
|
19
|
+
* @param pageContents - Every overview page's content and path, keyed by qualified id.
|
|
20
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
21
|
+
* @returns Each referenced type's qualified id mapped to the ids of the pages linking to it.
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildBacklinksFromContent(pageContents: Map<string, PageContent>, allTypes: Map<string, TypeInfo>): Map<string, string[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Builds the namespace tree the sidebar is generated from.
|
|
26
|
+
*
|
|
27
|
+
* @param types - The documented types, keyed by qualified id.
|
|
28
|
+
* @returns The root of the tree.
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildSidebarTree(types: Map<string, TypeInfo>): SidebarTreeNode;
|
|
31
|
+
/**
|
|
32
|
+
* The raw code signature shown on a type-overview page's OG card, for the kinds that render a single
|
|
33
|
+
* signature line (function / type alias / variable). Classes, interfaces and enums render member
|
|
34
|
+
* tables instead, so they get no signature block.
|
|
35
|
+
*
|
|
36
|
+
* @param name - The type's name.
|
|
37
|
+
* @param info - The documented type.
|
|
38
|
+
* @returns The signature, or `undefined` for a kind that renders member tables instead.
|
|
39
|
+
*/
|
|
40
|
+
export declare function computeOverviewSignature(name: string, info: TypeInfo): string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Writes one page per own property and per own method overload key of a class or interface.
|
|
43
|
+
*
|
|
44
|
+
* @param name - The type's name.
|
|
45
|
+
* @param info - The documented type.
|
|
46
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function generateMemberPages(name: string, info: TypeInfo, allTypes: Map<string, TypeInfo>): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Writes each module's index page and the root API index.
|
|
51
|
+
*
|
|
52
|
+
* @param types - The documented types, keyed by qualified id.
|
|
53
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
54
|
+
* @param moduleOverviews - Each namespace's `@file` overview.
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateNamespaceIndexPages(types: Map<string, TypeInfo>, allTypes: Map<string, TypeInfo>, moduleOverviews: Map<string, string>): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Renders a type's overview page.
|
|
59
|
+
*
|
|
60
|
+
* @param name - The type's name.
|
|
61
|
+
* @param info - The documented type.
|
|
62
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
63
|
+
* @returns The page's content, before backlinks, and the path it is written to.
|
|
64
|
+
*/
|
|
65
|
+
export declare function generateOverviewPage(name: string, info: TypeInfo, allTypes: Map<string, TypeInfo>): Promise<PageContent>;
|
|
66
|
+
/**
|
|
67
|
+
* Writes the Starlight sidebar of the API reference.
|
|
68
|
+
*
|
|
69
|
+
* @param types - The documented types, keyed by qualified id.
|
|
70
|
+
*/
|
|
71
|
+
export declare function generateSidebarJson(types: Map<string, TypeInfo>): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Renders a class's constructor block.
|
|
74
|
+
*
|
|
75
|
+
* @param lines - The page lines to append to.
|
|
76
|
+
* @param name - The type's name.
|
|
77
|
+
* @param info - The documented type.
|
|
78
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
79
|
+
*/
|
|
80
|
+
export declare function renderConstructorMdx(lines: string[], name: string, info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
81
|
+
/**
|
|
82
|
+
* Renders an enum's members.
|
|
83
|
+
*
|
|
84
|
+
* @param lines - The page lines to append to.
|
|
85
|
+
* @param info - The documented type.
|
|
86
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
87
|
+
*/
|
|
88
|
+
export declare function renderEnumPage(lines: string[], info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
89
|
+
/**
|
|
90
|
+
* Render the Starlight frontmatter block (through the closing `---` and its blank line) shared by every
|
|
91
|
+
* generated page kind: module index, type overview, property, and method.
|
|
92
|
+
*
|
|
93
|
+
* Every page kind goes through here so no field can be emitted on some kinds and silently dropped on
|
|
94
|
+
* others. `description` in particular is not just SEO metadata — it is the line the OG card renders under
|
|
95
|
+
* the title, so a page kind that skipped it produced a title-only card next to fully populated ones.
|
|
96
|
+
*
|
|
97
|
+
* @param frontMatter - The page's frontmatter fields.
|
|
98
|
+
* @returns The frontmatter lines, through the closing `---` and its blank line.
|
|
99
|
+
*/
|
|
100
|
+
export declare function renderFrontMatter(frontMatter: PageFrontMatter): string[];
|
|
101
|
+
/**
|
|
102
|
+
* Renders a function's signature, parameters, return value and examples.
|
|
103
|
+
*
|
|
104
|
+
* @param lines - The page lines to append to.
|
|
105
|
+
* @param info - The documented type.
|
|
106
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
107
|
+
*/
|
|
108
|
+
export declare function renderFunctionPage(lines: string[], info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
109
|
+
/**
|
|
110
|
+
* Renders one method overload.
|
|
111
|
+
*
|
|
112
|
+
* @param lines - The page lines to append to.
|
|
113
|
+
* @param overload - The overload.
|
|
114
|
+
* @param typeName - The name of the type the method belongs to.
|
|
115
|
+
* @param namespace - The namespace of the type the method belongs to.
|
|
116
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
117
|
+
*/
|
|
118
|
+
export declare function renderMethodOverloadMdx(lines: string[], overload: MemberInfo, typeName: string, namespace: string, allTypes: Map<string, TypeInfo>): void;
|
|
119
|
+
/**
|
|
120
|
+
* Renders a type's method table.
|
|
121
|
+
*
|
|
122
|
+
* @param lines - The page lines to append to.
|
|
123
|
+
* @param info - The documented type.
|
|
124
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
125
|
+
*/
|
|
126
|
+
export declare function renderMethodTableMdx(lines: string[], info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
127
|
+
/**
|
|
128
|
+
* Renders a type's property table.
|
|
129
|
+
*
|
|
130
|
+
* @param lines - The page lines to append to.
|
|
131
|
+
* @param info - The documented type.
|
|
132
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
133
|
+
*/
|
|
134
|
+
export declare function renderPropertyTableMdx(lines: string[], info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
135
|
+
/**
|
|
136
|
+
* Renders a type alias's signature.
|
|
137
|
+
*
|
|
138
|
+
* @param lines - The page lines to append to.
|
|
139
|
+
* @param info - The documented type.
|
|
140
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
141
|
+
*/
|
|
142
|
+
export declare function renderTypeAliasPage(lines: string[], info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
143
|
+
/**
|
|
144
|
+
* Renders a variable's declaration and type.
|
|
145
|
+
*
|
|
146
|
+
* @param lines - The page lines to append to.
|
|
147
|
+
* @param name - The type's name.
|
|
148
|
+
* @param info - The documented type.
|
|
149
|
+
* @param allTypes - Every documented type, keyed by `${namespace}#${name}`.
|
|
150
|
+
*/
|
|
151
|
+
export declare function renderVariablePage(lines: string[], name: string, info: TypeInfo, allTypes: Map<string, TypeInfo>): void;
|
|
152
|
+
/**
|
|
153
|
+
* Converts a namespace tree node into a sidebar group.
|
|
154
|
+
*
|
|
155
|
+
* @param node - The node.
|
|
156
|
+
* @param label - The group's label.
|
|
157
|
+
* @returns The sidebar group.
|
|
158
|
+
*/
|
|
159
|
+
export declare function sidebarTreeToEntries(node: SidebarTreeNode, label: string): SidebarEntry;
|