@shadow-shard-tools/docs-core 1.0.16 → 1.0.18

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 (160) hide show
  1. package/README.md +28 -5
  2. package/dist/cjs/configs/clientConfig.js +162 -0
  3. package/dist/cjs/configs/codeLanguagesConfig.js +36 -0
  4. package/dist/cjs/configs/index.js +20 -0
  5. package/dist/cjs/configs/sstDocsConfig.browser.js +27 -0
  6. package/dist/cjs/configs/sstDocsConfig.js +88 -0
  7. package/dist/cjs/configs/sstDocsConfigShared.js +174 -0
  8. package/dist/cjs/constants/alignmentClasses.js +17 -0
  9. package/dist/cjs/constants/index.js +7 -0
  10. package/dist/cjs/constants/spacingClasses.js +9 -0
  11. package/dist/cjs/data/buildTree.js +93 -0
  12. package/dist/cjs/data/fsDataProvider.js +23 -0
  13. package/dist/cjs/data/httpDataProvider.js +25 -0
  14. package/dist/cjs/data/index.js +19 -0
  15. package/dist/cjs/data/loadAllCategories.js +20 -0
  16. package/dist/cjs/data/loadAllItems.js +14 -0
  17. package/dist/cjs/data/loadVersionData.js +16 -0
  18. package/dist/cjs/data/loadVersions.js +6 -0
  19. package/dist/cjs/index.js +22 -0
  20. package/dist/cjs/themes/index.js +11 -0
  21. package/dist/cjs/themes/presets/default.js +121 -0
  22. package/dist/cjs/themes/themeRegistry.js +22 -0
  23. package/dist/cjs/types/AudioData.js +2 -0
  24. package/dist/cjs/types/BaseImage.js +2 -0
  25. package/dist/cjs/types/Category.js +2 -0
  26. package/dist/cjs/types/CategoryTitleData.js +2 -0
  27. package/dist/cjs/types/ChartData.js +2 -0
  28. package/dist/cjs/types/ClientVisibleSstDocsConfig.js +2 -0
  29. package/dist/cjs/types/CodeData.js +2 -0
  30. package/dist/cjs/types/Content.js +2 -0
  31. package/dist/cjs/types/DataProvider.js +2 -0
  32. package/dist/cjs/types/DividerData.js +2 -0
  33. package/dist/cjs/types/DocItem.js +2 -0
  34. package/dist/cjs/types/HeaderBranding.js +2 -0
  35. package/dist/cjs/types/HtmlGeneratorSettings.js +2 -0
  36. package/dist/cjs/types/ImageCarouselData.js +2 -0
  37. package/dist/cjs/types/ImageCompareData.js +2 -0
  38. package/dist/cjs/types/ImageData.js +2 -0
  39. package/dist/cjs/types/ImageGridData.js +2 -0
  40. package/dist/cjs/types/IndexJson.js +2 -0
  41. package/dist/cjs/types/ListData.js +2 -0
  42. package/dist/cjs/types/Logger.js +2 -0
  43. package/dist/cjs/types/MathData.js +2 -0
  44. package/dist/cjs/types/MessageBoxData.js +2 -0
  45. package/dist/cjs/types/RawCategory.js +2 -0
  46. package/dist/cjs/types/SstDocsConfig.js +2 -0
  47. package/dist/cjs/types/StyleTheme.js +2 -0
  48. package/dist/cjs/types/TableData.js +2 -0
  49. package/dist/cjs/types/TextData.js +2 -0
  50. package/dist/cjs/types/TitleData.js +2 -0
  51. package/dist/cjs/types/Version.js +2 -0
  52. package/dist/cjs/types/YoutubeData.js +2 -0
  53. package/dist/cjs/types/index.js +2 -0
  54. package/dist/cjs/utilities/dom/copyToClipboard.js +40 -0
  55. package/dist/cjs/utilities/dom/downloadTextFile.js +23 -0
  56. package/dist/cjs/utilities/dom/getResponsiveWidth.js +11 -0
  57. package/dist/cjs/utilities/file/getFileExtension.js +9 -0
  58. package/dist/cjs/utilities/index.js +53 -0
  59. package/dist/cjs/utilities/path/pathExists.js +16 -0
  60. package/dist/cjs/utilities/path/resolveAgainstProjectRoot.js +13 -0
  61. package/dist/cjs/utilities/path/resolveDataPath.js +18 -0
  62. package/dist/cjs/utilities/string/extractYouTubeId.js +18 -0
  63. package/dist/cjs/utilities/string/normalizeBaseUrlPath.js +11 -0
  64. package/dist/cjs/utilities/string/normalizeSystemPath.js +14 -0
  65. package/dist/cjs/utilities/string/processListItems.js +10 -0
  66. package/dist/cjs/utilities/string/sanitizeFilename.js +13 -0
  67. package/dist/cjs/utilities/string/slugify.js +12 -0
  68. package/dist/cjs/utilities/string/withBasePath.js +45 -0
  69. package/dist/cjs/utilities/system/createTimeout.js +11 -0
  70. package/dist/cjs/utilities/system/formatTime.js +12 -0
  71. package/dist/cjs/utilities/system/logger.js +40 -0
  72. package/dist/cjs/utilities/validation/isMobileDevice.js +8 -0
  73. package/dist/cjs/utilities/validation/isValidColor.js +182 -0
  74. package/dist/cjs/utilities/validation/isValidImageUrl.js +42 -0
  75. package/dist/cjs/utilities/validation/isValidYouTubeId.js +9 -0
  76. package/dist/cjs/utilities/validation/validateScale.js +8 -0
  77. package/dist/configs/clientConfig.d.ts.map +1 -1
  78. package/dist/configs/clientConfig.js +116 -10
  79. package/dist/configs/clientConfig.js.map +1 -1
  80. package/dist/configs/index.d.ts +0 -1
  81. package/dist/configs/index.d.ts.map +1 -1
  82. package/dist/configs/index.js +0 -1
  83. package/dist/configs/index.js.map +1 -1
  84. package/dist/configs/sstDocsConfig.browser.d.ts +8 -0
  85. package/dist/configs/sstDocsConfig.browser.d.ts.map +1 -0
  86. package/dist/configs/sstDocsConfig.browser.js +18 -0
  87. package/dist/configs/sstDocsConfig.browser.js.map +1 -0
  88. package/dist/configs/sstDocsConfig.d.ts +2 -6
  89. package/dist/configs/sstDocsConfig.d.ts.map +1 -1
  90. package/dist/configs/sstDocsConfig.js +2 -240
  91. package/dist/configs/sstDocsConfig.js.map +1 -1
  92. package/dist/configs/sstDocsConfigShared.d.ts +9 -0
  93. package/dist/configs/sstDocsConfigShared.d.ts.map +1 -0
  94. package/dist/configs/sstDocsConfigShared.js +165 -0
  95. package/dist/configs/sstDocsConfigShared.js.map +1 -0
  96. package/dist/constants/{aligmentClasses.d.ts → alignmentClasses.d.ts} +1 -1
  97. package/dist/constants/alignmentClasses.d.ts.map +1 -0
  98. package/dist/constants/{aligmentClasses.js → alignmentClasses.js} +1 -1
  99. package/dist/constants/alignmentClasses.js.map +1 -0
  100. package/dist/constants/index.d.ts +1 -1
  101. package/dist/constants/index.d.ts.map +1 -1
  102. package/dist/constants/index.js +1 -1
  103. package/dist/constants/index.js.map +1 -1
  104. package/dist/data/fsDataProvider.d.ts +2 -1
  105. package/dist/data/fsDataProvider.d.ts.map +1 -1
  106. package/dist/data/fsDataProvider.js +15 -3
  107. package/dist/data/fsDataProvider.js.map +1 -1
  108. package/dist/data/httpDataProvider.d.ts +2 -1
  109. package/dist/data/httpDataProvider.d.ts.map +1 -1
  110. package/dist/data/httpDataProvider.js +17 -4
  111. package/dist/data/httpDataProvider.js.map +1 -1
  112. package/dist/data/index.d.ts +2 -2
  113. package/dist/data/index.d.ts.map +1 -1
  114. package/dist/data/index.js +2 -2
  115. package/dist/data/index.js.map +1 -1
  116. package/dist/themes/index.d.ts +1 -2
  117. package/dist/themes/index.d.ts.map +1 -1
  118. package/dist/themes/index.js +1 -2
  119. package/dist/themes/index.js.map +1 -1
  120. package/dist/themes/presets/default.d.ts +3 -0
  121. package/dist/themes/presets/default.d.ts.map +1 -0
  122. package/dist/themes/presets/default.js +119 -0
  123. package/dist/themes/presets/default.js.map +1 -0
  124. package/dist/themes/themeRegistry.d.ts +3 -4
  125. package/dist/themes/themeRegistry.d.ts.map +1 -1
  126. package/dist/themes/themeRegistry.js +11 -11
  127. package/dist/themes/themeRegistry.js.map +1 -1
  128. package/dist/types/Content.d.ts +35 -18
  129. package/dist/types/Content.d.ts.map +1 -1
  130. package/dist/types/HtmlGeneratorSettings.d.ts +3 -11
  131. package/dist/types/HtmlGeneratorSettings.d.ts.map +1 -1
  132. package/dist/types/StyleTheme.d.ts +115 -16
  133. package/dist/types/StyleTheme.d.ts.map +1 -1
  134. package/dist/types/index.d.ts +1 -2
  135. package/dist/types/index.d.ts.map +1 -1
  136. package/dist/utilities/string/normalizeSystemPath.d.ts.map +1 -1
  137. package/dist/utilities/string/normalizeSystemPath.js +9 -1
  138. package/dist/utilities/string/normalizeSystemPath.js.map +1 -1
  139. package/dist/utilities/string/withBasePath.d.ts.map +1 -1
  140. package/dist/utilities/string/withBasePath.js +35 -6
  141. package/dist/utilities/string/withBasePath.js.map +1 -1
  142. package/package.json +141 -137
  143. package/dist/configs/styles/320/241onfig.d.ts +0 -3
  144. package/dist/configs/styles/320/241onfig.d.ts.map +0 -1
  145. package/dist/configs/styles/320/241onfig.js +0 -8
  146. package/dist/configs/styles/320/241onfig.js.map +0 -1
  147. package/dist/constants/aligmentClasses.d.ts.map +0 -1
  148. package/dist/constants/aligmentClasses.js.map +0 -1
  149. package/dist/themes/darkTheme.d.ts +0 -3
  150. package/dist/themes/darkTheme.d.ts.map +0 -1
  151. package/dist/themes/darkTheme.js +0 -119
  152. package/dist/themes/darkTheme.js.map +0 -1
  153. package/dist/themes/lightTheme.d.ts +0 -3
  154. package/dist/themes/lightTheme.d.ts.map +0 -1
  155. package/dist/themes/lightTheme.js +0 -119
  156. package/dist/themes/lightTheme.js.map +0 -1
  157. package/dist/types/StylesConfig.d.ts +0 -8
  158. package/dist/types/StylesConfig.d.ts.map +0 -1
  159. package/dist/types/StylesConfig.js +0 -2
  160. package/dist/types/StylesConfig.js.map +0 -1
