@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.
Files changed (80) hide show
  1. package/dist/browser/serverOnly.d.ts +15 -0
  2. package/dist/browser/serverOnly.d.ts.map +1 -0
  3. package/dist/browser/serverOnly.js +33 -0
  4. package/dist/browser/serverOnly.js.map +1 -0
  5. package/dist/browser.d.ts +38 -0
  6. package/dist/browser.d.ts.map +1 -0
  7. package/dist/browser.js +45 -0
  8. package/dist/browser.js.map +1 -0
  9. package/dist/configs/clientConfig.d.ts +18 -0
  10. package/dist/configs/clientConfig.d.ts.map +1 -0
  11. package/dist/configs/clientConfig.js +58 -0
  12. package/dist/configs/clientConfig.js.map +1 -0
  13. package/dist/configs/index.d.ts +4 -2
  14. package/dist/configs/index.d.ts.map +1 -1
  15. package/dist/configs/index.js +4 -2
  16. package/dist/configs/index.js.map +1 -1
  17. package/dist/configs/sstDocsConfig.d.ts +4 -5
  18. package/dist/configs/sstDocsConfig.d.ts.map +1 -1
  19. package/dist/configs/sstDocsConfig.js +141 -51
  20. package/dist/configs/sstDocsConfig.js.map +1 -1
  21. package/dist/configs/sstDocsConfig.shared.d.ts +8 -0
  22. package/dist/configs/sstDocsConfig.shared.d.ts.map +1 -0
  23. package/dist/configs/sstDocsConfig.shared.js +86 -0
  24. package/dist/configs/sstDocsConfig.shared.js.map +1 -0
  25. package/dist/configs/{styles/320/241onfig.d.ts → stylesConfig.d.ts} +1 -1
  26. package/dist/configs/stylesConfig.d.ts.map +1 -0
  27. package/dist/configs/stylesConfig.js +8 -0
  28. package/dist/configs/stylesConfig.js.map +1 -0
  29. package/dist/constants/{aligmentClasses.d.ts → alignmentClasses.d.ts} +1 -1
  30. package/dist/constants/alignmentClasses.d.ts.map +1 -0
  31. package/dist/constants/{aligmentClasses.js → alignmentClasses.js} +1 -1
  32. package/dist/constants/alignmentClasses.js.map +1 -0
  33. package/dist/constants/index.d.ts +1 -1
  34. package/dist/constants/index.d.ts.map +1 -1
  35. package/dist/constants/index.js +1 -1
  36. package/dist/constants/index.js.map +1 -1
  37. package/dist/data/buildTree.d.ts +14 -2
  38. package/dist/data/buildTree.d.ts.map +1 -1
  39. package/dist/data/buildTree.js +162 -79
  40. package/dist/data/buildTree.js.map +1 -1
  41. package/dist/styles/themes.css +1 -0
  42. package/dist/styles/themes.css.map +1 -0
  43. package/dist/themes/baseThemeClasses.d.ts +106 -0
  44. package/dist/themes/baseThemeClasses.d.ts.map +1 -0
  45. package/dist/themes/baseThemeClasses.js +106 -0
  46. package/dist/themes/baseThemeClasses.js.map +1 -0
  47. package/dist/themes/darkTheme.d.ts +1 -1
  48. package/dist/themes/darkTheme.d.ts.map +1 -1
  49. package/dist/themes/darkTheme.js +41 -118
  50. package/dist/themes/darkTheme.js.map +1 -1
  51. package/dist/themes/index.d.ts +1 -0
  52. package/dist/themes/index.d.ts.map +1 -1
  53. package/dist/themes/index.js +1 -0
  54. package/dist/themes/index.js.map +1 -1
  55. package/dist/themes/lightTheme.d.ts +1 -1
  56. package/dist/themes/lightTheme.d.ts.map +1 -1
  57. package/dist/themes/lightTheme.js +41 -118
  58. package/dist/themes/lightTheme.js.map +1 -1
  59. package/dist/themes/themeRegistry.d.ts +11 -0
  60. package/dist/themes/themeRegistry.d.ts.map +1 -0
  61. package/dist/themes/themeRegistry.js +18 -0
  62. package/dist/themes/themeRegistry.js.map +1 -0
  63. package/dist/types/ClientVisibleSstDocsConfig.d.ts +8 -0
  64. package/dist/types/ClientVisibleSstDocsConfig.d.ts.map +1 -0
  65. package/dist/types/ClientVisibleSstDocsConfig.js +2 -0
  66. package/dist/types/ClientVisibleSstDocsConfig.js.map +1 -0
  67. package/dist/types/HtmlGeneratorSettings.d.ts +17 -1
  68. package/dist/types/HtmlGeneratorSettings.d.ts.map +1 -1
  69. package/dist/types/SstDocsConfig.d.ts +2 -2
  70. package/dist/types/SstDocsConfig.d.ts.map +1 -1
  71. package/dist/types/StyleTheme.d.ts +131 -16
  72. package/dist/types/StyleTheme.d.ts.map +1 -1
  73. package/dist/types/index.d.ts +2 -0
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/package.json +27 -4
  76. package/dist/configs/styles/320/241onfig.d.ts.map +0 -1
  77. package/dist/configs/styles/320/241onfig.js +0 -9
  78. package/dist/configs/styles/320/241onfig.js.map +0 -1
  79. package/dist/constants/aligmentClasses.d.ts.map +0 -1
  80. 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"}
