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

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 (130) hide show
  1. package/README.md +57 -0
  2. package/dist/cjs/configs/clientConfig.js +28 -112
  3. package/dist/cjs/configs/index.browser.js +16 -0
  4. package/dist/cjs/configs/sstDocsConfigShared.js +159 -101
  5. package/dist/cjs/data/buildTree.js +48 -10
  6. package/dist/cjs/data/fsDataProvider.browser.js +10 -0
  7. package/dist/cjs/data/index.browser.js +17 -0
  8. package/dist/cjs/data/index.js +4 -1
  9. package/dist/cjs/data/loadAllCategories.js +15 -5
  10. package/dist/cjs/data/loadAllItems.js +19 -7
  11. package/dist/cjs/data/loadVersionData.fs.js +29 -0
  12. package/dist/cjs/data/loadVersionData.js +69 -7
  13. package/dist/cjs/index.browser.js +22 -0
  14. package/dist/cjs/themes/index.js +5 -1
  15. package/dist/cjs/themes/styleThemeSchema.js +36 -0
  16. package/dist/cjs/types/DataDiagnostic.js +2 -0
  17. package/dist/cjs/utilities/index.browser.js +53 -0
  18. package/dist/cjs/utilities/path/pathExists.browser.js +6 -0
  19. package/dist/cjs/utilities/path/pathExists.js +1 -1
  20. package/dist/cjs/utilities/path/resolveAgainstProjectRoot.browser.js +6 -0
  21. package/dist/cjs/utilities/path/resolveDataPath.browser.js +6 -0
  22. package/dist/cjs/utilities/path/resolveDataPath.js +1 -1
  23. package/dist/cjs/utilities/string/withBasePath.js +37 -9
  24. package/dist/cjs/utilities/system/logger.browser.js +39 -0
  25. package/dist/cjs/utilities/system/logger.js +26 -6
  26. package/dist/configs/clientConfig.d.ts.map +1 -1
  27. package/dist/configs/clientConfig.js +28 -112
  28. package/dist/configs/clientConfig.js.map +1 -1
  29. package/dist/configs/index.browser.d.ts +4 -0
  30. package/dist/configs/index.browser.d.ts.map +1 -0
  31. package/dist/configs/index.browser.js +4 -0
  32. package/dist/configs/index.browser.js.map +1 -0
  33. package/dist/configs/sstDocsConfig.browser.d.ts.map +1 -1
  34. package/dist/configs/sstDocsConfig.browser.js.map +1 -1
  35. package/dist/configs/sstDocsConfig.d.ts.map +1 -1
  36. package/dist/configs/sstDocsConfig.js.map +1 -1
  37. package/dist/configs/sstDocsConfigShared.d.ts +8 -0
  38. package/dist/configs/sstDocsConfigShared.d.ts.map +1 -1
  39. package/dist/configs/sstDocsConfigShared.js +158 -97
  40. package/dist/configs/sstDocsConfigShared.js.map +1 -1
  41. package/dist/data/buildTree.d.ts +10 -2
  42. package/dist/data/buildTree.d.ts.map +1 -1
  43. package/dist/data/buildTree.js +48 -10
  44. package/dist/data/buildTree.js.map +1 -1
  45. package/dist/data/fsDataProvider.browser.d.ts +6 -0
  46. package/dist/data/fsDataProvider.browser.d.ts.map +1 -0
  47. package/dist/data/fsDataProvider.browser.js +7 -0
  48. package/dist/data/fsDataProvider.browser.js.map +1 -0
  49. package/dist/data/fsDataProvider.d.ts.map +1 -1
  50. package/dist/data/fsDataProvider.js.map +1 -1
  51. package/dist/data/index.browser.d.ts +7 -0
  52. package/dist/data/index.browser.d.ts.map +1 -0
  53. package/dist/data/index.browser.js +7 -0
  54. package/dist/data/index.browser.js.map +1 -0
  55. package/dist/data/index.d.ts +2 -1
  56. package/dist/data/index.d.ts.map +1 -1
  57. package/dist/data/index.js +2 -1
  58. package/dist/data/index.js.map +1 -1
  59. package/dist/data/loadAllCategories.d.ts +10 -1
  60. package/dist/data/loadAllCategories.d.ts.map +1 -1
  61. package/dist/data/loadAllCategories.js +15 -5
  62. package/dist/data/loadAllCategories.js.map +1 -1
  63. package/dist/data/loadAllItems.d.ts +10 -1
  64. package/dist/data/loadAllItems.d.ts.map +1 -1
  65. package/dist/data/loadAllItems.js +19 -7
  66. package/dist/data/loadAllItems.js.map +1 -1
  67. package/dist/data/loadVersionData.d.ts +22 -1
  68. package/dist/data/loadVersionData.d.ts.map +1 -1
  69. package/dist/data/loadVersionData.fs.d.ts +3 -0
  70. package/dist/data/loadVersionData.fs.d.ts.map +1 -0
  71. package/dist/data/loadVersionData.fs.js +24 -0
  72. package/dist/data/loadVersionData.fs.js.map +1 -0
  73. package/dist/data/loadVersionData.js +67 -7
  74. package/dist/data/loadVersionData.js.map +1 -1
  75. package/dist/index.browser.d.ts +7 -0
  76. package/dist/index.browser.d.ts.map +1 -0
  77. package/dist/index.browser.js +7 -0
  78. package/dist/index.browser.js.map +1 -0
  79. package/dist/themes/index.d.ts +1 -0
  80. package/dist/themes/index.d.ts.map +1 -1
  81. package/dist/themes/index.js +1 -0
  82. package/dist/themes/index.js.map +1 -1
  83. package/dist/themes/styleThemeSchema.d.ts +6 -0
  84. package/dist/themes/styleThemeSchema.d.ts.map +1 -0
  85. package/dist/themes/styleThemeSchema.js +32 -0
  86. package/dist/themes/styleThemeSchema.js.map +1 -0
  87. package/dist/themes/themeRegistry.d.ts.map +1 -1
  88. package/dist/themes/themeRegistry.js.map +1 -1
  89. package/dist/types/DataDiagnostic.d.ts +8 -0
  90. package/dist/types/DataDiagnostic.d.ts.map +1 -0
  91. package/dist/types/DataDiagnostic.js +2 -0
  92. package/dist/types/DataDiagnostic.js.map +1 -0
  93. package/dist/types/HtmlGeneratorSettings.d.ts +1 -1
  94. package/dist/types/HtmlGeneratorSettings.d.ts.map +1 -1
  95. package/dist/types/index.d.ts +1 -0
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/dist/utilities/index.browser.d.ts +23 -0
  98. package/dist/utilities/index.browser.d.ts.map +1 -0
  99. package/dist/utilities/index.browser.js +29 -0
  100. package/dist/utilities/index.browser.js.map +1 -0
  101. package/dist/utilities/path/pathExists.browser.d.ts +2 -0
  102. package/dist/utilities/path/pathExists.browser.d.ts.map +1 -0
  103. package/dist/utilities/path/pathExists.browser.js +4 -0
  104. package/dist/utilities/path/pathExists.browser.js.map +1 -0
  105. package/dist/utilities/path/pathExists.js +1 -1
  106. package/dist/utilities/path/pathExists.js.map +1 -1
  107. package/dist/utilities/path/resolveAgainstProjectRoot.browser.d.ts +2 -0
  108. package/dist/utilities/path/resolveAgainstProjectRoot.browser.d.ts.map +1 -0
  109. package/dist/utilities/path/resolveAgainstProjectRoot.browser.js +4 -0
  110. package/dist/utilities/path/resolveAgainstProjectRoot.browser.js.map +1 -0
  111. package/dist/utilities/path/resolveAgainstProjectRoot.d.ts.map +1 -1
  112. package/dist/utilities/path/resolveAgainstProjectRoot.js.map +1 -1
  113. package/dist/utilities/path/resolveDataPath.browser.d.ts +2 -0
  114. package/dist/utilities/path/resolveDataPath.browser.d.ts.map +1 -0
  115. package/dist/utilities/path/resolveDataPath.browser.js +4 -0
  116. package/dist/utilities/path/resolveDataPath.browser.js.map +1 -0
  117. package/dist/utilities/path/resolveDataPath.d.ts.map +1 -1
  118. package/dist/utilities/path/resolveDataPath.js +1 -1
  119. package/dist/utilities/path/resolveDataPath.js.map +1 -1
  120. package/dist/utilities/string/withBasePath.d.ts.map +1 -1
  121. package/dist/utilities/string/withBasePath.js +37 -6
  122. package/dist/utilities/string/withBasePath.js.map +1 -1
  123. package/dist/utilities/system/logger.browser.d.ts +3 -0
  124. package/dist/utilities/system/logger.browser.d.ts.map +1 -0
  125. package/dist/utilities/system/logger.browser.js +36 -0
  126. package/dist/utilities/system/logger.browser.js.map +1 -0
  127. package/dist/utilities/system/logger.d.ts.map +1 -1
  128. package/dist/utilities/system/logger.js +26 -6
  129. package/dist/utilities/system/logger.js.map +1 -1
  130. package/package.json +181 -9