@@ -7,13 +7,13 @@ export function buildClientVisibleConfig(config) {
7
7
  };
8
8
  }
9
9
  export function serializeClientConfigForBrowser(source, options) {
10
- const payload = normalizeClientConfigSource(source);
10
+ const payload = normalizeAndValidateClientConfigSource(source);
11
11
  const globalName = options?.globalName ?? DEFAULT_CLIENT_CONFIG_GLOBAL;
12
12
  const spacing = options?.pretty ? 2 : undefined;
13
13
  return `window.${globalName} = ${JSON.stringify(payload, null, spacing)};`;
14
14
  }
15
15
  export function exposeClientConfig(source, options) {
16
- const payload = normalizeClientConfigSource(source);
16
+ const payload = normalizeAndValidateClientConfigSource(source);
17
17
  const target = options?.target ??
18
18
  globalThis;
19
19
  if (!target) {
@@ -29,22 +29,128 @@ export function readClientConfig(globalName = DEFAULT_CLIENT_CONFIG_GLOBAL) {
29
29
  throw new Error("globalThis is not available in the current environment.");
30
30
  }
31
31
  const value = globalObject[globalName];
32
+ return assertClientConfig(value, globalName);
33
+ }
34
+ function normalizeAndValidateClientConfigSource(source) {
35
+ const normalized = isClientConfig(source)
36
+ ? source
37
+ : buildClientVisibleConfig(source);
38
+ return assertClientConfig(normalized);
39
+ }
40
+ function assertClientConfig(value, globalName = DEFAULT_CLIENT_CONFIG_GLOBAL) {
32
41
  if (!isClientConfig(value)) {
33
42
  throw new Error(`Client config "${globalName}" is missing or malformed on globalThis.`);
34
43
  }
35
44
  return value;
36
45
  }
37
- function normalizeClientConfigSource(source) {
38
- if (isClientConfig(source)) {
39
- return source;
40
- }
41
- return buildClientVisibleConfig(source);
42
- }
43
46
  function isClientConfig(value) {
44
47
  if (!value || typeof value !== "object") {
45
48
  return false;
46
49
  }
47
- return ("PUBLIC_DATA_PATH" in value &&
48
- "HEADER_BRANDING" in value);
50
+ const candidate = value;
51
+ const hasPublicPath = typeof candidate.PUBLIC_DATA_PATH === "string";
52
+ const hasBranding = isHeaderBranding(candidate.HEADER_BRANDING);
53
+ const hasTheme = candidate.HTML_GENERATOR_THEME === undefined ||
54
+ isStyleTheme(candidate.HTML_GENERATOR_THEME);
55
+ return hasPublicPath && hasBranding && hasTheme;
56
+ }
57
+ function isHeaderBranding(value) {
58
+ if (value === undefined)
59
+ return true;
60
+ if (!value || typeof value !== "object")
61
+ return false;
62
+ const record = value;
63
+ return (["logoSrc", "logoAlt", "logoText"].every((key) => key in record ? typeof record[key] === "string" || record[key] === undefined : true));
64
+ }
65
+ function isStyleTheme(value) {
66
+ if (!value || typeof value !== "object")
67
+ return false;
68
+ const theme = value;
69
+ const stringProps = (obj, keys) => !!obj &&
70
+ typeof obj === "object" &&
71
+ keys.every((k) => typeof obj[k] === "string");
72
+ return (typeof theme.input === "string" &&
73
+ stringProps(theme.text, [
74
+ "logoText",
75
+ "documentTitle",
76
+ "breadcrumb",
77
+ "titleLevel1",
78
+ "titleLevel2",
79
+ "titleLevel3",
80
+ "titleAnchor",
81
+ "general",
82
+ "alternative",
83
+ "list",
84
+ "math",
85
+ ]) &&
86
+ stringProps(theme.hints, ["text", "key"]) &&
87
+ stringProps(theme.divider, ["border", "gradient", "text"]) &&
88
+ stringProps(theme.buttons, ["common", "small", "tabSmall", "tabSmallActive"]) &&
89
+ stringProps(theme.dropdown, ["container", "item", "itemActive"]) &&
90
+ stringProps(theme.messageBox, [
91
+ "info",
92
+ "warning",
93
+ "error",
94
+ "success",
95
+ "neutral",
96
+ "quote",
97
+ ]) &&
98
+ stringProps(theme.table, ["cornerCell", "headers", "rows", "border", "empty"]) &&
99
+ stringProps(theme.code, ["header", "language", "lines", "empty"]) &&
100
+ stringProps(theme.audioPlayer, [
101
+ "container",
102
+ "playButton",
103
+ "time",
104
+ "slider",
105
+ "sliderThumb",
106
+ "sliderTrackColor",
107
+ "sliderFillColor",
108
+ ]) &&
109
+ stringProps(theme.chart, [
110
+ "legendLabelColor",
111
+ "tooltipBg",
112
+ "tooltipTitleColor",
113
+ "tooltipBodyColor",
114
+ "tooltipBorderColor",
115
+ "axisTickColor",
116
+ "gridLineColor",
117
+ ]) &&
118
+ stringProps(theme.graph, ["background", "defaultCurve"]) &&
119
+ stringProps(theme.searchModal, [
120
+ "resultBackground",
121
+ "resultEmptyInputText",
122
+ "resultNoResultText",
123
+ "header",
124
+ "footer",
125
+ "borders",
126
+ "item",
127
+ "selectedItem",
128
+ "itemHeaderText",
129
+ "itemFoundSectionText",
130
+ "itemTags",
131
+ ]) &&
132
+ stringProps(theme.navigation, [
133
+ "row",
134
+ "rowActive",
135
+ "rowFocused",
136
+ "rowHover",
137
+ "hideOrShowHintsText",
138
+ ]) &&
139
+ stringProps(theme.category, [
140
+ "empty",
141
+ "cardBody",
142
+ "cardHeaderText",
143
+ "cardDescriptionText",
144
+ ]) &&
145
+ stringProps(theme.sections, [
146
+ "siteBackground",
147
+ "siteBorders",
148
+ "headerBackground",
149
+ "headerMobileBackground",
150
+ "sidebarBackground",
151
+ "documentHeaderBackground",
152
+ "contentBackground",
153
+ ]) &&
154
+ stringProps(theme.header, ["mobileNavigationToggle", "mobileMenuToggle"]));
49
155
  }
50
156
  //# sourceMappingURL=clientConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientConfig.js","sourceRoot":"","sources":["../../src/configs/clientConfig.ts"],"names":[],"mappings":"AAGA,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,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"}
1
+ {"version":3,"file":"clientConfig.js","sourceRoot":"","sources":["../../src/configs/clientConfig.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export { CODE_LANGUAGE_CONFIG, type SupportedLanguage, } from "./codeLanguagesConfig.js";
2
- export { stylesConfig } from "./stylesСonfig.js";
3
2
  export { loadSstDocsConfig, loadSstDocsConfigFrom, loadSstDocsConfigSync, loadSstDocsConfigFromSync, derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.js";
4
3
  export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./clientConfig.js";
5
4
  //# 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,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,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,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export { CODE_LANGUAGE_CONFIG, } from "./codeLanguagesConfig.js";
2
- export { stylesConfig } from "./stylesСonfig.js";
3
2
  export { loadSstDocsConfig, loadSstDocsConfigFrom, loadSstDocsConfigSync, loadSstDocsConfigFromSync, derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfig.js";
4
3
  export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./clientConfig.js";
5
4
  //# 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,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,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,EACL,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ResolvedSstDocsConfig } from "../types/SstDocsConfig.js";
2
+ import { derivePublicDataPath, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError } from "./sstDocsConfigShared.js";
3
+ export declare function loadSstDocsConfig(_configPath?: string): Promise<ResolvedSstDocsConfig>;
4
+ export declare function loadSstDocsConfigSync(_configPath?: string): ResolvedSstDocsConfig;
5
+ export declare function loadSstDocsConfigFrom(_configDir: string): Promise<ResolvedSstDocsConfig>;
6
+ export declare function loadSstDocsConfigFromSync(_configDir: string): ResolvedSstDocsConfig;
7
+ export { derivePublicDataPath, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError, };
8
+ //# sourceMappingURL=sstDocsConfig.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sstDocsConfig.browser.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAQlC,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,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { derivePublicDataPath, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError, } from "./sstDocsConfigShared.js";
2
+ function unsupported(method) {
3
+ throw new SstDocsConfigError(`${method} is only available in a Node.js environment where the file system can be read.`);
4
+ }
5
+ export async function loadSstDocsConfig(_configPath) {
6
+ return unsupported("loadSstDocsConfig");
7
+ }
8
+ export function loadSstDocsConfigSync(_configPath) {
9
+ return unsupported("loadSstDocsConfigSync");
10
+ }
11
+ export async function loadSstDocsConfigFrom(_configDir) {
12
+ return unsupported("loadSstDocsConfigFrom");
13
+ }
14
+ export function loadSstDocsConfigFromSync(_configDir) {
15
+ return unsupported("loadSstDocsConfigFromSync");
16
+ }
17
+ export { derivePublicDataPath, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError, };
18
+ //# sourceMappingURL=sstDocsConfig.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sstDocsConfig.browser.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.browser.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,IAAI,kBAAkB,CAC1B,GAAG,MAAM,gFAAgF,CAC1F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAoB;IAEpB,OAAO,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,WAAoB;IAEpB,OAAO,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB;IAElB,OAAO,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAkB;IAElB,OAAO,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAClD,CAAC;AAED,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,GACnB,CAAC"}
@@ -1,12 +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, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError } from "./sstDocsConfigShared.js";
6
3
  export declare function loadSstDocsConfig(configPath?: string): Promise<ResolvedSstDocsConfig>;
7
4
  export declare function loadSstDocsConfigSync(configPath?: string): ResolvedSstDocsConfig;
8
- export declare function derivePublicDataPath(fsDataPath: string): string;
9
- export declare function resolvePublicDataPath(baseUrl: string, config: Pick<ResolvedSstDocsConfig, "PUBLIC_DATA_PATH"> | string): string;
10
5
  export declare function loadSstDocsConfigFrom(configDir: string): Promise<ResolvedSstDocsConfig>;
11
6
  export declare function loadSstDocsConfigFromSync(configDir: string): ResolvedSstDocsConfig;
7
+ export { derivePublicDataPath, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError, };
12
8
  //# sourceMappingURL=sstDocsConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sstDocsConfig.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AAI1F,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,CAIhC;AAED,wBAAgB,qBAAqB,CACnC,UAAU,CAAC,EAAE,MAAM,GAClB,qBAAqB,CAGvB;AAqDD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA6B/D;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,MAAM,GAC/D,MAAM,CAuBR;AAgDD,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAGvB"}
1
+ {"version":3,"file":"sstDocsConfig.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,oBAAoB,EAEpB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAIlC,wBAAsB,iBAAiB,CACrC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAIhC;AAED,wBAAgB,qBAAqB,CACnC,UAAU,CAAC,EAAE,MAAM,GAClB,qBAAqB,CAGvB;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,GAChB,qBAAqB,CAGvB;AA6ED,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,GACnB,CAAC"}
@@ -2,15 +2,7 @@ import { readFileSync } from "node:fs";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import { resolve } from "node:path";
4
4
  import appRoot from "app-root-path";
5
- import { AVAILABLE_THEME_PRESET_NAMES, DEFAULT_THEME_PRESET, getThemePreset, isThemePresetName, } from "../themes/themeRegistry.js";
6
- import { normalizeSystemPath } from "../utilities/string/normalizeSystemPath.js";
7
- export const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
8
- export class SstDocsConfigError extends Error {
9
- constructor(message) {
10
- super(message);
11
- this.name = "SstDocsConfigError";
12
- }
13
- }
5
+ import { derivePublicDataPath, parseConfigContents, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError, } from "./sstDocsConfigShared.js";
14
6
  const APP_ROOT = appRoot.path;
15
7
  export async function loadSstDocsConfig(configPath) {
16
8
  const { path: finalPath, contents } = await readConfigFile(configPath);
@@ -20,112 +12,6 @@ export function loadSstDocsConfigSync(configPath) {
20
12
  const { path: finalPath, contents } = readConfigFileSync(configPath);
21
13
  return parseConfigContents(contents, finalPath);
22
14
  }
23
- function parseConfigContents(contents, sourcePath) {
24
- let parsed;
25
- try {
26
- parsed = JSON.parse(contents);
27
- }
28
- catch (error) {
29
- throw new SstDocsConfigError(`Failed to parse ${SST_DOCS_CONFIG_FILENAME}: ${error.message}`);
30
- }
31
- return normalizeConfig(parsed, sourcePath);
32
- }
33
- function normalizeConfig(value, sourcePath) {
34
- if (!value || typeof value !== "object") {
35
- throw new SstDocsConfigError(`Invalid configuration in ${sourcePath}: expected an object`);
36
- }
37
- const raw = value;
38
- if (typeof raw.FS_DATA_PATH !== "string") {
39
- throw new SstDocsConfigError(`Missing or invalid FS_DATA_PATH in ${sourcePath}`);
40
- }
41
- const fsDataPath = normalizeSystemPath(raw.FS_DATA_PATH.trim());
42
- if (fsDataPath.length === 0) {
43
- throw new SstDocsConfigError(`FS_DATA_PATH cannot be empty in ${sourcePath}`);
44
- }
45
- return {
46
- FS_DATA_PATH: fsDataPath,
47
- PUBLIC_DATA_PATH: derivePublicDataPath(fsDataPath),
48
- HEADER_BRANDING: normalizeHeaderBranding(raw.HEADER_BRANDING, sourcePath),
49
- HTML_GENERATOR_SETTINGS: normalizeHtmlGeneratorSettings(raw.HTML_GENERATOR_SETTINGS, sourcePath),
50
- };
51
- }
52
- export function derivePublicDataPath(fsDataPath) {
53
- const normalized = normalizeSystemPath(fsDataPath.trim());
54
- let candidate = normalized;
55
- // Strip leading relative markers like "./"
56
- candidate = candidate.replace(/^\.\/*/, "/");
57
- // Try to locate the /public segment and drop everything up to it.
58
- const publicSegmentIndex = candidate.indexOf("/public");
59
- if (publicSegmentIndex !== -1) {
60
- candidate = candidate.slice(publicSegmentIndex + "/public".length);
61
- }
62
- else if (candidate.startsWith("public/")) {
63
- candidate = candidate.slice("public".length);
64
- }
65
- if (candidate.length === 0 || candidate === "/") {
66
- return "/";
67
- }
68
- if (!candidate.startsWith("/")) {
69
- candidate = `/${candidate}`;
70
- }
71
- if (!candidate.endsWith("/")) {
72
- candidate = `${candidate}/`;
73
- }
74
- return candidate;
75
- }
76
- export function resolvePublicDataPath(baseUrl, config) {
77
- const publicPath = typeof config === "string" ? config : config.PUBLIC_DATA_PATH;
78
- const normalizedPublicPath = normalizePublicPath(publicPath);
79
- if (!baseUrl) {
80
- return normalizedPublicPath;
81
- }
82
- if (isAbsoluteUrl(baseUrl)) {
83
- const url = new URL(baseUrl);
84
- url.pathname = joinUrlPaths(ensureLeadingAndTrailingSlash(url.pathname || "/"), normalizedPublicPath);
85
- return url.toString();
86
- }
87
- const normalizedBase = ensureLeadingAndTrailingSlash(normalizeSystemPath(baseUrl.trim() || "/"));
88
- return joinUrlPaths(normalizedBase, normalizedPublicPath);
89
- }
90
- function normalizePublicPath(value) {
91
- const normalized = normalizeSystemPath(value.trim());
92
- if (normalized.length === 0) {
93
- return "/";
94
- }
95
- const withLeading = normalized.startsWith("/")
96
- ? normalized
97
- : `/${normalized}`;
98
- return withLeading.endsWith("/") ? withLeading : `${withLeading}/`;
99
- }
100
- function ensureLeadingAndTrailingSlash(value) {
101
- const normalized = normalizeSystemPath(value.trim());
102
- if (normalized.length === 0) {
103
- return "/";
104
- }
105
- let result = normalized.startsWith("/")
106
- ? normalized
107
- : `/${normalized}`;
108
- if (!result.endsWith("/")) {
109
- result = `${result}/`;
110
- }
111
- return result;
112
- }
113
- function joinUrlPaths(base, child) {
114
- const normalizedBase = base.endsWith("/") ? base : `${base}/`;
115
- const normalizedChild = child.startsWith("/")
116
- ? child.slice(1)
117
- : child;
118
- return `${normalizedBase}${normalizedChild}`;
119
- }
120
- function isAbsoluteUrl(value) {
121
- try {
122
- new URL(value);
123
- return true;
124
- }
125
- catch {
126
- return false;
127
- }
128
- }
129
15
  export async function loadSstDocsConfigFrom(configDir) {
130
16
  const fullPath = resolve(configDir, SST_DOCS_CONFIG_FILENAME);
131
17
  return loadSstDocsConfig(fullPath);
@@ -186,129 +72,5 @@ function getConfigSearchPaths(configPath) {
186
72
  }
187
73
  return searchPaths;
188
74
  }
189
- function normalizeHeaderBranding(value, sourcePath) {
190
- if (value === undefined) {
191
- return {};
192
- }
193
- if (!value || typeof value !== "object") {
194
- throw new SstDocsConfigError(`HEADER_BRANDING must be an object in ${sourcePath}`);
195
- }
196
- const { logoSrc, logoAlt, logoText } = value;
197
- return {
198
- logoSrc: normalizeOptionalString(logoSrc, "logoSrc", sourcePath),
199
- logoAlt: normalizeOptionalString(logoAlt, "logoAlt", sourcePath),
200
- logoText: normalizeOptionalString(logoText, "logoText", sourcePath),
201
- };
202
- }
203
- function normalizeOptionalString(value, key, sourcePath) {
204
- if (value === undefined || value === null)
205
- return undefined;
206
- if (typeof value !== "string") {
207
- throw new SstDocsConfigError(`HEADER_BRANDING.${key} must be a string in ${sourcePath}`);
208
- }
209
- const trimmed = value.trim();
210
- return trimmed.length > 0 ? trimmed : undefined;
211
- }
212
- function normalizeHtmlGeneratorSettings(value, sourcePath) {
213
- if (value === undefined) {
214
- return undefined;
215
- }
216
- if (!value || typeof value !== "object" || Array.isArray(value)) {
217
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS must be an object in ${sourcePath}`);
218
- }
219
- const { OUTPUT_DIRECTORY, THEME, SEPARATE_BUILD_FOR_HTML_GENERATOR, } = value;
220
- if (typeof OUTPUT_DIRECTORY !== "string") {
221
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY must be a string in ${sourcePath}`);
222
- }
223
- const outputDirectory = normalizeSystemPath(OUTPUT_DIRECTORY.trim());
224
- if (outputDirectory.length === 0) {
225
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY cannot be empty in ${sourcePath}`);
226
- }
227
- if (THEME === undefined) {
228
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be provided in ${sourcePath}`);
229
- }
230
- if (SEPARATE_BUILD_FOR_HTML_GENERATOR !== undefined &&
231
- typeof SEPARATE_BUILD_FOR_HTML_GENERATOR !== "boolean") {
232
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.SEPARATE_BUILD_FOR_HTML_GENERATOR must be a boolean in ${sourcePath}`);
233
- }
234
- const resolvedTheme = resolveThemeConfiguration(THEME, sourcePath);
235
- return {
236
- OUTPUT_DIRECTORY: outputDirectory,
237
- THEME: resolvedTheme,
238
- SEPARATE_BUILD_FOR_HTML_GENERATOR: SEPARATE_BUILD_FOR_HTML_GENERATOR ?? false,
239
- };
240
- }
241
- function resolveThemeConfiguration(value, sourcePath) {
242
- if (typeof value === "string") {
243
- return cloneThemeFromPreset(value, sourcePath, "HTML_GENERATOR_SETTINGS.THEME");
244
- }
245
- if (!value || typeof value !== "object" || Array.isArray(value)) {
246
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be a string or object in ${sourcePath}`);
247
- }
248
- const themeObject = value;
249
- let baseThemeName = DEFAULT_THEME_PRESET;
250
- if (themeObject.preset !== undefined) {
251
- baseThemeName = ensureThemePresetName(themeObject.preset, sourcePath, "HTML_GENERATOR_SETTINGS.THEME.preset");
252
- }
253
- else if (themeObject.extend !== undefined) {
254
- baseThemeName = ensureThemePresetName(themeObject.extend, sourcePath, "HTML_GENERATOR_SETTINGS.THEME.extend");
255
- }
256
- const overrides = { ...themeObject };
257
- delete overrides.preset;
258
- delete overrides.extend;
259
- const baseTheme = cloneTheme(getThemePreset(baseThemeName));
260
- return applyThemeOverrides(baseTheme, overrides, sourcePath);
261
- }
262
- function cloneThemeFromPreset(preset, sourcePath, propertyPath) {
263
- const themeName = ensureThemePresetName(preset, sourcePath, propertyPath);
264
- const presetTheme = getThemePreset(themeName);
265
- return cloneTheme(presetTheme);
266
- }
267
- function ensureThemePresetName(raw, sourcePath, propertyPath) {
268
- if (raw === undefined || raw === null) {
269
- return DEFAULT_THEME_PRESET;
270
- }
271
- if (typeof raw !== "string") {
272
- const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
273
- throw new SstDocsConfigError(`${propertyPath} must be one of: ${options} in ${sourcePath}`);
274
- }
275
- const normalized = raw.trim().toLowerCase();
276
- if (!isThemePresetName(normalized)) {
277
- const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
278
- throw new SstDocsConfigError(`Unknown ${propertyPath} "${raw}" in ${sourcePath}. Supported presets: ${options}`);
279
- }
280
- return normalized;
281
- }
282
- function applyThemeOverrides(theme, overrides, sourcePath) {
283
- mergeThemeFragments(theme, overrides, sourcePath, "HTML_GENERATOR_SETTINGS.THEME");
284
- return theme;
285
- }
286
- function mergeThemeFragments(target, overrides, sourcePath, path) {
287
- for (const [key, value] of Object.entries(overrides)) {
288
- if (value === undefined) {
289
- continue;
290
- }
291
- if (!(key in target)) {
292
- throw new SstDocsConfigError(`${path}.${key} is not a recognized theme field in ${sourcePath}`);
293
- }
294
- const current = target[key];
295
- if (current &&
296
- typeof current === "object" &&
297
- !Array.isArray(current)) {
298
- if (!value || typeof value !== "object" || Array.isArray(value)) {
299
- throw new SstDocsConfigError(`${path}.${key} must be an object in ${sourcePath}`);
300
- }
301
- target[key] = { ...current };
302
- mergeThemeFragments(target[key], value, sourcePath, `${path}.${key}`);
303
- continue;
304
- }
305
- if (typeof value !== "string") {
306
- throw new SstDocsConfigError(`${path}.${key} must be a string in ${sourcePath}`);
307
- }
308
- target[key] = value;
309
- }
310
- }
311
- function cloneTheme(theme) {
312
- return JSON.parse(JSON.stringify(theme));
313
- }
75
+ export { derivePublicDataPath, resolvePublicDataPath, SST_DOCS_CONFIG_FILENAME, SstDocsConfigError, };
314
76
  //# 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":"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"}
@@ -0,0 +1,9 @@
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 parseConfigContents(contents: string, sourcePath: string): ResolvedSstDocsConfig;
7
+ export declare function derivePublicDataPath(fsDataPath: string): string;
8
+ export declare function resolvePublicDataPath(baseUrl: string, config: Pick<ResolvedSstDocsConfig, "PUBLIC_DATA_PATH"> | string): string;
9
+ //# sourceMappingURL=sstDocsConfigShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sstDocsConfigShared.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfigShared.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AAI1F,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAWvB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,GAAG,MAAM,GAC/D,MAAM,CAkBR"}