@shadow-shard-tools/docs-core 1.0.15 → 1.0.17
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/dist/browser/serverOnly.d.ts +15 -0
- package/dist/browser/serverOnly.d.ts.map +1 -0
- package/dist/browser/serverOnly.js +33 -0
- package/dist/browser/serverOnly.js.map +1 -0
- package/dist/browser.d.ts +38 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +45 -0
- package/dist/browser.js.map +1 -0
- package/dist/configs/clientConfig.d.ts +18 -0
- package/dist/configs/clientConfig.d.ts.map +1 -0
- package/dist/configs/clientConfig.js +58 -0
- package/dist/configs/clientConfig.js.map +1 -0
- package/dist/configs/index.d.ts +4 -2
- package/dist/configs/index.d.ts.map +1 -1
- package/dist/configs/index.js +4 -2
- package/dist/configs/index.js.map +1 -1
- package/dist/configs/sstDocsConfig.d.ts +4 -5
- package/dist/configs/sstDocsConfig.d.ts.map +1 -1
- package/dist/configs/sstDocsConfig.js +141 -51
- package/dist/configs/sstDocsConfig.js.map +1 -1
- package/dist/configs/sstDocsConfig.shared.d.ts +8 -0
- package/dist/configs/sstDocsConfig.shared.d.ts.map +1 -0
- package/dist/configs/sstDocsConfig.shared.js +86 -0
- package/dist/configs/sstDocsConfig.shared.js.map +1 -0
- package/dist/configs/{styles/320/241onfig.d.ts → stylesConfig.d.ts} +1 -1
- package/dist/configs/stylesConfig.d.ts.map +1 -0
- package/dist/configs/stylesConfig.js +8 -0
- package/dist/configs/stylesConfig.js.map +1 -0
- package/dist/constants/{aligmentClasses.d.ts → alignmentClasses.d.ts} +1 -1
- package/dist/constants/alignmentClasses.d.ts.map +1 -0
- package/dist/constants/{aligmentClasses.js → alignmentClasses.js} +1 -1
- package/dist/constants/alignmentClasses.js.map +1 -0
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/data/buildTree.d.ts +14 -2
- package/dist/data/buildTree.d.ts.map +1 -1
- package/dist/data/buildTree.js +162 -79
- package/dist/data/buildTree.js.map +1 -1
- package/dist/styles/themes.css +1 -0
- package/dist/styles/themes.css.map +1 -0
- package/dist/themes/baseThemeClasses.d.ts +106 -0
- package/dist/themes/baseThemeClasses.d.ts.map +1 -0
- package/dist/themes/baseThemeClasses.js +106 -0
- package/dist/themes/baseThemeClasses.js.map +1 -0
- package/dist/themes/darkTheme.d.ts +1 -1
- package/dist/themes/darkTheme.d.ts.map +1 -1
- package/dist/themes/darkTheme.js +41 -118
- package/dist/themes/darkTheme.js.map +1 -1
- package/dist/themes/index.d.ts +1 -0
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/themes/index.js +1 -0
- package/dist/themes/index.js.map +1 -1
- package/dist/themes/lightTheme.d.ts +1 -1
- package/dist/themes/lightTheme.d.ts.map +1 -1
- package/dist/themes/lightTheme.js +41 -118
- package/dist/themes/lightTheme.js.map +1 -1
- package/dist/themes/themeRegistry.d.ts +11 -0
- package/dist/themes/themeRegistry.d.ts.map +1 -0
- package/dist/themes/themeRegistry.js +18 -0
- package/dist/themes/themeRegistry.js.map +1 -0
- package/dist/types/ClientVisibleSstDocsConfig.d.ts +8 -0
- package/dist/types/ClientVisibleSstDocsConfig.d.ts.map +1 -0
- package/dist/types/ClientVisibleSstDocsConfig.js +2 -0
- package/dist/types/ClientVisibleSstDocsConfig.js.map +1 -0
- package/dist/types/HtmlGeneratorSettings.d.ts +17 -1
- package/dist/types/HtmlGeneratorSettings.d.ts.map +1 -1
- package/dist/types/SstDocsConfig.d.ts +2 -2
- package/dist/types/SstDocsConfig.d.ts.map +1 -1
- package/dist/types/StyleTheme.d.ts +131 -16
- package/dist/types/StyleTheme.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +27 -4
- package/dist/configs/styles/320/241onfig.d.ts.map +0 -1
- package/dist/configs/styles/320/241onfig.js +0 -9
- package/dist/configs/styles/320/241onfig.js.map +0 -1
- package/dist/constants/aligmentClasses.d.ts.map +0 -1
- package/dist/constants/aligmentClasses.js.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DataProvider } from "../types/DataProvider.js";
|
|
2
|
+
import type { Logger } from "../types/Logger.js";
|
|
3
|
+
import type { ResolvedSstDocsConfig } from "../types/SstDocsConfig.js";
|
|
4
|
+
export declare function loadSstDocsConfig(_configPath?: string): Promise<ResolvedSstDocsConfig>;
|
|
5
|
+
export declare function loadSstDocsConfigSync(_configPath?: string): ResolvedSstDocsConfig;
|
|
6
|
+
export declare function loadSstDocsConfigFrom(_configDir: string): Promise<ResolvedSstDocsConfig>;
|
|
7
|
+
export declare function loadSstDocsConfigFromSync(_configDir: string): ResolvedSstDocsConfig;
|
|
8
|
+
export declare class fsDataProvider implements DataProvider {
|
|
9
|
+
readJson<T>(): Promise<T>;
|
|
10
|
+
}
|
|
11
|
+
export declare function resolveDataPath(): string;
|
|
12
|
+
export declare function resolveAgainstProjectRoot(): string;
|
|
13
|
+
export declare function pathExists(): Promise<boolean>;
|
|
14
|
+
export declare const createLogger: (_scope: string) => Logger;
|
|
15
|
+
//# sourceMappingURL=serverOnly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverOnly.d.ts","sourceRoot":"","sources":["../../src/browser/serverOnly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAQvE,wBAAsB,iBAAiB,CACrC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED,wBAAgB,qBAAqB,CACnC,WAAW,CAAC,EAAE,MAAM,GACnB,qBAAqB,CAEvB;AAED,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAEvB;AAED,qBAAa,cAAe,YAAW,YAAY;IAC3C,QAAQ,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;CAGhC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnD;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAE7C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function serverOnly(name) {
|
|
2
|
+
throw new Error(`"${name}" is only available in Node.js environments. Import from "@shadow-shard-tools/docs-core" on the server instead.`);
|
|
3
|
+
}
|
|
4
|
+
export async function loadSstDocsConfig(_configPath) {
|
|
5
|
+
serverOnly("loadSstDocsConfig");
|
|
6
|
+
}
|
|
7
|
+
export function loadSstDocsConfigSync(_configPath) {
|
|
8
|
+
serverOnly("loadSstDocsConfigSync");
|
|
9
|
+
}
|
|
10
|
+
export async function loadSstDocsConfigFrom(_configDir) {
|
|
11
|
+
serverOnly("loadSstDocsConfigFrom");
|
|
12
|
+
}
|
|
13
|
+
export function loadSstDocsConfigFromSync(_configDir) {
|
|
14
|
+
serverOnly("loadSstDocsConfigFromSync");
|
|
15
|
+
}
|
|
16
|
+
export class fsDataProvider {
|
|
17
|
+
async readJson() {
|
|
18
|
+
serverOnly("fsDataProvider.readJson");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function resolveDataPath() {
|
|
22
|
+
serverOnly("resolveDataPath");
|
|
23
|
+
}
|
|
24
|
+
export function resolveAgainstProjectRoot() {
|
|
25
|
+
serverOnly("resolveAgainstProjectRoot");
|
|
26
|
+
}
|
|
27
|
+
export async function pathExists() {
|
|
28
|
+
serverOnly("pathExists");
|
|
29
|
+
}
|
|
30
|
+
export const createLogger = (_scope) => {
|
|
31
|
+
serverOnly("createLogger");
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=serverOnly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverOnly.js","sourceRoot":"","sources":["../../src/browser/serverOnly.ts"],"names":[],"mappings":"AAIA,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,IAAI,KAAK,CACb,IAAI,IAAI,iHAAiH,CAC1H,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAoB;IAEpB,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAAoB;IAEpB,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB;IAElB,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAkB;IAElB,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,QAAQ;QACZ,UAAU,CAAC,yBAAyB,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,eAAe;IAC7B,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,UAAU,CAAC,YAAY,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,EAAU,EAAE;IACrD,UAAU,CAAC,cAAc,CAAC,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export * from "./constants/index.js";
|
|
2
|
+
export * from "./themes/index.js";
|
|
3
|
+
export * from "./types/index.js";
|
|
4
|
+
export { CODE_LANGUAGE_CONFIG, type SupportedLanguage, } from "./configs/codeLanguagesConfig.js";
|
|
5
|
+
export { stylesConfig } from "./configs/stylesConfig.js";
|
|
6
|
+
export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./configs/clientConfig.js";
|
|
7
|
+
export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./configs/sstDocsConfig.shared.js";
|
|
8
|
+
export { loadSstDocsConfig, loadSstDocsConfigFrom, loadSstDocsConfigSync, loadSstDocsConfigFromSync, } from "./browser/serverOnly.js";
|
|
9
|
+
export { buildTree } from "./data/buildTree.js";
|
|
10
|
+
export { loadAllCategories } from "./data/loadAllCategories.js";
|
|
11
|
+
export { loadAllItems } from "./data/loadAllItems.js";
|
|
12
|
+
export { loadVersionData } from "./data/loadVersionData.js";
|
|
13
|
+
export { loadVersions } from "./data/loadVersions.js";
|
|
14
|
+
export { httpDataProvider } from "./data/httpDataProvider.js";
|
|
15
|
+
export { fsDataProvider } from "./browser/serverOnly.js";
|
|
16
|
+
export { slugify } from "./utilities/string/slugify.js";
|
|
17
|
+
export { sanitizeFilename } from "./utilities/string/sanitizeFilename.js";
|
|
18
|
+
export { extractYouTubeId } from "./utilities/string/extractYouTubeId.js";
|
|
19
|
+
export { withBasePath } from "./utilities/string/withBasePath.js";
|
|
20
|
+
export { processListItems } from "./utilities/string/processListItems.js";
|
|
21
|
+
export { normalizeBaseUrlPath } from "./utilities/string/normalizeBaseUrlPath.js";
|
|
22
|
+
export { normalizeSystemPath } from "./utilities/string/normalizeSystemPath.js";
|
|
23
|
+
export { getFileExtension } from "./utilities/file/getFileExtension.js";
|
|
24
|
+
export { resolveDataPath } from "./browser/serverOnly.js";
|
|
25
|
+
export { resolveAgainstProjectRoot } from "./browser/serverOnly.js";
|
|
26
|
+
export { pathExists } from "./browser/serverOnly.js";
|
|
27
|
+
export { createTimeout } from "./utilities/system/createTimeout.js";
|
|
28
|
+
export { formatTime } from "./utilities/system/formatTime.js";
|
|
29
|
+
export { createLogger } from "./browser/serverOnly.js";
|
|
30
|
+
export { isMobileDevice } from "./utilities/validation/isMobileDevice.js";
|
|
31
|
+
export { isValidColor } from "./utilities/validation/isValidColor.js";
|
|
32
|
+
export { isValidImageUrl } from "./utilities/validation/isValidImageUrl.js";
|
|
33
|
+
export { isValidYouTubeId } from "./utilities/validation/isValidYouTubeId.js";
|
|
34
|
+
export { validateScale } from "./utilities/validation/validateScale.js";
|
|
35
|
+
export { getResponsiveWidth } from "./utilities/dom/getResponsiveWidth.js";
|
|
36
|
+
export { copyToClipboard } from "./utilities/dom/copyToClipboard.js";
|
|
37
|
+
export { downloadTextFile } from "./utilities/dom/downloadTextFile.js";
|
|
38
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export * from "./constants/index.js";
|
|
2
|
+
export * from "./themes/index.js";
|
|
3
|
+
export * from "./types/index.js";
|
|
4
|
+
// Configs
|
|
5
|
+
export { CODE_LANGUAGE_CONFIG, } from "./configs/codeLanguagesConfig.js";
|
|
6
|
+
export { stylesConfig } from "./configs/stylesConfig.js";
|
|
7
|
+
export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./configs/clientConfig.js";
|
|
8
|
+
export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./configs/sstDocsConfig.shared.js";
|
|
9
|
+
export { loadSstDocsConfig, loadSstDocsConfigFrom, loadSstDocsConfigSync, loadSstDocsConfigFromSync, } from "./browser/serverOnly.js";
|
|
10
|
+
// Data
|
|
11
|
+
export { buildTree } from "./data/buildTree.js";
|
|
12
|
+
export { loadAllCategories } from "./data/loadAllCategories.js";
|
|
13
|
+
export { loadAllItems } from "./data/loadAllItems.js";
|
|
14
|
+
export { loadVersionData } from "./data/loadVersionData.js";
|
|
15
|
+
export { loadVersions } from "./data/loadVersions.js";
|
|
16
|
+
export { httpDataProvider } from "./data/httpDataProvider.js";
|
|
17
|
+
export { fsDataProvider } from "./browser/serverOnly.js";
|
|
18
|
+
// Utilities (string)
|
|
19
|
+
export { slugify } from "./utilities/string/slugify.js";
|
|
20
|
+
export { sanitizeFilename } from "./utilities/string/sanitizeFilename.js";
|
|
21
|
+
export { extractYouTubeId } from "./utilities/string/extractYouTubeId.js";
|
|
22
|
+
export { withBasePath } from "./utilities/string/withBasePath.js";
|
|
23
|
+
export { processListItems } from "./utilities/string/processListItems.js";
|
|
24
|
+
export { normalizeBaseUrlPath } from "./utilities/string/normalizeBaseUrlPath.js";
|
|
25
|
+
export { normalizeSystemPath } from "./utilities/string/normalizeSystemPath.js";
|
|
26
|
+
// Utilities (file)
|
|
27
|
+
export { getFileExtension } from "./utilities/file/getFileExtension.js";
|
|
28
|
+
// Utilities (path + system)
|
|
29
|
+
export { resolveDataPath } from "./browser/serverOnly.js";
|
|
30
|
+
export { resolveAgainstProjectRoot } from "./browser/serverOnly.js";
|
|
31
|
+
export { pathExists } from "./browser/serverOnly.js";
|
|
32
|
+
export { createTimeout } from "./utilities/system/createTimeout.js";
|
|
33
|
+
export { formatTime } from "./utilities/system/formatTime.js";
|
|
34
|
+
export { createLogger } from "./browser/serverOnly.js";
|
|
35
|
+
// Utilities (validation)
|
|
36
|
+
export { isMobileDevice } from "./utilities/validation/isMobileDevice.js";
|
|
37
|
+
export { isValidColor } from "./utilities/validation/isValidColor.js";
|
|
38
|
+
export { isValidImageUrl } from "./utilities/validation/isValidImageUrl.js";
|
|
39
|
+
export { isValidYouTubeId } from "./utilities/validation/isValidYouTubeId.js";
|
|
40
|
+
export { validateScale } from "./utilities/validation/validateScale.js";
|
|
41
|
+
// Utilities (dom)
|
|
42
|
+
export { getResponsiveWidth } from "./utilities/dom/getResponsiveWidth.js";
|
|
43
|
+
export { copyToClipboard } from "./utilities/dom/copyToClipboard.js";
|
|
44
|
+
export { downloadTextFile } from "./utilities/dom/downloadTextFile.js";
|
|
45
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AAEjC,UAAU;AACV,OAAO,EACL,oBAAoB,GAErB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,4BAA4B;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ClientVisibleSstDocsConfig } from "../types/ClientVisibleSstDocsConfig.js";
|
|
2
|
+
import type { ResolvedSstDocsConfig } from "../types/SstDocsConfig.js";
|
|
3
|
+
export declare const DEFAULT_CLIENT_CONFIG_GLOBAL = "__SST_DOCS_CONFIG__";
|
|
4
|
+
type ClientConfigSource = ResolvedSstDocsConfig | ClientVisibleSstDocsConfig;
|
|
5
|
+
export interface ClientConfigSerializationOptions {
|
|
6
|
+
globalName?: string;
|
|
7
|
+
pretty?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ExposeClientConfigOptions {
|
|
10
|
+
globalName?: string;
|
|
11
|
+
target?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export declare function buildClientVisibleConfig(config: ResolvedSstDocsConfig): ClientVisibleSstDocsConfig;
|
|
14
|
+
export declare function serializeClientConfigForBrowser(source: ClientConfigSource, options?: ClientConfigSerializationOptions): string;
|
|
15
|
+
export declare function exposeClientConfig(source: ClientConfigSource, options?: ExposeClientConfigOptions): ClientVisibleSstDocsConfig;
|
|
16
|
+
export declare function readClientConfig(globalName?: string): ClientVisibleSstDocsConfig;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=clientConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientConfig.d.ts","sourceRoot":"","sources":["../../src/configs/clientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACzF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAIvE,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,KAAK,kBAAkB,GACnB,qBAAqB,GACrB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,gCAAgC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,GAC5B,0BAA0B,CAM5B;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,gCAAgC,GACzC,MAAM,CAKR;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,yBAAyB,GAClC,0BAA0B,CAe5B;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,SAA+B,GACxC,0BAA0B,CAkB5B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export const DEFAULT_CLIENT_CONFIG_GLOBAL = "__SST_DOCS_CONFIG__";
|
|
2
|
+
export function buildClientVisibleConfig(config) {
|
|
3
|
+
return {
|
|
4
|
+
PUBLIC_DATA_PATH: config.PUBLIC_DATA_PATH,
|
|
5
|
+
HEADER_BRANDING: config.HEADER_BRANDING,
|
|
6
|
+
HTML_GENERATOR_THEME: config.HTML_GENERATOR_SETTINGS?.THEME,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function serializeClientConfigForBrowser(source, options) {
|
|
10
|
+
const payload = normalizeClientConfigSource(source);
|
|
11
|
+
const globalName = options?.globalName ?? DEFAULT_CLIENT_CONFIG_GLOBAL;
|
|
12
|
+
const spacing = options?.pretty ? 2 : undefined;
|
|
13
|
+
return `window.${globalName} = ${JSON.stringify(payload, null, spacing)};`;
|
|
14
|
+
}
|
|
15
|
+
export function exposeClientConfig(source, options) {
|
|
16
|
+
const payload = normalizeClientConfigSource(source);
|
|
17
|
+
const target = options?.target ??
|
|
18
|
+
globalThis;
|
|
19
|
+
if (!target) {
|
|
20
|
+
throw new Error("Unable to expose client config: no target global object was provided.");
|
|
21
|
+
}
|
|
22
|
+
const globalName = options?.globalName ?? DEFAULT_CLIENT_CONFIG_GLOBAL;
|
|
23
|
+
target[globalName] = payload;
|
|
24
|
+
return payload;
|
|
25
|
+
}
|
|
26
|
+
export function readClientConfig(globalName = DEFAULT_CLIENT_CONFIG_GLOBAL) {
|
|
27
|
+
if (hasCompileTimeClientConfig()) {
|
|
28
|
+
return __SST_DOCS_CONFIG__;
|
|
29
|
+
}
|
|
30
|
+
const globalObject = globalThis;
|
|
31
|
+
if (!globalObject) {
|
|
32
|
+
throw new Error("globalThis is not available in the current environment.");
|
|
33
|
+
}
|
|
34
|
+
const value = globalObject[globalName];
|
|
35
|
+
if (!isClientConfig(value)) {
|
|
36
|
+
throw new Error(`Client config "${globalName}" is missing or malformed on globalThis.`);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
function normalizeClientConfigSource(source) {
|
|
41
|
+
if (isClientConfig(source)) {
|
|
42
|
+
return source;
|
|
43
|
+
}
|
|
44
|
+
return buildClientVisibleConfig(source);
|
|
45
|
+
}
|
|
46
|
+
function isClientConfig(value) {
|
|
47
|
+
if (!value || typeof value !== "object") {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return ("PUBLIC_DATA_PATH" in value &&
|
|
51
|
+
"HEADER_BRANDING" in value);
|
|
52
|
+
}
|
|
53
|
+
function hasCompileTimeClientConfig() {
|
|
54
|
+
// During browser builds Vite replaces __SST_DOCS_CONFIG__ with a JSON literal,
|
|
55
|
+
// so check for the identifier before touching globalThis at runtime.
|
|
56
|
+
return typeof __SST_DOCS_CONFIG__ !== "undefined";
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=clientConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientConfig.js","sourceRoot":"","sources":["../../src/configs/clientConfig.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAgBlE,MAAM,UAAU,wBAAwB,CACtC,MAA6B;IAE7B,OAAO;QACL,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,oBAAoB,EAAE,MAAM,CAAC,uBAAuB,EAAE,KAAK;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,MAA0B,EAC1B,OAA0C;IAE1C,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,4BAA4B,CAAC;IACvE,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,OAAO,UAAU,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAA0B,EAC1B,OAAmC;IAEnC,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,MAAM,GACV,OAAO,EAAE,MAAM;QACb,UAA8D,CAAC;IAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,4BAA4B,CAAC;IACvE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAAU,GAAG,4BAA4B;IAEzC,IAAI,0BAA0B,EAAE,EAAE,CAAC;QACjC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,UAAiD,CAAC;IACvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,0CAA0C,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAClC,MAA0B;IAE1B,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CACrB,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,kBAAkB,IAAI,KAAK;QAC3B,iBAAiB,IAAI,KAAK,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B;IACjC,+EAA+E;IAC/E,qEAAqE;IACrE,OAAO,OAAO,mBAAmB,KAAK,WAAW,CAAC;AACpD,CAAC"}
|
package/dist/configs/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { CODE_LANGUAGE_CONFIG, type SupportedLanguage, } from "./codeLanguagesConfig.js";
|
|
2
|
-
export { stylesConfig } from "./
|
|
3
|
-
export { loadSstDocsConfig, loadSstDocsConfigFrom,
|
|
2
|
+
export { stylesConfig } from "./stylesConfig.js";
|
|
3
|
+
export { loadSstDocsConfig, loadSstDocsConfigFrom, loadSstDocsConfigSync, loadSstDocsConfigFromSync, } from "./sstDocsConfig.js";
|
|
4
|
+
export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.shared.js";
|
|
5
|
+
export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./clientConfig.js";
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
|
package/dist/configs/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { CODE_LANGUAGE_CONFIG, } from "./codeLanguagesConfig.js";
|
|
2
|
-
export { stylesConfig } from "./
|
|
3
|
-
export { loadSstDocsConfig, loadSstDocsConfigFrom,
|
|
2
|
+
export { stylesConfig } from "./stylesConfig.js";
|
|
3
|
+
export { loadSstDocsConfig, loadSstDocsConfigFrom, loadSstDocsConfigSync, loadSstDocsConfigFromSync, } from "./sstDocsConfig.js";
|
|
4
|
+
export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.shared.js";
|
|
5
|
+
export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./clientConfig.js";
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { ResolvedSstDocsConfig } from "../types/SstDocsConfig.js";
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
constructor(message: string);
|
|
5
|
-
}
|
|
2
|
+
import { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME } from "./sstDocsConfig.shared.js";
|
|
3
|
+
export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, };
|
|
6
4
|
export declare function loadSstDocsConfig(configPath?: string): Promise<ResolvedSstDocsConfig>;
|
|
7
|
-
export declare function
|
|
5
|
+
export declare function loadSstDocsConfigSync(configPath?: string): ResolvedSstDocsConfig;
|
|
8
6
|
export declare function loadSstDocsConfigFrom(configDir: string): Promise<ResolvedSstDocsConfig>;
|
|
7
|
+
export declare function loadSstDocsConfigFromSync(configDir: string): ResolvedSstDocsConfig;
|
|
9
8
|
//# sourceMappingURL=sstDocsConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sstDocsConfig.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sstDocsConfig.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AAG1F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,CAAC;AAKF,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAMhC;AAED,wBAAgB,qBAAqB,CACnC,UAAU,CAAC,EAAE,MAAM,GAClB,qBAAqB,CAMvB;AAqDD,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAGvB"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
1
2
|
import { readFile } from "node:fs/promises";
|
|
2
3
|
import { resolve } from "node:path";
|
|
3
4
|
import appRoot from "app-root-path";
|
|
5
|
+
import { AVAILABLE_THEME_PRESET_NAMES, DEFAULT_THEME_PRESET, getThemePreset, isThemePresetName, } from "../themes/themeRegistry.js";
|
|
4
6
|
import { normalizeSystemPath } from "../utilities/string/normalizeSystemPath.js";
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
constructor(message) {
|
|
8
|
-
super(message);
|
|
9
|
-
this.name = "SstDocsConfigError";
|
|
10
|
-
}
|
|
11
|
-
}
|
|
7
|
+
import { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.shared.js";
|
|
8
|
+
export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, };
|
|
12
9
|
const APP_ROOT = appRoot.path;
|
|
10
|
+
const UTF8 = "utf-8";
|
|
13
11
|
export async function loadSstDocsConfig(configPath) {
|
|
14
|
-
const { path: finalPath, contents } = await
|
|
12
|
+
const { path: finalPath, contents } = await readConfigFromSearchPaths(getConfigSearchPaths(configPath), (candidate) => readFile(candidate, UTF8));
|
|
13
|
+
return parseConfigContents(contents, finalPath);
|
|
14
|
+
}
|
|
15
|
+
export function loadSstDocsConfigSync(configPath) {
|
|
16
|
+
const { path: finalPath, contents } = readConfigFromSearchPathsSync(getConfigSearchPaths(configPath), (candidate) => readFileSync(candidate, UTF8));
|
|
17
|
+
return parseConfigContents(contents, finalPath);
|
|
18
|
+
}
|
|
19
|
+
function parseConfigContents(contents, sourcePath) {
|
|
15
20
|
let parsed;
|
|
16
21
|
try {
|
|
17
22
|
parsed = JSON.parse(contents);
|
|
@@ -19,7 +24,7 @@ export async function loadSstDocsConfig(configPath) {
|
|
|
19
24
|
catch (error) {
|
|
20
25
|
throw new SstDocsConfigError(`Failed to parse ${SST_DOCS_CONFIG_FILENAME}: ${error.message}`);
|
|
21
26
|
}
|
|
22
|
-
return normalizeConfig(parsed,
|
|
27
|
+
return normalizeConfig(parsed, sourcePath);
|
|
23
28
|
}
|
|
24
29
|
function normalizeConfig(value, sourcePath) {
|
|
25
30
|
if (!value || typeof value !== "object") {
|
|
@@ -40,62 +45,72 @@ function normalizeConfig(value, sourcePath) {
|
|
|
40
45
|
HTML_GENERATOR_SETTINGS: normalizeHtmlGeneratorSettings(raw.HTML_GENERATOR_SETTINGS, sourcePath),
|
|
41
46
|
};
|
|
42
47
|
}
|
|
43
|
-
export function derivePublicDataPath(fsDataPath) {
|
|
44
|
-
const normalized = normalizeSystemPath(fsDataPath.trim());
|
|
45
|
-
let candidate = normalized;
|
|
46
|
-
// Strip leading relative markers like "./"
|
|
47
|
-
candidate = candidate.replace(/^\.\/*/, "/");
|
|
48
|
-
// Try to locate the /public segment and drop everything up to it.
|
|
49
|
-
const publicSegmentIndex = candidate.indexOf("/public");
|
|
50
|
-
if (publicSegmentIndex !== -1) {
|
|
51
|
-
candidate = candidate.slice(publicSegmentIndex + "/public".length);
|
|
52
|
-
}
|
|
53
|
-
else if (candidate.startsWith("public/")) {
|
|
54
|
-
candidate = candidate.slice("public".length);
|
|
55
|
-
}
|
|
56
|
-
if (candidate.length === 0 || candidate === "/") {
|
|
57
|
-
return "/";
|
|
58
|
-
}
|
|
59
|
-
if (!candidate.startsWith("/")) {
|
|
60
|
-
candidate = `/${candidate}`;
|
|
61
|
-
}
|
|
62
|
-
if (!candidate.endsWith("/")) {
|
|
63
|
-
candidate = `${candidate}/`;
|
|
64
|
-
}
|
|
65
|
-
return candidate;
|
|
66
|
-
}
|
|
67
48
|
export async function loadSstDocsConfigFrom(configDir) {
|
|
68
49
|
const fullPath = resolve(configDir, SST_DOCS_CONFIG_FILENAME);
|
|
69
50
|
return loadSstDocsConfig(fullPath);
|
|
70
51
|
}
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
52
|
+
export function loadSstDocsConfigFromSync(configDir) {
|
|
53
|
+
const fullPath = resolve(configDir, SST_DOCS_CONFIG_FILENAME);
|
|
54
|
+
return loadSstDocsConfigSync(fullPath);
|
|
55
|
+
}
|
|
56
|
+
async function readConfigFromSearchPaths(searchPaths, reader) {
|
|
57
|
+
const attempted = [];
|
|
58
|
+
for (const candidate of searchPaths) {
|
|
59
|
+
attempted.push(candidate);
|
|
60
|
+
try {
|
|
61
|
+
const contents = await reader(candidate);
|
|
62
|
+
return { path: candidate, contents };
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
if (isMissingFileError(error)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
throw wrapReadError(candidate, error);
|
|
78
69
|
}
|
|
79
70
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
throw missingConfigError(attempted);
|
|
72
|
+
}
|
|
73
|
+
function readConfigFromSearchPathsSync(searchPaths, reader) {
|
|
83
74
|
const attempted = [];
|
|
84
75
|
for (const candidate of searchPaths) {
|
|
85
76
|
attempted.push(candidate);
|
|
86
77
|
try {
|
|
87
|
-
const contents =
|
|
78
|
+
const contents = reader(candidate);
|
|
88
79
|
return { path: candidate, contents };
|
|
89
80
|
}
|
|
90
81
|
catch (error) {
|
|
91
|
-
|
|
92
|
-
if (err.code === "ENOENT" || err.code === "EISDIR") {
|
|
82
|
+
if (isMissingFileError(error)) {
|
|
93
83
|
continue;
|
|
94
84
|
}
|
|
95
|
-
throw
|
|
85
|
+
throw wrapReadError(candidate, error);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
throw missingConfigError(attempted);
|
|
89
|
+
}
|
|
90
|
+
function getConfigSearchPaths(configPath) {
|
|
91
|
+
const searchPaths = [];
|
|
92
|
+
if (configPath) {
|
|
93
|
+
const explicit = resolve(APP_ROOT, configPath);
|
|
94
|
+
searchPaths.push(explicit);
|
|
95
|
+
if (!explicit.endsWith(".json")) {
|
|
96
|
+
searchPaths.push(resolve(explicit, SST_DOCS_CONFIG_FILENAME));
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
+
else {
|
|
100
|
+
searchPaths.push(resolve(APP_ROOT, SST_DOCS_CONFIG_FILENAME));
|
|
101
|
+
}
|
|
102
|
+
return searchPaths;
|
|
103
|
+
}
|
|
104
|
+
function isMissingFileError(error) {
|
|
105
|
+
const code = error?.code;
|
|
106
|
+
return code === "ENOENT" || code === "EISDIR";
|
|
107
|
+
}
|
|
108
|
+
function wrapReadError(candidate, error) {
|
|
109
|
+
const message = error?.message ?? String(error);
|
|
110
|
+
return new SstDocsConfigError(`Failed to read ${SST_DOCS_CONFIG_FILENAME} at ${candidate}: ${message}`);
|
|
111
|
+
}
|
|
112
|
+
function missingConfigError(attempted) {
|
|
113
|
+
return new SstDocsConfigError(`Unable to locate ${SST_DOCS_CONFIG_FILENAME}. Tried: ${attempted.join(", ")}`);
|
|
99
114
|
}
|
|
100
115
|
function normalizeHeaderBranding(value, sourcePath) {
|
|
101
116
|
if (value === undefined) {
|
|
@@ -135,17 +150,92 @@ function normalizeHtmlGeneratorSettings(value, sourcePath) {
|
|
|
135
150
|
if (outputDirectory.length === 0) {
|
|
136
151
|
throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY cannot be empty in ${sourcePath}`);
|
|
137
152
|
}
|
|
138
|
-
if (
|
|
139
|
-
throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be
|
|
153
|
+
if (THEME === undefined) {
|
|
154
|
+
throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be provided in ${sourcePath}`);
|
|
140
155
|
}
|
|
141
156
|
if (SEPARATE_BUILD_FOR_HTML_GENERATOR !== undefined &&
|
|
142
157
|
typeof SEPARATE_BUILD_FOR_HTML_GENERATOR !== "boolean") {
|
|
143
158
|
throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.SEPARATE_BUILD_FOR_HTML_GENERATOR must be a boolean in ${sourcePath}`);
|
|
144
159
|
}
|
|
160
|
+
const resolvedTheme = resolveThemeConfiguration(THEME, sourcePath);
|
|
145
161
|
return {
|
|
146
162
|
OUTPUT_DIRECTORY: outputDirectory,
|
|
147
|
-
THEME:
|
|
163
|
+
THEME: resolvedTheme,
|
|
148
164
|
SEPARATE_BUILD_FOR_HTML_GENERATOR: SEPARATE_BUILD_FOR_HTML_GENERATOR ?? false,
|
|
149
165
|
};
|
|
150
166
|
}
|
|
167
|
+
function resolveThemeConfiguration(value, sourcePath) {
|
|
168
|
+
if (typeof value === "string") {
|
|
169
|
+
return cloneThemeFromPreset(value, sourcePath, "HTML_GENERATOR_SETTINGS.THEME");
|
|
170
|
+
}
|
|
171
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
172
|
+
throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be a string or object in ${sourcePath}`);
|
|
173
|
+
}
|
|
174
|
+
const themeObject = value;
|
|
175
|
+
let baseThemeName = DEFAULT_THEME_PRESET;
|
|
176
|
+
if (themeObject.preset !== undefined) {
|
|
177
|
+
baseThemeName = ensureThemePresetName(themeObject.preset, sourcePath, "HTML_GENERATOR_SETTINGS.THEME.preset");
|
|
178
|
+
}
|
|
179
|
+
else if (themeObject.extend !== undefined) {
|
|
180
|
+
baseThemeName = ensureThemePresetName(themeObject.extend, sourcePath, "HTML_GENERATOR_SETTINGS.THEME.extend");
|
|
181
|
+
}
|
|
182
|
+
const overrides = { ...themeObject };
|
|
183
|
+
delete overrides.preset;
|
|
184
|
+
delete overrides.extend;
|
|
185
|
+
const baseTheme = cloneTheme(getThemePreset(baseThemeName));
|
|
186
|
+
return applyThemeOverrides(baseTheme, overrides, sourcePath);
|
|
187
|
+
}
|
|
188
|
+
function cloneThemeFromPreset(preset, sourcePath, propertyPath) {
|
|
189
|
+
const themeName = ensureThemePresetName(preset, sourcePath, propertyPath);
|
|
190
|
+
const presetTheme = getThemePreset(themeName);
|
|
191
|
+
return cloneTheme(presetTheme);
|
|
192
|
+
}
|
|
193
|
+
function ensureThemePresetName(raw, sourcePath, propertyPath) {
|
|
194
|
+
if (raw === undefined || raw === null) {
|
|
195
|
+
return DEFAULT_THEME_PRESET;
|
|
196
|
+
}
|
|
197
|
+
if (typeof raw !== "string") {
|
|
198
|
+
const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
|
|
199
|
+
throw new SstDocsConfigError(`${propertyPath} must be one of: ${options} in ${sourcePath}`);
|
|
200
|
+
}
|
|
201
|
+
const normalized = raw.trim().toLowerCase();
|
|
202
|
+
if (!isThemePresetName(normalized)) {
|
|
203
|
+
const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
|
|
204
|
+
throw new SstDocsConfigError(`Unknown ${propertyPath} "${raw}" in ${sourcePath}. Supported presets: ${options}`);
|
|
205
|
+
}
|
|
206
|
+
return normalized;
|
|
207
|
+
}
|
|
208
|
+
function applyThemeOverrides(theme, overrides, sourcePath) {
|
|
209
|
+
mergeThemeFragments(theme, overrides, sourcePath, "HTML_GENERATOR_SETTINGS.THEME");
|
|
210
|
+
return theme;
|
|
211
|
+
}
|
|
212
|
+
function mergeThemeFragments(target, overrides, sourcePath, path) {
|
|
213
|
+
const targetRecord = target;
|
|
214
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
215
|
+
if (value === undefined) {
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (!(key in targetRecord)) {
|
|
219
|
+
throw new SstDocsConfigError(`${path}.${key} is not a recognized theme field in ${sourcePath}`);
|
|
220
|
+
}
|
|
221
|
+
const current = targetRecord[key];
|
|
222
|
+
if (current &&
|
|
223
|
+
typeof current === "object" &&
|
|
224
|
+
!Array.isArray(current)) {
|
|
225
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
226
|
+
throw new SstDocsConfigError(`${path}.${key} must be an object in ${sourcePath}`);
|
|
227
|
+
}
|
|
228
|
+
targetRecord[key] = { ...current };
|
|
229
|
+
mergeThemeFragments(targetRecord[key], value, sourcePath, `${path}.${key}`);
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
if (typeof value !== "string") {
|
|
233
|
+
throw new SstDocsConfigError(`${path}.${key} must be a string in ${sourcePath}`);
|
|
234
|
+
}
|
|
235
|
+
targetRecord[key] = value;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function cloneTheme(theme) {
|
|
239
|
+
return JSON.parse(JSON.stringify(theme));
|
|
240
|
+
}
|
|
151
241
|
//# sourceMappingURL=sstDocsConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sstDocsConfig.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,OAAO,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sstDocsConfig.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResolvedSstDocsConfig } from "../types/SstDocsConfig.js";
|
|
2
|
+
export declare const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
|
|
3
|
+
export declare class SstDocsConfigError extends Error {
|
|
4
|
+
constructor(message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare function derivePublicDataPath(fsDataPath: string): string;
|
|
7
|
+
export declare function resolvePublicDataPath(baseUrl: string | undefined, config: Pick<ResolvedSstDocsConfig, "PUBLIC_DATA_PATH"> | string): string;
|
|
8
|
+
//# sourceMappingURL=sstDocsConfig.shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sstDocsConfig.shared.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA6B/D;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,MAAM,GAC/D,MAAM,CAuBR"}
|