@@ -1,4 +1,22 @@
1
+ import { z } from "zod";
2
+ import { styleThemeSchema } from "../themes/styleThemeSchema.js";
1
3
  export const DEFAULT_CLIENT_CONFIG_GLOBAL = "__SST_DOCS_CONFIG__";
4
+ const headerBrandingSchema = z
5
+ .object({
6
+ logoSrc: z.string().optional(),
7
+ logoAlt: z.string().optional(),
8
+ logoText: z.string().optional(),
9
+ })
10
+ .strict()
11
+ .optional()
12
+ .default({});
13
+ const clientConfigSchema = z
14
+ .object({
15
+ PUBLIC_DATA_PATH: z.string(),
16
+ HEADER_BRANDING: headerBrandingSchema,
17
+ HTML_GENERATOR_THEME: styleThemeSchema.optional(),
18
+ })
19
+ .strict();
2
20
  export function buildClientVisibleConfig(config) {
3
21
  return {
4
22
  PUBLIC_DATA_PATH: config.PUBLIC_DATA_PATH,
@@ -32,125 +50,23 @@ export function readClientConfig(globalName = DEFAULT_CLIENT_CONFIG_GLOBAL) {
32
50
  return assertClientConfig(value, globalName);
33
51
  }
34
52
  function normalizeAndValidateClientConfigSource(source) {
35
- const normalized = isClientConfig(source)
53
+ const normalized = isClientConfigShape(source)
36
54
  ? source
37
55
  : buildClientVisibleConfig(source);
38
56
  return assertClientConfig(normalized);
39
57
  }
40
58
  function assertClientConfig(value, globalName = DEFAULT_CLIENT_CONFIG_GLOBAL) {
41
- if (!isClientConfig(value)) {
42
- throw new Error(`Client config "${globalName}" is missing or malformed on globalThis.`);
43
- }
44
- return value;
45
- }
46
- function isClientConfig(value) {
47
- if (!value || typeof value !== "object") {
48
- return false;
49
- }
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));
59
+ const parsed = clientConfigSchema.safeParse(value);
60
+ if (parsed.success)
61
+ return parsed.data;
62
+ const message = parsed.error.issues
63
+ .map((issue) => `${issue.path.join(".") || "config"}: ${issue.message}`)
64
+ .join("; ");
65
+ throw new Error(`Client config "${globalName}" is missing or malformed on globalThis. ${message}`);
64
66
  }