@@ -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"}
@@ -1,4 +1,6 @@
1
1
  export { CODE_LANGUAGE_CONFIG, type SupportedLanguage, } from "./codeLanguagesConfig.js";
2
- export { stylesConfig } from "./stylesСonfig.js";
3
- export { loadSstDocsConfig, loadSstDocsConfigFrom, derivePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.js";
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,oBAAoB,CAAC"}
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"}
@@ -1,4 +1,6 @@
1
1
  export { CODE_LANGUAGE_CONFIG, } from "./codeLanguagesConfig.js";
2
- export { stylesConfig } from "./stylesСonfig.js";
3
- export { loadSstDocsConfig, loadSstDocsConfigFrom, derivePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.js";
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,oBAAoB,CAAC"}
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
- export declare const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
3
- export declare class SstDocsConfigError extends Error {
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 derivePublicDataPath(fsDataPath: string): string;
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":"AAKA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAKnC,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAahC;AAqCD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA6B/D;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAGhC"}
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
- export const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
6
- export class SstDocsConfigError extends Error {
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 readConfigFile(configPath);
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, finalPath);
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
- async function readConfigFile(configPath) {
72
- const searchPaths = [];
73
- if (configPath) {
74
- const explicit = resolve(APP_ROOT, configPath);
75
- searchPaths.push(explicit);
76
- if (!explicit.endsWith(".json")) {
77
- searchPaths.push(resolve(explicit, SST_DOCS_CONFIG_FILENAME));
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
- else {
81
- searchPaths.push(resolve(APP_ROOT, SST_DOCS_CONFIG_FILENAME));
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 = await readFile(candidate, "utf-8");
78
+ const contents = reader(candidate);
88
79
  return { path: candidate, contents };
89
80
  }
90
81
  catch (error) {
91
- const err = error;
92
- if (err.code === "ENOENT" || err.code === "EISDIR") {
82
+ if (isMissingFileError(error)) {
93
83
  continue;
94
84
  }
95
- throw new SstDocsConfigError(`Failed to read ${SST_DOCS_CONFIG_FILENAME} at ${candidate}: ${err.message}`);
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
- throw new SstDocsConfigError(`Unable to locate ${SST_DOCS_CONFIG_FILENAME}. Tried: ${attempted.join(", ")}`);
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 (!THEME || typeof THEME !== "object" || Array.isArray(THEME)) {
139
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be an object in ${sourcePath}`);
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: 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":"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"}
1
+ {"version":3,"file":"sstDocsConfig.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AASpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,CAAC;AAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;AAC9B,MAAM,IAAI,GAAG,OAAO,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAmB;IAEnB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,yBAAyB,CACnE,oBAAoB,CAAC,UAAU,CAAC,EAChC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CACzC,CAAC;IACF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,UAAmB;IAEnB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,6BAA6B,CACjE,oBAAoB,CAAC,UAAU,CAAC,EAChC,CAAC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAC7C,CAAC;IACF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,UAAkB;IAElB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAC1B,mBAAmB,wBAAwB,KAAM,KAAe,CAAC,OAAO,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CACtB,KAAc,EACd,UAAkB;IAElB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,kBAAkB,CAC1B,4BAA4B,UAAU,sBAAsB,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,KAAmC,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,kBAAkB,CAC1B,sCAAsC,UAAU,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAC1B,mCAAmC,UAAU,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,UAAU;QACxB,gBAAgB,EAAE,oBAAoB,CAAC,UAAU,CAAC;QAClD,eAAe,EAAE,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC;QACzE,uBAAuB,EAAE,8BAA8B,CACrD,GAAG,CAAC,uBAAuB,EAC3B,UAAU,CACX;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAC9D,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,WAAqB,EACrB,MAA8C;IAE9C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,6BAA6B,CACpC,WAAqB,EACrB,MAAqC;IAErC,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAmB;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAI,KAA2C,EAAE,IAAI,CAAC;IAChE,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,KAAc;IACtD,MAAM,OAAO,GAAI,KAA2B,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,IAAI,kBAAkB,CAC3B,kBAAkB,wBAAwB,OAAO,SAAS,KAAK,OAAO,EAAE,CACzE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAmB;IAC7C,OAAO,IAAI,kBAAkB,CAC3B,oBAAoB,wBAAwB,YAAY,SAAS,CAAC,IAAI,CACpE,IAAI,CACL,EAAE,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAc,EACd,UAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,kBAAkB,CAC1B,wCAAwC,UAAU,EAAE,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAgC,CAAC;IAExE,OAAO;QACL,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;QAChE,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;QAChE,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAc,EACd,GAAW,EACX,UAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,kBAAkB,CAC1B,mBAAmB,GAAG,wBAAwB,UAAU,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,8BAA8B,CACrC,KAAc,EACd,UAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,kBAAkB,CAC1B,gDAAgD,UAAU,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,EACJ,gBAAgB,EAChB,KAAK,EACL,iCAAiC,GAClC,GAAG,KAAgC,CAAC;IAErC,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,kBAAkB,CAC1B,gEAAgE,UAAU,EAAE,CAC7E,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,kBAAkB,CAC1B,+DAA+D,UAAU,EAAE,CAC5E,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,kBAAkB,CAC1B,qDAAqD,UAAU,EAAE,CAClE,CAAC;IACJ,CAAC;IAED,IACE,iCAAiC,KAAK,SAAS;QAC/C,OAAO,iCAAiC,KAAK,SAAS,EACtD,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,kFAAkF,UAAU,EAAE,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEnE,OAAO;QACL,gBAAgB,EAAE,eAAe;QACjC,KAAK,EAAE,aAAa;QACpB,iCAAiC,EAC9B,iCAAyD,IAAI,KAAK;KACtE,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAc,EACd,UAAkB;IAElB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,oBAAoB,CACzB,KAAK,EACL,UAAU,EACV,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,kBAAkB,CAC1B,+DAA+D,UAAU,EAAE,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,KAAgC,CAAC;IAErD,IAAI,aAAa,GAAoB,oBAAoB,CAAC;IAC1D,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,aAAa,GAAG,qBAAqB,CACnC,WAAW,CAAC,MAAM,EAClB,UAAU,EACV,sCAAsC,CACvC,CAAC;IACJ,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,aAAa,GAAG,qBAAqB,CACnC,WAAW,CAAC,MAAM,EAClB,UAAU,EACV,sCAAsC,CACvC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,OAAO,SAAS,CAAC,MAAM,CAAC;IACxB,OAAO,SAAS,CAAC,MAAM,CAAC;IAExB,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,OAAO,mBAAmB,CACxB,SAAS,EACT,SAA2B,EAC3B,UAAU,CACX,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAgC,EAChC,UAAkB,EAClB,YAAoB;IAEpB,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,qBAAqB,CAC5B,GAAY,EACZ,UAAkB,EAClB,YAAoB;IAEpB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,kBAAkB,CAC1B,GAAG,YAAY,oBAAoB,OAAO,OAAO,UAAU,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,kBAAkB,CAC1B,WAAW,YAAY,KAAK,GAAG,QAAQ,UAAU,wBAAwB,OAAO,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAiB,EACjB,SAAyB,EACzB,UAAkB;IAElB,mBAAmB,CACjB,KAAK,EACL,SAAS,EACT,UAAU,EACV,+BAA+B,CAChC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAe,EACf,SAAkC,EAClC,UAAkB,EAClB,IAAY;IAEZ,MAAM,YAAY,GAAG,MAAiC,CAAC;IAEvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,GAAG,IAAI,IAAI,GAAG,uCAAuC,UAAU,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAElC,IACE,OAAO;YACP,OAAO,OAAO,KAAK,QAAQ;YAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,MAAM,IAAI,kBAAkB,CAC1B,GAAG,IAAI,IAAI,GAAG,yBAAyB,UAAU,EAAE,CACpD,CAAC;YACJ,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAI,OAAmC,EAAE,CAAC;YAChE,mBAAmB,CACjB,YAAY,CAAC,GAAG,CAAC,EACjB,KAAgC,EAChC,UAAU,EACV,GAAG,IAAI,IAAI,GAAG,EAAE,CACjB,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAC1B,GAAG,IAAI,IAAI,GAAG,wBAAwB,UAAU,EAAE,CACnD,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAe,CAAC;AACzD,CAAC"}
@@ -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"}