65
- function isStyleTheme(value) {
67
+ function isClientConfigShape(value) {
66
68
  if (!value || typeof value !== "object")
67
69
  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"]));
70
+ return clientConfigSchema.safeParse(value).success;
155
71
  }
156
72
  //# sourceMappingURL=clientConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientConfig.js","sourceRoot":"","sources":["../../src/configs/clientConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientConfig.js","sourceRoot":"","sources":["../../src/configs/clientConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { CODE_LANGUAGE_CONFIG } from "./codeLanguagesConfig.js";
2
+ export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfigShared.js";
3
+ export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./clientConfig.js";
4
+ //# sourceMappingURL=index.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../src/configs/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { CODE_LANGUAGE_CONFIG } from "./codeLanguagesConfig.js";
2
+ export { derivePublicDataPath, resolvePublicDataPath, SstDocsConfigError, SST_DOCS_CONFIG_FILENAME, } from "./sstDocsConfigShared.js";
3
+ export { buildClientVisibleConfig, DEFAULT_CLIENT_CONFIG_GLOBAL, exposeClientConfig, readClientConfig, serializeClientConfigForBrowser, } from "./clientConfig.js";
4
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/configs/index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,+BAA+B,GAChC,MAAM,mBAAmB,CAAC"}
@@ -1 +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"}
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;AAEvE,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"}
@@ -1 +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
+ {"version":3,"file":"sstDocsConfig.browser.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.browser.ts"],"names":[],"mappings":"AAEA,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 +1 @@
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"}
1
+ {"version":3,"file":"sstDocsConfig.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfig.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,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"}
@@ -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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"}
@@ -3,6 +3,14 @@ export declare const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
3
3
  export declare class SstDocsConfigError extends Error {
4
4
  constructor(message: string);
5
5
  }
6
+ export interface SstDocsConfigFieldReference {
7
+ key: string;
8
+ type: string;
9
+ required: boolean;
10
+ default?: string;
11
+ description: string;
12
+ }
13
+ export declare const SST_DOCS_CONFIG_REFERENCE: SstDocsConfigFieldReference[];
6
14
  export declare function parseConfigContents(contents: string, sourcePath: string): ResolvedSstDocsConfig;
7
15
  export declare function derivePublicDataPath(fsDataPath: string): string;
8
16
  export declare function resolvePublicDataPath(baseUrl: string, config: Pick<ResolvedSstDocsConfig, "PUBLIC_DATA_PATH"> | string): string;
@@ -1 +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"}
1
+ {"version":3,"file":"sstDocsConfigShared.d.ts","sourceRoot":"","sources":["../../src/configs/sstDocsConfigShared.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKvE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAI/D,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,yBAAyB,EAAE,2BAA2B,EAkD1B,CAAC;AA+D1C,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAwBvB;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"}
@@ -1,13 +1,120 @@
1
1
  import { AVAILABLE_THEME_PRESET_NAMES, DEFAULT_THEME_PRESET, getThemePreset, isThemePresetName, } from "../themes/themeRegistry.js";
2
- import path from "node:path";
3
2
  import { normalizeSystemPath } from "../utilities/string/normalizeSystemPath.js";
3
+ import { z } from "zod";
4
4
  export const SST_DOCS_CONFIG_FILENAME = "sst-docs.config.json";
5
+ const DEFAULT_FS_DATA_PATH = "./public/SST-Docs/data";
6
+ const DEFAULT_OUTPUT_DIRECTORY = "./dist/html";
5
7
  export class SstDocsConfigError extends Error {
6
8
  constructor(message) {
7
9
  super(message);
8
10
  this.name = "SstDocsConfigError";
9
11
  }
10
12
  }
13
+ export const SST_DOCS_CONFIG_REFERENCE = [
14
+ {
15
+ key: "FS_DATA_PATH",
16
+ type: "string",
17
+ required: true,
18
+ default: DEFAULT_FS_DATA_PATH,
19
+ description: "Absolute or project-relative path to the docs data root (contains versions.json).",
20
+ },
21
+ {
22
+ key: "HEADER_BRANDING.logoSrc",
23
+ type: "string",
24
+ required: false,
25
+ description: "Optional logo image path/URL shown in the header.",
26
+ },
27
+ {
28
+ key: "HEADER_BRANDING.logoAlt",
29
+ type: "string",
30
+ required: false,
31
+ description: "Optional alt text for the logo image.",
32
+ },
33
+ {
34
+ key: "HEADER_BRANDING.logoText",
35
+ type: "string",
36
+ required: false,
37
+ description: "Optional text fallback when no logo image is provided.",
38
+ },
39
+ {
40
+ key: "HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY",
41
+ type: "string",
42
+ required: true,
43
+ default: DEFAULT_OUTPUT_DIRECTORY,
44
+ description: "Where the HTML generator writes the output bundle.",
45
+ },
46
+ {
47
+ key: "HTML_GENERATOR_SETTINGS.THEME",
48
+ type: "string",
49
+ required: true,
50
+ default: DEFAULT_THEME_PRESET,
51
+ description: `Theme preset name. Options: ${AVAILABLE_THEME_PRESET_NAMES.join(", ")}.`,
52
+ },
53
+ {
54
+ key: "HTML_GENERATOR_SETTINGS.SEPARATE_BUILD_FOR_HTML_GENERATOR",
55
+ type: "boolean",
56
+ required: false,
57
+ default: "false",
58
+ description: "Whether to run a separate build for the HTML generator.",
59
+ },
60
+ ];
61
+ const optionalTrimmedString = z
62
+ .string()
63
+ .trim()
64
+ .transform((value) => (value.length > 0 ? value : undefined))
65
+ .optional();
66
+ const HeaderBrandingSchema = z
67
+ .object({
68
+ logoSrc: optionalTrimmedString,
69
+ logoAlt: optionalTrimmedString,
70
+ logoText: optionalTrimmedString,
71
+ })
72
+ .strict()
73
+ .transform((value) => value);
74
+ const HtmlGeneratorSettingsSchema = z
75
+ .object({
76
+ OUTPUT_DIRECTORY: z
77
+ .string()
78
+ .trim()
79
+ .min(1, {
80
+ message: `Set HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY (default: "${DEFAULT_OUTPUT_DIRECTORY}")`,
81
+ })
82
+ .transform((val) => normalizeSystemPath(val)),
83
+ THEME: z
84
+ .string()
85
+ .trim()
86
+ .min(1, {
87
+ message: `Set HTML_GENERATOR_SETTINGS.THEME (default: "${DEFAULT_THEME_PRESET}")`,
88
+ })
89
+ .transform((value, ctx) => {
90
+ const normalized = value.toLowerCase();
91
+ if (!isThemePresetName(normalized)) {
92
+ const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
93
+ ctx.addIssue({
94
+ code: z.ZodIssueCode.custom,
95
+ message: `HTML_GENERATOR_SETTINGS.THEME must be one of: ${options} (default: "${DEFAULT_THEME_PRESET}")`,
96
+ });
97
+ return z.NEVER;
98
+ }
99
+ return cloneTheme(getThemePreset(normalized));
100
+ }),
101
+ SEPARATE_BUILD_FOR_HTML_GENERATOR: z.boolean().default(false),
102
+ })
103
+ .strict()
104
+ .transform((value) => value);
105
+ const ConfigSchema = z
106
+ .object({
107
+ FS_DATA_PATH: z
108
+ .string()
109
+ .trim()
110
+ .min(1, {
111
+ message: `Provide FS_DATA_PATH (default: "${DEFAULT_FS_DATA_PATH}")`,
112
+ })
113
+ .transform((val) => normalizeSystemPath(val)),
114
+ HEADER_BRANDING: HeaderBrandingSchema.optional().transform((value) => value ?? {}),
115
+ HTML_GENERATOR_SETTINGS: HtmlGeneratorSettingsSchema.optional(),
116
+ })
117
+ .strict();
11
118
  export function parseConfigContents(contents, sourcePath) {
12
119
  let parsed;
13
120
  try {
@@ -16,11 +123,21 @@ export function parseConfigContents(contents, sourcePath) {
16
123
  catch (error) {
17
124
  throw new SstDocsConfigError(`Failed to parse ${SST_DOCS_CONFIG_FILENAME}: ${error.message}`);
18
125
  }
19
- return normalizeConfig(parsed, sourcePath);
126
+ const result = ConfigSchema.safeParse(parsed);
127
+ if (!result.success) {
128
+ throw new SstDocsConfigError(formatConfigValidationError(sourcePath, result.error));
129
+ }
130
+ const resolved = result.data;
131
+ return {
132
+ FS_DATA_PATH: resolved.FS_DATA_PATH,
133
+ PUBLIC_DATA_PATH: derivePublicDataPath(resolved.FS_DATA_PATH),
134
+ HEADER_BRANDING: resolved.HEADER_BRANDING,
135
+ HTML_GENERATOR_SETTINGS: resolved.HTML_GENERATOR_SETTINGS,
136
+ };
20
137
  }
21
138
  export function derivePublicDataPath(fsDataPath) {
22
139
  const normalizedFsPath = normalizeSystemPath(fsDataPath.trim());
23
- const posixPath = path.posix.normalize(normalizedFsPath || "/");
140
+ const posixPath = normalizePosixPath(normalizedFsPath || "/");
24
141
  const segments = posixPath.split("/").filter(Boolean);
25
142
  const publicIndex = segments.indexOf("public");
26
143
  const publicSegments = publicIndex >= 0 ? segments.slice(publicIndex + 1) : segments;
@@ -47,14 +164,14 @@ export function resolvePublicDataPath(baseUrl, config) {
47
164
  }
48
165
  function normalizePublicPath(value) {
49
166
  const normalized = normalizeSystemPath(value.trim());
50
- const posixPath = path.posix.normalize(normalized || "/");
167
+ const posixPath = normalizePosixPath(normalized || "/");
51
168
  const withLeading = posixPath.startsWith("/") ? posixPath : `/${posixPath}`;
52
169
  return withLeading.endsWith("/") ? withLeading : `${withLeading}/`;
53
170
  }
54
171
  function joinUrlPaths(base, child) {
55
172
  const normalizedBase = normalizePublicPath(base);
56
173
  const normalizedChild = normalizePublicPath(child).replace(/^\/+/, "");
57
- const joined = path.posix.join(normalizedBase, normalizedChild);
174
+ const joined = normalizePosixPath(`${normalizedBase}${normalizedChild ? `/${normalizedChild}` : ""}`);
58
175
  return joined.endsWith("/") ? joined : `${joined}/`;
59
176
  }
60
177
  function isAbsoluteUrl(value) {
@@ -66,100 +183,44 @@ function isAbsoluteUrl(value) {
66
183
  return false;
67
184
  }
68
185
  }
69
- function normalizeConfig(value, sourcePath) {
70
- if (!value || typeof value !== "object") {
71
- throw new SstDocsConfigError(`Invalid configuration in ${sourcePath}: expected an object`);
72
- }
73
- const raw = value;
74
- if (typeof raw.FS_DATA_PATH !== "string") {
75
- throw new SstDocsConfigError(`Missing or invalid FS_DATA_PATH in ${sourcePath}`);
76
- }
77
- const fsDataPath = normalizeSystemPath(raw.FS_DATA_PATH.trim());
78
- if (fsDataPath.length === 0) {
79
- throw new SstDocsConfigError(`FS_DATA_PATH cannot be empty in ${sourcePath}`);
80
- }
81
- return {
82
- FS_DATA_PATH: fsDataPath,
83
- PUBLIC_DATA_PATH: derivePublicDataPath(fsDataPath),
84
- HEADER_BRANDING: normalizeHeaderBranding(raw.HEADER_BRANDING, sourcePath),
85
- HTML_GENERATOR_SETTINGS: normalizeHtmlGeneratorSettings(raw.HTML_GENERATOR_SETTINGS, sourcePath),
86
- };
87
- }
88
- function normalizeHeaderBranding(value, sourcePath) {
89
- if (value === undefined) {
90
- return {};
91
- }
92
- if (!value || typeof value !== "object") {
93
- throw new SstDocsConfigError(`HEADER_BRANDING must be an object in ${sourcePath}`);
94
- }
95
- const { logoSrc, logoAlt, logoText } = value;
96
- return {
97
- logoSrc: normalizeOptionalString(logoSrc, "logoSrc", sourcePath),
98
- logoAlt: normalizeOptionalString(logoAlt, "logoAlt", sourcePath),
99
- logoText: normalizeOptionalString(logoText, "logoText", sourcePath),
100
- };
101
- }
102
- function normalizeOptionalString(value, key, sourcePath) {
103
- if (value === undefined || value === null)
104
- return undefined;
105
- if (typeof value !== "string") {
106
- throw new SstDocsConfigError(`HEADER_BRANDING.${key} must be a string in ${sourcePath}`);
107
- }
108
- const trimmed = value.trim();
109
- return trimmed.length > 0 ? trimmed : undefined;
110
- }
111
- function normalizeHtmlGeneratorSettings(value, sourcePath) {
112
- if (value === undefined) {
113
- return undefined;
114
- }
115
- if (!value || typeof value !== "object" || Array.isArray(value)) {
116
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS must be an object in ${sourcePath}`);
117
- }
118
- const { OUTPUT_DIRECTORY, THEME, SEPARATE_BUILD_FOR_HTML_GENERATOR, } = value;
119
- if (typeof OUTPUT_DIRECTORY !== "string") {
120
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY must be a string in ${sourcePath}`);
121
- }
122
- const outputDirectory = normalizeSystemPath(OUTPUT_DIRECTORY.trim());
123
- if (outputDirectory.length === 0) {
124
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.OUTPUT_DIRECTORY cannot be empty in ${sourcePath}`);
125
- }
126
- if (THEME === undefined) {
127
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be provided in ${sourcePath}`);
128
- }
129
- if (SEPARATE_BUILD_FOR_HTML_GENERATOR !== undefined &&
130
- typeof SEPARATE_BUILD_FOR_HTML_GENERATOR !== "boolean") {
131
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.SEPARATE_BUILD_FOR_HTML_GENERATOR must be a boolean in ${sourcePath}`);
132
- }
133
- const resolvedTheme = resolveThemeConfiguration(THEME, sourcePath);
134
- return {
135
- OUTPUT_DIRECTORY: outputDirectory,
136
- THEME: resolvedTheme,
137
- SEPARATE_BUILD_FOR_HTML_GENERATOR: SEPARATE_BUILD_FOR_HTML_GENERATOR ?? false,
138
- };
186
+ function cloneTheme(theme) {
187
+ return JSON.parse(JSON.stringify(theme));
139
188
  }
140
- function resolveThemeConfiguration(value, sourcePath) {
141
- if (typeof value !== "string") {
142
- throw new SstDocsConfigError(`HTML_GENERATOR_SETTINGS.THEME must be a string preset in ${sourcePath}`);
143
- }
144
- const themeName = ensureThemePresetName(value, sourcePath, "HTML_GENERATOR_SETTINGS.THEME");
145
- return cloneTheme(getThemePreset(themeName));
189
+ function formatConfigValidationError(sourcePath, error) {
190
+ const lines = error.issues.map((issue) => {
191
+ const path = issue.path.join(".") || "config";
192
+ const defaultValue = defaultValueFor(path);
193
+ const hint = defaultValue ? ` (default: ${defaultValue})` : "";
194
+ return `${path}: ${issue.message}${hint}`;
195
+ });
196
+ return `Invalid configuration in ${sourcePath}:\n- ${lines.join("\n- ")}`;
146
197
  }
147
- function ensureThemePresetName(raw, sourcePath, propertyPath) {
148
- if (raw === undefined || raw === null) {
149
- return DEFAULT_THEME_PRESET;
150
- }
151
- if (typeof raw !== "string") {
152
- const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
153
- throw new SstDocsConfigError(`${propertyPath} must be one of: ${options} in ${sourcePath}`);
154
- }
155
- const normalized = raw.trim().toLowerCase();
156
- if (!isThemePresetName(normalized)) {
157
- const options = AVAILABLE_THEME_PRESET_NAMES.join(", ");
158
- throw new SstDocsConfigError(`Unknown ${propertyPath} "${raw}" in ${sourcePath}. Supported presets: ${options}`);
159
- }
160
- return normalized;
198
+ function defaultValueFor(path) {
199
+ return SST_DOCS_CONFIG_REFERENCE.find((entry) => entry.key === path)?.default;
161
200
  }
162
- function cloneTheme(theme) {
163
- return JSON.parse(JSON.stringify(theme));
201
+ function normalizePosixPath(value) {
202
+ const sanitized = value.replace(/\\/g, "/");
203
+ const hasLeadingSlash = sanitized.startsWith("/");
204
+ const parts = sanitized.split("/");
205
+ const stack = [];
206
+ for (const part of parts) {
207
+ if (!part || part === ".")
208
+ continue;
209
+ if (part === "..") {
210
+ if (stack.length > 0 && stack[stack.length - 1] !== "..") {
211
+ stack.pop();
212
+ }
213
+ else if (!hasLeadingSlash) {
214
+ stack.push("..");
215
+ }
216
+ continue;
217
+ }
218
+ stack.push(part);
219
+ }
220
+ const normalized = stack.join("/");
221
+ if (hasLeadingSlash) {
222
+ return `/${normalized}`;
223
+ }
224
+ return normalized || ".";
164
225
  }
165
226
  //# sourceMappingURL=sstDocsConfigShared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sstDocsConfigShared.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfigShared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sstDocsConfigShared.js","sourceRoot":"","sources":["../../src/configs/sstDocsConfigShared.ts"],"names":[],"mappings":"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"}