@tenphi/docs 0.9.2 → 0.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # @tenphi/docs
2
2
 
3
3
  Renderer-neutral configuration, source discovery, npm artifact locking, content
4
- graph construction, Markdown reference rewriting, and diagnostics for Tasty
5
- Docs.
4
+ graph construction, Markdown reference rewriting, and diagnostics for Cookbook.
6
5
 
7
6
  ```ts
8
7
  import { createDocsGraph, defineDocsConfig } from "@tenphi/docs";
@@ -1,4 +1,4 @@
1
- import { C as MarkdownConfig, D as NavigationTab, F as ThemePaletteConfig, I as ThemeTokenValue, L as ThemeTokens, M as SearchConfig, N as SiteConfig, O as NormalizedDocsConfig, P as ThemeConfig, R as TypographyPreset, S as DocsSource, T as NavigationItem, a as ComponentStyles, c as ContentConfig, h as DocsDiagnostic, i as ComponentStyleConfig, l as CookbookComponentName, m as DocsConfig, n as BuildConfig, o as ComponentStylesConfig, s as ComponentsConfig, t as BrandConfig, w as NavigationConfig, z as TypographyPresets } from "../types-UGe8zPGi.js";
1
+ import { B as TypographyPresets, C as HeadConfig, E as NavigationItem, F as ThemeConfig, I as ThemePaletteConfig, L as ThemeTokenValue, N as SearchConfig, O as NavigationTab, P as SiteConfig, R as ThemeTokens, S as DocsSource, T as NavigationConfig, a as ComponentStyles, c as ContentConfig, h as DocsDiagnostic, i as ComponentStyleConfig, k as NormalizedDocsConfig, l as CookbookComponentName, m as DocsConfig, n as BuildConfig, o as ComponentStylesConfig, s as ComponentsConfig, t as BrandConfig, w as MarkdownConfig, z as TypographyPreset } from "../types-C_ADY_Cl.js";
2
2
  //#region src/config/index.d.ts
3
3
  declare class DocsConfigError extends Error {
4
4
  readonly diagnostics: DocsDiagnostic[];
@@ -8,5 +8,5 @@ declare function validateConfig(config: DocsConfig): DocsDiagnostic[];
8
8
  declare function normalizeDocsConfig(config?: DocsConfig): NormalizedDocsConfig;
9
9
  declare function defineDocsConfig<const T extends DocsConfig>(config: T): T;
10
10
  //#endregion
11
- export { type BrandConfig, type BuildConfig, type ComponentStyleConfig, type ComponentStyles, type ComponentStylesConfig, type ComponentsConfig, type ContentConfig, type CookbookComponentName, type DocsConfig, DocsConfigError, type DocsSource, type MarkdownConfig, type NavigationConfig, type NavigationItem, type NavigationTab, type NormalizedDocsConfig, type SearchConfig, type SiteConfig, type ThemeConfig, type ThemePaletteConfig, type ThemeTokenValue, type ThemeTokens, type TypographyPreset, type TypographyPresets, defineDocsConfig, normalizeDocsConfig, validateConfig };
11
+ export { type BrandConfig, type BuildConfig, type ComponentStyleConfig, type ComponentStyles, type ComponentStylesConfig, type ComponentsConfig, type ContentConfig, type CookbookComponentName, type DocsConfig, DocsConfigError, type DocsSource, type HeadConfig, type MarkdownConfig, type NavigationConfig, type NavigationItem, type NavigationTab, type NormalizedDocsConfig, type SearchConfig, type SiteConfig, type ThemeConfig, type ThemePaletteConfig, type ThemeTokenValue, type ThemeTokens, type TypographyPreset, type TypographyPresets, defineDocsConfig, normalizeDocsConfig, validateConfig };
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/config/index.ts"],"mappings":";;cAsDa,wBAAwB;WAC1B,aAAa;EAEtB,YAAY,aAAa;;iBAOX,eAAe,QAAQ,aAAa;iBAiHpC,oBACd,SAAQ,aACP;iBAwCa,uBAAuB,UAAU,YAAY,QAAQ,IAAI"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/config/index.ts"],"mappings":";;cAwDa,wBAAwB;WAC1B,aAAa;EAEtB,YAAY,aAAa;;iBAOX,eAAe,QAAQ,aAAa;iBAwJpC,oBACd,SAAQ,aACP;iBAyCa,uBAAuB,UAAU,YAAY,QAAQ,IAAI"}
@@ -1,7 +1,13 @@
1
1
  //#region src/config/index.ts
2
2
  const DEFAULT_BRAND = "#315efb";
3
+ const HEAD_KEYS = /* @__PURE__ */ new Set([
4
+ "tag",
5
+ "attrs",
6
+ "content"
7
+ ]);
3
8
  const ROOT_KEYS = /* @__PURE__ */ new Set([
4
9
  "site",
10
+ "head",
5
11
  "content",
6
12
  "navigation",
7
13
  "theme",
@@ -71,6 +77,19 @@ function validateConfig(config) {
71
77
  if (value === void 0 || Array.isArray(value) || typeof value !== "object") continue;
72
78
  for (const key of Object.keys(value)) if (!keys.has(key)) unknown(diagnostics, `${section}.${key}`);
73
79
  }
80
+ const head = config.head;
81
+ if (head !== void 0 && !Array.isArray(head)) invalid(diagnostics, "head must be an array.");
82
+ else for (const [index, entry] of (head ?? []).entries()) {
83
+ if (!isRecord(entry)) {
84
+ invalid(diagnostics, `head[${index}] must be an object.`);
85
+ continue;
86
+ }
87
+ for (const key of Object.keys(entry)) if (!HEAD_KEYS.has(key)) unknown(diagnostics, `head[${index}].${key}`);
88
+ if (typeof entry.tag !== "string") invalid(diagnostics, `head[${index}].tag must be a string.`);
89
+ if (entry.attrs !== void 0 && !isRecord(entry.attrs)) invalid(diagnostics, `head[${index}].attrs must be an object.`);
90
+ else for (const [name, value] of Object.entries(entry.attrs ?? {})) if (value !== void 0 && typeof value !== "string" && typeof value !== "boolean") invalid(diagnostics, `head[${index}].attrs.${name} must be a string or boolean.`);
91
+ if (entry.content !== void 0 && typeof entry.content !== "string") invalid(diagnostics, `head[${index}].content must be a string.`);
92
+ }
74
93
  const sources = config.content?.sources ?? [];
75
94
  for (const [index, source] of sources.entries()) if ([
76
95
  "file",
@@ -132,6 +151,7 @@ function normalizeDocsConfig(config = {}) {
132
151
  const navigation = Array.isArray(config.navigation) ? { items: config.navigation } : config.navigation ?? {};
133
152
  return {
134
153
  site: { ...config.site },
154
+ head: [...config.head ?? []],
135
155
  content: {
136
156
  allowOutsideRoot: false,
137
157
  localizeRepositoryLinks: false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/config/index.ts"],"sourcesContent":["import type {\n DocsConfig,\n DocsDiagnostic,\n NormalizedDocsConfig,\n} from \"../types.js\";\n\nconst DEFAULT_BRAND = \"#315efb\";\nconst ROOT_KEYS = new Set([\n \"site\",\n \"content\",\n \"navigation\",\n \"theme\",\n \"markdown\",\n \"search\",\n \"components\",\n \"build\",\n]);\n\nconst OBJECT_KEYS: Record<string, Set<string>> = {\n site: new Set([\"title\", \"version\", \"description\", \"url\", \"repository\"]),\n content: new Set([\"sources\", \"allowOutsideRoot\", \"localizeRepositoryLinks\"]),\n markdown: new Set([\n \"stripLeadingBadges\",\n \"rawHtml\",\n \"strictLanguages\",\n \"executablePreviews\",\n \"remarkPlugins\",\n \"rehypePlugins\",\n ]),\n search: new Set([\"enabled\"]),\n components: new Set([\"overrides\"]),\n theme: new Set([\n \"variant\",\n \"brand\",\n \"palette\",\n \"states\",\n \"tokens\",\n \"presets\",\n \"styles\",\n \"contrastLevel\",\n ]),\n build: new Set([\n \"strict\",\n \"ci\",\n \"base\",\n \"cacheDir\",\n \"maxArtifactBytes\",\n \"maxUnpackedBytes\",\n \"maxFiles\",\n \"maxPathDepth\",\n \"maxAssetBytes\",\n ]),\n};\n\nexport class DocsConfigError extends Error {\n readonly diagnostics: DocsDiagnostic[];\n\n constructor(diagnostics: DocsDiagnostic[]) {\n super(diagnostics.map((diagnostic) => diagnostic.message).join(\"\\n\"));\n this.name = \"DocsConfigError\";\n this.diagnostics = diagnostics;\n }\n}\n\nexport function validateConfig(config: DocsConfig): DocsDiagnostic[] {\n const diagnostics: DocsDiagnostic[] = [];\n for (const key of Object.keys(config)) {\n if (!ROOT_KEYS.has(key)) unknown(diagnostics, key);\n }\n for (const [section, keys] of Object.entries(OBJECT_KEYS)) {\n const value = config[section as keyof DocsConfig];\n if (\n value === undefined ||\n Array.isArray(value) ||\n typeof value !== \"object\"\n ) {\n continue;\n }\n for (const key of Object.keys(value)) {\n if (!keys.has(key)) unknown(diagnostics, `${section}.${key}`);\n }\n }\n\n const sources = config.content?.sources ?? [];\n for (const [index, source] of sources.entries()) {\n const variants = [\"file\", \"glob\", \"package\"].filter((key) => key in source);\n if (variants.length !== 1) {\n diagnostics.push({\n code: \"DOCS_CONFIG_INVALID\",\n severity: \"error\",\n message: `content.sources[${index}] must select exactly one of file, glob, or package.`,\n });\n }\n }\n\n const brand = config.theme?.brand;\n if (\n typeof brand === \"object\" &&\n brand !== null &&\n \"contrast\" in brand &&\n !brand.unsafeContrast\n ) {\n const target = brand.contrast?.apca;\n const normal = Array.isArray(target) ? target[0] : target;\n if (typeof normal === \"number\" && normal < 45) {\n diagnostics.push({\n code: \"DOCS_CONFIG_INVALID\",\n severity: \"error\",\n message:\n \"theme.brand.contrast.apca cannot be below 45 without unsafeContrast.\",\n hint: \"Remove the override, use 45 or higher, or explicitly set unsafeContrast: true.\",\n });\n }\n }\n\n for (const [name, entry] of Object.entries(config.theme?.styles ?? {})) {\n if (!isRecord(entry)) {\n invalid(\n diagnostics,\n `theme.styles.${name} must be a Tasty style object.`,\n );\n continue;\n }\n if (\n \"mode\" in entry &&\n entry.mode !== \"extend\" &&\n entry.mode !== \"replace\"\n ) {\n invalid(\n diagnostics,\n `theme.styles.${name}.mode must be \"extend\" or \"replace\".`,\n );\n }\n if (\"mode\" in entry && !isRecord(entry.styles)) {\n invalid(\n diagnostics,\n `theme.styles.${name}.styles must be a Tasty style object.`,\n );\n }\n }\n\n const componentOverrides = config.components?.overrides;\n if (componentOverrides !== undefined && !isRecord(componentOverrides)) {\n invalid(diagnostics, \"components.overrides must be an object.\");\n } else {\n for (const [name, override] of Object.entries(componentOverrides ?? {})) {\n if (typeof override === \"string\") continue;\n if (name === \"Footer\" && override === false) continue;\n invalid(\n diagnostics,\n `components.overrides.${name} must be an Astro component path${name === \"Footer\" ? \" or false\" : \"\"}.`,\n );\n }\n }\n return diagnostics;\n}\n\nfunction unknown(diagnostics: DocsDiagnostic[], path: string): void {\n diagnostics.push({\n code: \"DOCS_CONFIG_UNKNOWN_KEY\",\n severity: \"error\",\n message: `Unknown configuration key \"${path}\".`,\n });\n}\n\nfunction invalid(diagnostics: DocsDiagnostic[], message: string): void {\n diagnostics.push({\n code: \"DOCS_CONFIG_INVALID\",\n severity: \"error\",\n message,\n });\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nexport function normalizeDocsConfig(\n config: DocsConfig = {},\n): NormalizedDocsConfig {\n const diagnostics = validateConfig(config);\n if (diagnostics.length > 0) throw new DocsConfigError(diagnostics);\n const navigation = Array.isArray(config.navigation)\n ? { items: config.navigation }\n : (config.navigation ?? {});\n\n return {\n site: { ...config.site },\n content: {\n allowOutsideRoot: false,\n localizeRepositoryLinks: false,\n ...config.content,\n },\n navigation,\n theme: { ...config.theme, brand: config.theme?.brand ?? DEFAULT_BRAND },\n markdown: {\n stripLeadingBadges: true,\n rawHtml: \"sanitize\",\n strictLanguages: false,\n executablePreviews: true,\n ...config.markdown,\n },\n search: { enabled: true, ...config.search },\n components: { ...config.components },\n build: {\n strict: true,\n ci: process.env.CI === \"true\",\n base: \"/\",\n cacheDir: \"\",\n maxArtifactBytes: 25 * 1024 * 1024,\n maxUnpackedBytes: 100 * 1024 * 1024,\n maxFiles: 10_000,\n maxPathDepth: 24,\n maxAssetBytes: 20 * 1024 * 1024,\n ...config.build,\n },\n };\n}\n\nexport function defineDocsConfig<const T extends DocsConfig>(config: T): T {\n const diagnostics = validateConfig(config);\n if (diagnostics.length > 0) throw new DocsConfigError(diagnostics);\n return config;\n}\n\nexport type {\n BrandConfig,\n BuildConfig,\n ComponentStyleConfig,\n ComponentStyles,\n ComponentStylesConfig,\n CookbookComponentName,\n ComponentsConfig,\n ContentConfig,\n DocsConfig,\n DocsSource,\n MarkdownConfig,\n NavigationConfig,\n NavigationItem,\n NavigationTab,\n NormalizedDocsConfig,\n SearchConfig,\n SiteConfig,\n ThemeConfig,\n ThemePaletteConfig,\n ThemeTokens,\n ThemeTokenValue,\n TypographyPreset,\n TypographyPresets,\n} from \"../types.js\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/config/index.ts"],"sourcesContent":["import type {\n DocsConfig,\n DocsDiagnostic,\n NormalizedDocsConfig,\n} from \"../types.js\";\n\nconst DEFAULT_BRAND = \"#315efb\";\nconst HEAD_KEYS = new Set([\"tag\", \"attrs\", \"content\"]);\nconst ROOT_KEYS = new Set([\n \"site\",\n \"head\",\n \"content\",\n \"navigation\",\n \"theme\",\n \"markdown\",\n \"search\",\n \"components\",\n \"build\",\n]);\n\nconst OBJECT_KEYS: Record<string, Set<string>> = {\n site: new Set([\"title\", \"version\", \"description\", \"url\", \"repository\"]),\n content: new Set([\"sources\", \"allowOutsideRoot\", \"localizeRepositoryLinks\"]),\n markdown: new Set([\n \"stripLeadingBadges\",\n \"rawHtml\",\n \"strictLanguages\",\n \"executablePreviews\",\n \"remarkPlugins\",\n \"rehypePlugins\",\n ]),\n search: new Set([\"enabled\"]),\n components: new Set([\"overrides\"]),\n theme: new Set([\n \"variant\",\n \"brand\",\n \"palette\",\n \"states\",\n \"tokens\",\n \"presets\",\n \"styles\",\n \"contrastLevel\",\n ]),\n build: new Set([\n \"strict\",\n \"ci\",\n \"base\",\n \"cacheDir\",\n \"maxArtifactBytes\",\n \"maxUnpackedBytes\",\n \"maxFiles\",\n \"maxPathDepth\",\n \"maxAssetBytes\",\n ]),\n};\n\nexport class DocsConfigError extends Error {\n readonly diagnostics: DocsDiagnostic[];\n\n constructor(diagnostics: DocsDiagnostic[]) {\n super(diagnostics.map((diagnostic) => diagnostic.message).join(\"\\n\"));\n this.name = \"DocsConfigError\";\n this.diagnostics = diagnostics;\n }\n}\n\nexport function validateConfig(config: DocsConfig): DocsDiagnostic[] {\n const diagnostics: DocsDiagnostic[] = [];\n for (const key of Object.keys(config)) {\n if (!ROOT_KEYS.has(key)) unknown(diagnostics, key);\n }\n for (const [section, keys] of Object.entries(OBJECT_KEYS)) {\n const value = config[section as keyof DocsConfig];\n if (\n value === undefined ||\n Array.isArray(value) ||\n typeof value !== \"object\"\n ) {\n continue;\n }\n for (const key of Object.keys(value)) {\n if (!keys.has(key)) unknown(diagnostics, `${section}.${key}`);\n }\n }\n\n const head = config.head;\n if (head !== undefined && !Array.isArray(head)) {\n invalid(diagnostics, \"head must be an array.\");\n } else {\n for (const [index, entry] of (head ?? []).entries()) {\n if (!isRecord(entry)) {\n invalid(diagnostics, `head[${index}] must be an object.`);\n continue;\n }\n for (const key of Object.keys(entry)) {\n if (!HEAD_KEYS.has(key)) {\n unknown(diagnostics, `head[${index}].${key}`);\n }\n }\n if (typeof entry.tag !== \"string\") {\n invalid(diagnostics, `head[${index}].tag must be a string.`);\n }\n if (entry.attrs !== undefined && !isRecord(entry.attrs)) {\n invalid(diagnostics, `head[${index}].attrs must be an object.`);\n } else {\n for (const [name, value] of Object.entries(entry.attrs ?? {})) {\n if (\n value !== undefined &&\n typeof value !== \"string\" &&\n typeof value !== \"boolean\"\n ) {\n invalid(\n diagnostics,\n `head[${index}].attrs.${name} must be a string or boolean.`,\n );\n }\n }\n }\n if (entry.content !== undefined && typeof entry.content !== \"string\") {\n invalid(diagnostics, `head[${index}].content must be a string.`);\n }\n }\n }\n\n const sources = config.content?.sources ?? [];\n for (const [index, source] of sources.entries()) {\n const variants = [\"file\", \"glob\", \"package\"].filter((key) => key in source);\n if (variants.length !== 1) {\n diagnostics.push({\n code: \"DOCS_CONFIG_INVALID\",\n severity: \"error\",\n message: `content.sources[${index}] must select exactly one of file, glob, or package.`,\n });\n }\n }\n\n const brand = config.theme?.brand;\n if (\n typeof brand === \"object\" &&\n brand !== null &&\n \"contrast\" in brand &&\n !brand.unsafeContrast\n ) {\n const target = brand.contrast?.apca;\n const normal = Array.isArray(target) ? target[0] : target;\n if (typeof normal === \"number\" && normal < 45) {\n diagnostics.push({\n code: \"DOCS_CONFIG_INVALID\",\n severity: \"error\",\n message:\n \"theme.brand.contrast.apca cannot be below 45 without unsafeContrast.\",\n hint: \"Remove the override, use 45 or higher, or explicitly set unsafeContrast: true.\",\n });\n }\n }\n\n for (const [name, entry] of Object.entries(config.theme?.styles ?? {})) {\n if (!isRecord(entry)) {\n invalid(\n diagnostics,\n `theme.styles.${name} must be a Tasty style object.`,\n );\n continue;\n }\n if (\n \"mode\" in entry &&\n entry.mode !== \"extend\" &&\n entry.mode !== \"replace\"\n ) {\n invalid(\n diagnostics,\n `theme.styles.${name}.mode must be \"extend\" or \"replace\".`,\n );\n }\n if (\"mode\" in entry && !isRecord(entry.styles)) {\n invalid(\n diagnostics,\n `theme.styles.${name}.styles must be a Tasty style object.`,\n );\n }\n }\n\n const componentOverrides = config.components?.overrides;\n if (componentOverrides !== undefined && !isRecord(componentOverrides)) {\n invalid(diagnostics, \"components.overrides must be an object.\");\n } else {\n for (const [name, override] of Object.entries(componentOverrides ?? {})) {\n if (typeof override === \"string\") continue;\n if (name === \"Footer\" && override === false) continue;\n invalid(\n diagnostics,\n `components.overrides.${name} must be an Astro component path${name === \"Footer\" ? \" or false\" : \"\"}.`,\n );\n }\n }\n return diagnostics;\n}\n\nfunction unknown(diagnostics: DocsDiagnostic[], path: string): void {\n diagnostics.push({\n code: \"DOCS_CONFIG_UNKNOWN_KEY\",\n severity: \"error\",\n message: `Unknown configuration key \"${path}\".`,\n });\n}\n\nfunction invalid(diagnostics: DocsDiagnostic[], message: string): void {\n diagnostics.push({\n code: \"DOCS_CONFIG_INVALID\",\n severity: \"error\",\n message,\n });\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nexport function normalizeDocsConfig(\n config: DocsConfig = {},\n): NormalizedDocsConfig {\n const diagnostics = validateConfig(config);\n if (diagnostics.length > 0) throw new DocsConfigError(diagnostics);\n const navigation = Array.isArray(config.navigation)\n ? { items: config.navigation }\n : (config.navigation ?? {});\n\n return {\n site: { ...config.site },\n head: [...(config.head ?? [])],\n content: {\n allowOutsideRoot: false,\n localizeRepositoryLinks: false,\n ...config.content,\n },\n navigation,\n theme: { ...config.theme, brand: config.theme?.brand ?? DEFAULT_BRAND },\n markdown: {\n stripLeadingBadges: true,\n rawHtml: \"sanitize\",\n strictLanguages: false,\n executablePreviews: true,\n ...config.markdown,\n },\n search: { enabled: true, ...config.search },\n components: { ...config.components },\n build: {\n strict: true,\n ci: process.env.CI === \"true\",\n base: \"/\",\n cacheDir: \"\",\n maxArtifactBytes: 25 * 1024 * 1024,\n maxUnpackedBytes: 100 * 1024 * 1024,\n maxFiles: 10_000,\n maxPathDepth: 24,\n maxAssetBytes: 20 * 1024 * 1024,\n ...config.build,\n },\n };\n}\n\nexport function defineDocsConfig<const T extends DocsConfig>(config: T): T {\n const diagnostics = validateConfig(config);\n if (diagnostics.length > 0) throw new DocsConfigError(diagnostics);\n return config;\n}\n\nexport type {\n BrandConfig,\n BuildConfig,\n ComponentStyleConfig,\n ComponentStyles,\n ComponentStylesConfig,\n CookbookComponentName,\n ComponentsConfig,\n ContentConfig,\n DocsConfig,\n DocsSource,\n HeadConfig,\n MarkdownConfig,\n NavigationConfig,\n NavigationItem,\n NavigationTab,\n NormalizedDocsConfig,\n SearchConfig,\n SiteConfig,\n ThemeConfig,\n ThemePaletteConfig,\n ThemeTokens,\n ThemeTokenValue,\n TypographyPreset,\n TypographyPresets,\n} from \"../types.js\";\n"],"mappings":"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"}
@@ -15,6 +15,22 @@
15
15
  "repository": { "type": "string", "format": "uri" }
16
16
  }
17
17
  },
18
+ "head": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "object",
22
+ "additionalProperties": false,
23
+ "required": ["tag"],
24
+ "properties": {
25
+ "tag": { "type": "string" },
26
+ "attrs": {
27
+ "type": "object",
28
+ "additionalProperties": { "type": ["string", "boolean"] }
29
+ },
30
+ "content": { "type": "string" }
31
+ }
32
+ }
33
+ },
18
34
  "content": {
19
35
  "type": "object",
20
36
  "additionalProperties": false,
@@ -1,4 +1,4 @@
1
- import { d as CreateDocsGraphOptions, g as DocsEntry, m as DocsConfig, p as DocsAsset, v as DocsGraph, x as DocsRoute } from "../types-UGe8zPGi.js";
1
+ import { d as CreateDocsGraphOptions, g as DocsEntry, m as DocsConfig, p as DocsAsset, v as DocsGraph, x as DocsRoute } from "../types-C_ADY_Cl.js";
2
2
  //#region src/content/index.d.ts
3
3
  interface DocsLoaderContext {
4
4
  store: {
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { A as PackageLockSource, C as MarkdownConfig, D as NavigationTab, E as NavigationPlacement, F as ThemePaletteConfig, I as ThemeTokenValue, L as ThemeTokens, M as SearchConfig, N as SiteConfig, O as NormalizedDocsConfig, P as ThemeConfig, R as TypographyPreset, S as DocsSource, T as NavigationItem, _ as DocsFrontmatter, a as ComponentStyles, b as DocsReference, c as ContentConfig, d as CreateDocsGraphOptions, f as DiagnosticSeverity, g as DocsEntry, h as DocsDiagnostic, i as ComponentStyleConfig, j as PackageManifest, k as PackageDiscovery, l as CookbookComponentName, m as DocsConfig, n as BuildConfig, o as ComponentStylesConfig, p as DocsAsset, r as COOKBOOK_COMPONENT_NAMES, s as ComponentsConfig, t as BrandConfig, u as CookbookLock, v as DocsGraph, w as NavigationConfig, x as DocsRoute, y as DocsHeading, z as TypographyPresets } from "./types-UGe8zPGi.js";
1
+ import { A as PackageDiscovery, B as TypographyPresets, C as HeadConfig, D as NavigationPlacement, E as NavigationItem, F as ThemeConfig, I as ThemePaletteConfig, L as ThemeTokenValue, M as PackageManifest, N as SearchConfig, O as NavigationTab, P as SiteConfig, R as ThemeTokens, S as DocsSource, T as NavigationConfig, _ as DocsFrontmatter, a as ComponentStyles, b as DocsReference, c as ContentConfig, d as CreateDocsGraphOptions, f as DiagnosticSeverity, g as DocsEntry, h as DocsDiagnostic, i as ComponentStyleConfig, j as PackageLockSource, k as NormalizedDocsConfig, l as CookbookComponentName, m as DocsConfig, n as BuildConfig, o as ComponentStylesConfig, p as DocsAsset, r as COOKBOOK_COMPONENT_NAMES, s as ComponentsConfig, t as BrandConfig, u as CookbookLock, v as DocsGraph, w as MarkdownConfig, x as DocsRoute, y as DocsHeading, z as TypographyPreset } from "./types-C_ADY_Cl.js";
2
2
  import { DocsConfigError, defineDocsConfig, normalizeDocsConfig, validateConfig } from "./config/index.js";
3
3
  import { createDocsLoader } from "./content/index.js";
4
4
  //#region src/graph/index.d.ts
@@ -30,5 +30,5 @@ declare function validateDocs(graph: DocsGraph): DocsDiagnostic[];
30
30
  declare function assertValidDocs(graph: DocsGraph): void;
31
31
  declare function formatDiagnostics(diagnostics: DocsDiagnostic[], json?: boolean): string;
32
32
  //#endregion
33
- export { type BrandConfig, type BuildConfig, COOKBOOK_COMPONENT_NAMES, type ComponentStyleConfig, type ComponentStyles, type ComponentStylesConfig, type ComponentsConfig, type ContentConfig, type CookbookComponentName, type CookbookLock, type CreateDocsGraphOptions, type DiagnosticSeverity, type DocsAsset, type DocsConfig, DocsConfigError, type DocsDiagnostic, type DocsEntry, type DocsFrontmatter, type DocsGraph, type DocsHeading, type DocsReference, type DocsRoute, type DocsSource, DocsValidationError, type MarkdownConfig, type NavigationConfig, type NavigationItem, type NavigationPlacement, type NavigationTab, type NormalizedDocsConfig, type PackageDiscovery, type PackageLockSource, type PackageManifest, type SearchConfig, type SiteConfig, type ThemeConfig, type ThemePaletteConfig, type ThemeTokenValue, type ThemeTokens, type TypographyPreset, type TypographyPresets, assertValidDocs, createDocsGraph, createDocsLoader, defaultLock, defineDocsConfig, discoverPackage, formatDiagnostics, lockForSource, materializePackage, normalizeDocsConfig, normalizeRoute, packageNameFromSpecifier, readDocsLock, resolvePackageLock, routeForPath, validateConfig, validateDocs, validateLock, writeDocsLock };
33
+ export { type BrandConfig, type BuildConfig, COOKBOOK_COMPONENT_NAMES, type ComponentStyleConfig, type ComponentStyles, type ComponentStylesConfig, type ComponentsConfig, type ContentConfig, type CookbookComponentName, type CookbookLock, type CreateDocsGraphOptions, type DiagnosticSeverity, type DocsAsset, type DocsConfig, DocsConfigError, type DocsDiagnostic, type DocsEntry, type DocsFrontmatter, type DocsGraph, type DocsHeading, type DocsReference, type DocsRoute, type DocsSource, DocsValidationError, type HeadConfig, type MarkdownConfig, type NavigationConfig, type NavigationItem, type NavigationPlacement, type NavigationTab, type NormalizedDocsConfig, type PackageDiscovery, type PackageLockSource, type PackageManifest, type SearchConfig, type SiteConfig, type ThemeConfig, type ThemePaletteConfig, type ThemeTokenValue, type ThemeTokens, type TypographyPreset, type TypographyPresets, assertValidDocs, createDocsGraph, createDocsLoader, defaultLock, defineDocsConfig, discoverPackage, formatDiagnostics, lockForSource, materializePackage, normalizeDocsConfig, normalizeRoute, packageNameFromSpecifier, readDocsLock, resolvePackageLock, routeForPath, validateConfig, validateDocs, validateLock, writeDocsLock };
34
34
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { GlazeColorValue } from \"@tenphi/glaze\";\nimport type { Root } from \"mdast\";\n\nexport type DiagnosticSeverity = \"warning\" | \"error\";\n\nexport interface DocsDiagnostic {\n code: string;\n severity: DiagnosticSeverity;\n message: string;\n file?: string;\n line?: number;\n column?: number;\n hint?: string;\n related?: Array<{ file: string; line?: number; message: string }>;\n}\n\nexport interface SiteConfig {\n title?: string;\n /** Version of the documented package, rendered beside the site title. */\n version?: string;\n description?: string;\n url?: string;\n repository?: string;\n}\n\nexport interface NavigationPlacement {\n label?: string;\n order?: number;\n group?: string;\n}\n\nexport type DocsSource =\n | {\n file: string;\n route?: string;\n title?: string;\n description?: string;\n navigation?: false | NavigationPlacement;\n }\n | {\n glob: string | string[];\n base?: string;\n routeBase?: string;\n exclude?: string[];\n navigation?: \"auto\" | false;\n }\n | {\n package: string;\n include?: string[];\n exclude?: string[];\n index?: string;\n routeBase?: string;\n trust?: \"markdown\" | \"mdx\";\n };\n\nexport interface ContentConfig {\n sources?: DocsSource[];\n allowOutsideRoot?: boolean;\n localizeRepositoryLinks?: boolean;\n}\n\nexport type NavigationItem =\n | string\n | { label: string; items: NavigationItem[] }\n | { label: string; autogenerate: { directory: string } }\n | { label: string; link: string };\n\nexport interface NavigationTab {\n label: string;\n link: string;\n /** Sidebar tree shown while this tab is active. */\n items?: NavigationItem[];\n}\n\nexport interface NavigationConfig {\n items?: NavigationItem[];\n /** Optional primary navigation rendered as a compact row below the header. */\n tabs?: NavigationTab[];\n}\n\nexport type BrandConfig =\n | GlazeColorValue\n | {\n from: GlazeColorValue;\n contrast?: { apca: number | [number, number] };\n unsafeContrast?: boolean;\n };\n\nexport type ThemeTokenValue = string | number;\n\n/**\n * Tasty design tokens. `$name` is emitted as `--name`; existing `--name`\n * custom-property keys remain supported for compatibility.\n */\nexport interface ThemeTokens {\n $gap?: ThemeTokenValue;\n $radius?: ThemeTokenValue;\n \"$card-radius\"?: ThemeTokenValue;\n \"$border-width\"?: ThemeTokenValue;\n \"$outline-width\"?: ThemeTokenValue;\n \"$outline-offset\"?: ThemeTokenValue;\n \"$layout-width\"?: ThemeTokenValue;\n \"$content-width\"?: ThemeTokenValue;\n \"$sidebar-width\"?: ThemeTokenValue;\n \"$control-height\"?: ThemeTokenValue;\n [name: `$${string}`]: ThemeTokenValue | undefined;\n [customProperty: `--${string}`]: ThemeTokenValue | undefined;\n}\n\nexport interface TypographyPreset {\n fontFamily?: string;\n fontSize?: ThemeTokenValue;\n lineHeight?: ThemeTokenValue;\n letterSpacing?: ThemeTokenValue;\n fontWeight?: ThemeTokenValue;\n boldFontWeight?: ThemeTokenValue;\n iconSize?: ThemeTokenValue;\n textTransform?: ThemeTokenValue;\n fontStyle?: ThemeTokenValue;\n}\n\n/** Built-in presets can be overridden and additional Tasty presets may be added. */\nexport interface TypographyPresets {\n body?: TypographyPreset;\n heading?: TypographyPreset;\n h1?: TypographyPreset;\n h2?: TypographyPreset;\n h3?: TypographyPreset;\n h4?: TypographyPreset;\n h5?: TypographyPreset;\n h6?: TypographyPreset;\n navigation?: TypographyPreset;\n small?: TypographyPreset;\n code?: TypographyPreset;\n [name: string]: TypographyPreset | undefined;\n}\n\n/** Semantic palette inputs. Glaze resolves every value for all appearance modes. */\nexport interface ThemePaletteConfig {\n /** Light-scheme page surface; dark and high-contrast values adapt. */\n surface?: GlazeColorValue;\n /** Primary reading text seed, resolved against `surface`. */\n text?: GlazeColorValue;\n /** Secondary text seed, resolved against `surface`. */\n textSoft?: GlazeColorValue;\n}\n\n/** Cookbook components whose default Tasty styles can be customized. */\nexport const COOKBOOK_COMPONENT_NAMES = [\n \"Card\",\n \"ContrastSelect\",\n \"Footer\",\n \"Logo\",\n \"MarkdownTable\",\n \"Mermaid\",\n \"MobileMenuFooter\",\n \"MobileNavigationTabs\",\n \"PackageVersion\",\n \"Preview\",\n \"Steps\",\n \"Tabs\",\n \"ThemeSelect\",\n \"TopNavigation\",\n \"StarlightHeader\",\n] as const;\n\nexport type CookbookComponentName = (typeof COOKBOOK_COMPONENT_NAMES)[number];\n\n/** A serializable Tasty style object. */\nexport type ComponentStyles = Record<string, unknown>;\n\n/**\n * Plain style objects extend Cookbook defaults. Use `mode: \"replace\"` to\n * discard a component's defaults and supply the complete style object.\n */\nexport type ComponentStyleConfig =\n | ComponentStyles\n | {\n mode: \"extend\" | \"replace\";\n styles: ComponentStyles;\n };\n\nexport type ComponentStylesConfig = Partial<\n Record<CookbookComponentName, ComponentStyleConfig>\n> &\n Record<string, ComponentStyleConfig | undefined>;\n\nexport interface ThemeConfig {\n variant?: string;\n brand?: BrandConfig;\n palette?: ThemePaletteConfig;\n states?: Record<string, string>;\n tokens?: ThemeTokens;\n presets?: TypographyPresets;\n /** Direct Tasty component styles, keyed by Cookbook component name. */\n styles?: ComponentStylesConfig;\n contrastLevel?: number | \"auto\";\n}\n\nexport interface MarkdownConfig {\n stripLeadingBadges?: boolean;\n rawHtml?: \"sanitize\" | \"allow\" | \"reject\";\n strictLanguages?: boolean;\n executablePreviews?: boolean;\n remarkPlugins?: unknown[];\n rehypePlugins?: unknown[];\n}\n\nexport interface SearchConfig {\n enabled?: boolean;\n}\n\nexport interface ComponentsConfig {\n /** Astro component paths keyed by Starlight component name. `Footer` also accepts `false`. */\n overrides?: Record<string, string | false>;\n}\n\nexport interface BuildConfig {\n strict?: boolean;\n ci?: boolean;\n base?: string;\n cacheDir?: string;\n maxArtifactBytes?: number;\n maxUnpackedBytes?: number;\n maxFiles?: number;\n maxPathDepth?: number;\n maxAssetBytes?: number;\n}\n\nexport interface DocsConfig {\n site?: SiteConfig;\n content?: ContentConfig;\n navigation?: NavigationConfig | NavigationItem[];\n theme?: ThemeConfig;\n markdown?: MarkdownConfig;\n search?: SearchConfig;\n components?: ComponentsConfig;\n build?: BuildConfig;\n}\n\nexport interface NormalizedDocsConfig {\n site: SiteConfig;\n content: Required<\n Pick<ContentConfig, \"allowOutsideRoot\" | \"localizeRepositoryLinks\">\n > &\n ContentConfig;\n navigation: NavigationConfig;\n theme: ThemeConfig & { brand: BrandConfig };\n markdown: Required<\n Pick<\n MarkdownConfig,\n | \"stripLeadingBadges\"\n | \"rawHtml\"\n | \"strictLanguages\"\n | \"executablePreviews\"\n >\n > &\n MarkdownConfig;\n search: Required<SearchConfig>;\n components: ComponentsConfig;\n build: Required<BuildConfig>;\n}\n\nexport interface DocsFrontmatter {\n title?: string;\n description?: string;\n slug?: string;\n draft?: boolean;\n sidebar?: false | { label?: string; order?: number; group?: string };\n toc?: false | { minHeadingLevel?: number; maxHeadingLevel?: number };\n editUrl?: false | string;\n prev?: false | string;\n next?: false | string;\n search?: boolean;\n head?: Array<Record<string, unknown>>;\n}\n\nexport interface DocsHeading {\n depth: number;\n text: string;\n slug: string;\n line?: number;\n}\n\nexport interface DocsReference {\n original: string;\n resolved?: string;\n targetSource?: string;\n fragment?: string;\n line?: number;\n}\n\nexport interface DocsAsset extends DocsReference {\n sourcePath?: string;\n publicPath?: string;\n hash?: string;\n bytes?: number;\n}\n\nexport interface DocsEntry {\n id: string;\n sourcePath: string;\n absolutePath: string;\n sourceRoot: string;\n route: string;\n title: string;\n description?: string;\n frontmatter: DocsFrontmatter;\n headings: DocsHeading[];\n body: string;\n transformedBody: string;\n ast: Root;\n links: DocsReference[];\n assets: DocsAsset[];\n trust: \"markdown\" | \"mdx\";\n package?: { requested: string; resolved: string };\n}\n\nexport interface DocsRoute {\n route: string;\n entryId: string;\n sourcePath: string;\n title: string;\n}\n\nexport interface DocsGraph {\n root: string;\n config: NormalizedDocsConfig;\n entries: DocsEntry[];\n routes: DocsRoute[];\n assets: DocsAsset[];\n diagnostics: DocsDiagnostic[];\n entryByRoute(route: string): DocsEntry | undefined;\n entryBySource(sourcePath: string): DocsEntry | undefined;\n}\n\nexport interface PackageLockSource {\n requested: string;\n resolved: string;\n registry: string;\n integrity: string;\n vendored?: string;\n}\n\nexport interface CookbookLock {\n schemaVersion: 1;\n sources: PackageLockSource[];\n}\n\nexport interface PackageManifest {\n name: string;\n version: string;\n description?: string;\n homepage?: string;\n repository?: string | { type?: string; url?: string; directory?: string };\n cookbook?: {\n index?: string;\n include?: string[];\n exclude?: string[];\n theme?: { brand?: BrandConfig };\n };\n _integrity?: string;\n _resolved?: string;\n}\n\nexport interface PackageDiscovery {\n root: string;\n manifest: PackageManifest;\n home?: string;\n pages: string[];\n assets: string[];\n}\n\nexport interface CreateDocsGraphOptions {\n root?: string;\n config?: DocsConfig;\n lock?: CookbookLock;\n}\n"],"mappings":";;;;AAoJA,MAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/types.ts"],"sourcesContent":["import type { GlazeColorValue } from \"@tenphi/glaze\";\nimport type { Root } from \"mdast\";\n\nexport type DiagnosticSeverity = \"warning\" | \"error\";\n\nexport interface DocsDiagnostic {\n code: string;\n severity: DiagnosticSeverity;\n message: string;\n file?: string;\n line?: number;\n column?: number;\n hint?: string;\n related?: Array<{ file: string; line?: number; message: string }>;\n}\n\nexport interface SiteConfig {\n title?: string;\n /** Version of the documented package, rendered beside the site title. */\n version?: string;\n description?: string;\n url?: string;\n repository?: string;\n}\n\n/** A custom HTML element rendered in the document head. */\nexport interface HeadConfig {\n tag: string;\n attrs?: Record<string, string | boolean | undefined>;\n content?: string;\n}\n\nexport interface NavigationPlacement {\n label?: string;\n order?: number;\n group?: string;\n}\n\nexport type DocsSource =\n | {\n file: string;\n route?: string;\n title?: string;\n description?: string;\n navigation?: false | NavigationPlacement;\n }\n | {\n glob: string | string[];\n base?: string;\n routeBase?: string;\n exclude?: string[];\n navigation?: \"auto\" | false;\n }\n | {\n package: string;\n include?: string[];\n exclude?: string[];\n index?: string;\n routeBase?: string;\n trust?: \"markdown\" | \"mdx\";\n };\n\nexport interface ContentConfig {\n sources?: DocsSource[];\n allowOutsideRoot?: boolean;\n localizeRepositoryLinks?: boolean;\n}\n\nexport type NavigationItem =\n | string\n | { label: string; items: NavigationItem[] }\n | { label: string; autogenerate: { directory: string } }\n | { label: string; link: string };\n\nexport interface NavigationTab {\n label: string;\n link: string;\n /** Sidebar tree shown while this tab is active. */\n items?: NavigationItem[];\n}\n\nexport interface NavigationConfig {\n items?: NavigationItem[];\n /** Optional primary navigation rendered as a compact row below the header. */\n tabs?: NavigationTab[];\n}\n\nexport type BrandConfig =\n | GlazeColorValue\n | {\n from: GlazeColorValue;\n contrast?: { apca: number | [number, number] };\n unsafeContrast?: boolean;\n };\n\nexport type ThemeTokenValue = string | number;\n\n/**\n * Tasty design tokens. `$name` is emitted as `--name`; existing `--name`\n * custom-property keys remain supported for compatibility.\n */\nexport interface ThemeTokens {\n $gap?: ThemeTokenValue;\n $radius?: ThemeTokenValue;\n \"$card-radius\"?: ThemeTokenValue;\n \"$border-width\"?: ThemeTokenValue;\n \"$outline-width\"?: ThemeTokenValue;\n \"$outline-offset\"?: ThemeTokenValue;\n \"$layout-width\"?: ThemeTokenValue;\n \"$content-width\"?: ThemeTokenValue;\n \"$sidebar-width\"?: ThemeTokenValue;\n \"$control-height\"?: ThemeTokenValue;\n [name: `$${string}`]: ThemeTokenValue | undefined;\n [customProperty: `--${string}`]: ThemeTokenValue | undefined;\n}\n\nexport interface TypographyPreset {\n fontFamily?: string;\n fontSize?: ThemeTokenValue;\n lineHeight?: ThemeTokenValue;\n letterSpacing?: ThemeTokenValue;\n fontWeight?: ThemeTokenValue;\n boldFontWeight?: ThemeTokenValue;\n iconSize?: ThemeTokenValue;\n textTransform?: ThemeTokenValue;\n fontStyle?: ThemeTokenValue;\n}\n\n/** Built-in presets can be overridden and additional Tasty presets may be added. */\nexport interface TypographyPresets {\n body?: TypographyPreset;\n heading?: TypographyPreset;\n h1?: TypographyPreset;\n h2?: TypographyPreset;\n h3?: TypographyPreset;\n h4?: TypographyPreset;\n h5?: TypographyPreset;\n h6?: TypographyPreset;\n navigation?: TypographyPreset;\n small?: TypographyPreset;\n code?: TypographyPreset;\n [name: string]: TypographyPreset | undefined;\n}\n\n/** Semantic palette inputs. Glaze resolves every value for all appearance modes. */\nexport interface ThemePaletteConfig {\n /** Light-scheme page surface; dark and high-contrast values adapt. */\n surface?: GlazeColorValue;\n /** Primary reading text seed, resolved against `surface`. */\n text?: GlazeColorValue;\n /** Secondary text seed, resolved against `surface`. */\n textSoft?: GlazeColorValue;\n}\n\n/** Cookbook components whose default Tasty styles can be customized. */\nexport const COOKBOOK_COMPONENT_NAMES = [\n \"Card\",\n \"ContrastSelect\",\n \"Footer\",\n \"Logo\",\n \"MarkdownTable\",\n \"Mermaid\",\n \"MobileMenuFooter\",\n \"MobileNavigationTabs\",\n \"PackageVersion\",\n \"Preview\",\n \"Steps\",\n \"Tabs\",\n \"ThemeSelect\",\n \"TopNavigation\",\n \"StarlightHeader\",\n] as const;\n\nexport type CookbookComponentName = (typeof COOKBOOK_COMPONENT_NAMES)[number];\n\n/** A serializable Tasty style object. */\nexport type ComponentStyles = Record<string, unknown>;\n\n/**\n * Plain style objects extend Cookbook defaults. Use `mode: \"replace\"` to\n * discard a component's defaults and supply the complete style object.\n */\nexport type ComponentStyleConfig =\n | ComponentStyles\n | {\n mode: \"extend\" | \"replace\";\n styles: ComponentStyles;\n };\n\nexport type ComponentStylesConfig = Partial<\n Record<CookbookComponentName, ComponentStyleConfig>\n> &\n Record<string, ComponentStyleConfig | undefined>;\n\nexport interface ThemeConfig {\n variant?: string;\n brand?: BrandConfig;\n palette?: ThemePaletteConfig;\n states?: Record<string, string>;\n tokens?: ThemeTokens;\n presets?: TypographyPresets;\n /** Direct Tasty component styles, keyed by Cookbook component name. */\n styles?: ComponentStylesConfig;\n contrastLevel?: number | \"auto\";\n}\n\nexport interface MarkdownConfig {\n stripLeadingBadges?: boolean;\n rawHtml?: \"sanitize\" | \"allow\" | \"reject\";\n strictLanguages?: boolean;\n executablePreviews?: boolean;\n remarkPlugins?: unknown[];\n rehypePlugins?: unknown[];\n}\n\nexport interface SearchConfig {\n enabled?: boolean;\n}\n\nexport interface ComponentsConfig {\n /** Astro component paths keyed by Starlight component name. `Footer` also accepts `false`. */\n overrides?: Record<string, string | false>;\n}\n\nexport interface BuildConfig {\n strict?: boolean;\n ci?: boolean;\n base?: string;\n cacheDir?: string;\n maxArtifactBytes?: number;\n maxUnpackedBytes?: number;\n maxFiles?: number;\n maxPathDepth?: number;\n maxAssetBytes?: number;\n}\n\nexport interface DocsConfig {\n site?: SiteConfig;\n head?: HeadConfig[];\n content?: ContentConfig;\n navigation?: NavigationConfig | NavigationItem[];\n theme?: ThemeConfig;\n markdown?: MarkdownConfig;\n search?: SearchConfig;\n components?: ComponentsConfig;\n build?: BuildConfig;\n}\n\nexport interface NormalizedDocsConfig {\n site: SiteConfig;\n head: HeadConfig[];\n content: Required<\n Pick<ContentConfig, \"allowOutsideRoot\" | \"localizeRepositoryLinks\">\n > &\n ContentConfig;\n navigation: NavigationConfig;\n theme: ThemeConfig & { brand: BrandConfig };\n markdown: Required<\n Pick<\n MarkdownConfig,\n | \"stripLeadingBadges\"\n | \"rawHtml\"\n | \"strictLanguages\"\n | \"executablePreviews\"\n >\n > &\n MarkdownConfig;\n search: Required<SearchConfig>;\n components: ComponentsConfig;\n build: Required<BuildConfig>;\n}\n\nexport interface DocsFrontmatter {\n title?: string;\n description?: string;\n slug?: string;\n draft?: boolean;\n sidebar?: false | { label?: string; order?: number; group?: string };\n toc?: false | { minHeadingLevel?: number; maxHeadingLevel?: number };\n editUrl?: false | string;\n prev?: false | string;\n next?: false | string;\n search?: boolean;\n head?: Array<Record<string, unknown>>;\n}\n\nexport interface DocsHeading {\n depth: number;\n text: string;\n slug: string;\n line?: number;\n}\n\nexport interface DocsReference {\n original: string;\n resolved?: string;\n targetSource?: string;\n fragment?: string;\n line?: number;\n}\n\nexport interface DocsAsset extends DocsReference {\n sourcePath?: string;\n publicPath?: string;\n hash?: string;\n bytes?: number;\n}\n\nexport interface DocsEntry {\n id: string;\n sourcePath: string;\n absolutePath: string;\n sourceRoot: string;\n route: string;\n title: string;\n description?: string;\n frontmatter: DocsFrontmatter;\n headings: DocsHeading[];\n body: string;\n transformedBody: string;\n ast: Root;\n links: DocsReference[];\n assets: DocsAsset[];\n trust: \"markdown\" | \"mdx\";\n package?: { requested: string; resolved: string };\n}\n\nexport interface DocsRoute {\n route: string;\n entryId: string;\n sourcePath: string;\n title: string;\n}\n\nexport interface DocsGraph {\n root: string;\n config: NormalizedDocsConfig;\n entries: DocsEntry[];\n routes: DocsRoute[];\n assets: DocsAsset[];\n diagnostics: DocsDiagnostic[];\n entryByRoute(route: string): DocsEntry | undefined;\n entryBySource(sourcePath: string): DocsEntry | undefined;\n}\n\nexport interface PackageLockSource {\n requested: string;\n resolved: string;\n registry: string;\n integrity: string;\n vendored?: string;\n}\n\nexport interface CookbookLock {\n schemaVersion: 1;\n sources: PackageLockSource[];\n}\n\nexport interface PackageManifest {\n name: string;\n version: string;\n description?: string;\n homepage?: string;\n repository?: string | { type?: string; url?: string; directory?: string };\n cookbook?: {\n index?: string;\n include?: string[];\n exclude?: string[];\n theme?: { brand?: BrandConfig };\n };\n _integrity?: string;\n _resolved?: string;\n}\n\nexport interface PackageDiscovery {\n root: string;\n manifest: PackageManifest;\n home?: string;\n pages: string[];\n assets: string[];\n}\n\nexport interface CreateDocsGraphOptions {\n root?: string;\n config?: DocsConfig;\n lock?: CookbookLock;\n}\n"],"mappings":";;;;AA2JA,MAAa,2BAA2B;CACtC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
@@ -1,4 +1,4 @@
1
- import { B as Content, G as Root, H as Link, U as Paragraph, V as Heading, W as PhrasingContent, y as DocsHeading } from "../types-UGe8zPGi.js";
1
+ import { G as PhrasingContent, H as Heading, K as Root, U as Link, V as Content, W as Paragraph, y as DocsHeading } from "../types-C_ADY_Cl.js";
2
2
  //#region src/markdown/index.d.ts
3
3
  interface ParsedMarkdown {
4
4
  ast: Root;
@@ -1062,6 +1062,12 @@ interface SiteConfig {
1062
1062
  url?: string;
1063
1063
  repository?: string;
1064
1064
  }
1065
+ /** A custom HTML element rendered in the document head. */
1066
+ interface HeadConfig {
1067
+ tag: string;
1068
+ attrs?: Record<string, string | boolean | undefined>;
1069
+ content?: string;
1070
+ }
1065
1071
  interface NavigationPlacement {
1066
1072
  label?: string;
1067
1073
  order?: number;
@@ -1229,6 +1235,7 @@ interface BuildConfig {
1229
1235
  }
1230
1236
  interface DocsConfig {
1231
1237
  site?: SiteConfig;
1238
+ head?: HeadConfig[];
1232
1239
  content?: ContentConfig;
1233
1240
  navigation?: NavigationConfig | NavigationItem[];
1234
1241
  theme?: ThemeConfig;
@@ -1239,6 +1246,7 @@ interface DocsConfig {
1239
1246
  }
1240
1247
  interface NormalizedDocsConfig {
1241
1248
  site: SiteConfig;
1249
+ head: HeadConfig[];
1242
1250
  content: Required<Pick<ContentConfig, "allowOutsideRoot" | "localizeRepositoryLinks">> & ContentConfig;
1243
1251
  navigation: NavigationConfig;
1244
1252
  theme: ThemeConfig & {
@@ -1370,5 +1378,5 @@ interface CreateDocsGraphOptions {
1370
1378
  lock?: CookbookLock;
1371
1379
  }
1372
1380
  //#endregion
1373
- export { PackageLockSource as A, Content as B, MarkdownConfig as C, NavigationTab as D, NavigationPlacement as E, ThemePaletteConfig as F, Root as G, Link as H, ThemeTokenValue as I, ThemeTokens as L, SearchConfig as M, SiteConfig as N, NormalizedDocsConfig as O, ThemeConfig as P, TypographyPreset as R, DocsSource as S, NavigationItem as T, Paragraph as U, Heading as V, PhrasingContent as W, DocsFrontmatter as _, ComponentStyles as a, DocsReference as b, ContentConfig as c, CreateDocsGraphOptions as d, DiagnosticSeverity as f, DocsEntry as g, DocsDiagnostic as h, ComponentStyleConfig as i, PackageManifest as j, PackageDiscovery as k, CookbookComponentName as l, DocsConfig as m, BuildConfig as n, ComponentStylesConfig as o, DocsAsset as p, COOKBOOK_COMPONENT_NAMES as r, ComponentsConfig as s, BrandConfig as t, CookbookLock as u, DocsGraph as v, NavigationConfig as w, DocsRoute as x, DocsHeading as y, TypographyPresets as z };
1374
- //# sourceMappingURL=types-UGe8zPGi.d.ts.map
1381
+ export { PackageDiscovery as A, TypographyPresets as B, HeadConfig as C, NavigationPlacement as D, NavigationItem as E, ThemeConfig as F, PhrasingContent as G, Heading as H, ThemePaletteConfig as I, Root as K, ThemeTokenValue as L, PackageManifest as M, SearchConfig as N, NavigationTab as O, SiteConfig as P, ThemeTokens as R, DocsSource as S, NavigationConfig as T, Link as U, Content as V, Paragraph as W, DocsFrontmatter as _, ComponentStyles as a, DocsReference as b, ContentConfig as c, CreateDocsGraphOptions as d, DiagnosticSeverity as f, DocsEntry as g, DocsDiagnostic as h, ComponentStyleConfig as i, PackageLockSource as j, NormalizedDocsConfig as k, CookbookComponentName as l, DocsConfig as m, BuildConfig as n, ComponentStylesConfig as o, DocsAsset as p, COOKBOOK_COMPONENT_NAMES as r, ComponentsConfig as s, BrandConfig as t, CookbookLock as u, DocsGraph as v, MarkdownConfig as w, DocsRoute as x, DocsHeading as y, TypographyPreset as z };
1382
+ //# sourceMappingURL=types-C_ADY_Cl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-UGe8zPGi.d.ts","names":[],"sources":["../../../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../../node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../src/types.ts"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;;;;;;;;;;;;;;;UAqBiB;;;;UAKA;;;;EAIb;;;;EAKA;;;;EAIA;;;;;;;UAQa;;;;EAIb,OAAO;;;;EAKP,KAAK;;;;;;;;;;;;UA6BQ;;;;EAIb;;;;EAKA,OAAO;;;;;;;EAQP,WAAW;;;;;;;;;;;;;;;;;;;;;;KCjFH;;;;;;;;;;KAWA;;;;;UAOK;;;;;EAKb;;;;;;;;;;;UAYa;;;;;;;;;;;;;;EAcb;;;;;;;;;;EAWA;;;;;UAMa,kBAAkB;;;;EAI/B,eAAe;;;;;UAMF;;;;EAIb;;;;;EAKA;;;;;;;;;;;;;;;;;;;;;UAuBa,aAAa;;;;;;;;;KAWlB,eAAe,sBAAsB;;;;;;;;;;;;;;;;;;UAmBhC;EACb,YAAY;EACZ,MAAM;EACN,SAAS;EACT,MAAM;EACN,MAAM;EACN,WAAW;EACX,OAAO;EACP,eAAe;;;;;;;;;KAUP,oBAAoB,2BAA2B;;;;;;;;;;;;;;;;;UAkB1C;EACb,YAAY;EACZ,oBAAoB;;;;;;;;;KAwCZ,cAAc,qBAAqB;;;;;;;;;;;;;;;;;UAkB9B;EACb,UAAU;;;;;;;;;KAUF,kBAAkB,yBAAyB;;;;;;;;;;;;;;;;;;UAmBtC;EACb,OAAO;EACP,QAAQ;EACR,UAAU;EACV,mBAAmB;EACnB,MAAM;EACN,OAAO;EACP,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,eAAe;EACf,QAAQ;EACR,MAAM;;;;;;;;KASE,cAAc,qBAAqB;;;;;;;;;;;;;;;;;;;;UAqB9B;EACb,YAAY;EACZ,OAAO;EACP,MAAM;EACN,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,oBAAoB;EACpB,mBAAmB;EACnB,SAAS;EACT,MAAM;EACN,OAAO;EACP,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,eAAe;EACf,MAAM;EACN,UAAU;EACV,WAAW;EACX,QAAQ;EACR,OAAO;EACP,WAAW;EACX,UAAU;EACV,MAAM;EACN,eAAe;EACf,MAAM;;;;;;;;;KAUE,aAAa,oBAAoB;;;;;;;;;;;;;;;;;UAkB5B;EACb,WAAW;;;;;;;;;KAUH,eAAe,sBAAsB;;;;;;;;;;;;;;;;;UAkBhC;EACb,UAAU;;;;;;;;KAUF,UAAU;;;;;;;;;UA+CL,gBAAgB;;;;EAI7B;;;;;;;;;;;;;;;UAgBa,aAAa;;;;EAI1B,OAAO;;;;;;;;;UAUM,eAAe;;;;EAI5B,UAAU;;;;;;UAQG,mBAAmB;;;;EAIhC;;;;EAIA,UAAU,MAAM,eAAe;;;;EAI/B,OAAO;;;;;UAMM,uBAAuB;;;;UAKvB,cAAc;;;;EAI3B;;;;EAIA,OAAO;;;;;UAMM,kBAAkB;;;;UAKlB,aAAa;;;;EAI1B;;;;EAIA;;;;;;EAMA;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,mBAAmB,MAAM,aAAa;;;;EAInD;;;;EAIA,OAAO;;;;;UAMM,uBAAuB;;;;UAKvB,eAAe;;;;EAI5B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,mBAAmB;;;;UAKnB,iBAAiB;;;;EAI9B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,qBAAqB;;;;UAKrB,2BAA2B,QAAQ;;;;EAIhD;;;;EAIA,UAAU,MAAM,eAAe;;;;EAI/B,OAAO;;;;;UAMM,+BAA+B;;;;UAK/B,0BAA0B,aAAa;;;;EAIpD;;;;EAIA,OAAO;;;;;UAMM,8BAA8B;;;;UAK9B,gBAAgB;;;;EAI7B;;;;;;EAMA;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,oBAAoB;;;;UAKpB,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;UAajB,cAAc,aAAa,MAAM;;;;EAI9C;;;;EAIA,OAAO;;;;;UAMM,kBAAkB;;;;UAKlB,uBAAuB,aAAa,MAAM;;;;EAIvD;;;;EAIA,OAAO;;;;;UAMM,2BAA2B;;;;UAK3B,mBAAmB;;;;EAIhC;;;;EAIA,OAAO;;;;;UAMM,uBAAuB;;;;UAKvB,aAAa,QAAQ;;;;EAIlC;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,sBAAsB,QAAQ;;;;EAI3C;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,0BAA0B;;;;UAK1B,aAAa;;;;EAI1B;;;;;EAKA;;;;EAIA;;;;;EAKA;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,iBAAiB;;;;EAI9B;;;;;;;EAOA;;;;;EAKA;;;;EAIA,UAAU,MAAM,eAAe;;;;EAI/B,OAAO;;;;;UAMM,qBAAqB;;;;UAKrB,kBAAkB;;;;EAI/B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,sBAAsB;;;;;;UAOtB,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,eAAe;;;;EAI5B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,mBAAmB;;;;UAKnB,cAAc;;;;EAI3B;;;;EAIA,QAAQ;;;;EAIR,UAAU;;;;EAIV,OAAO;;;;;UAMM,kBAAkB;;;;UAKlB,iBAAiB;;;;EAI9B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,qBAAqB;;;;UAKrB,kBAAkB;;;;EAI/B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,sBAAsB;;;;UAKtB,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,sBAAsB;;;;EAInC;;;;EAIA,OAAO;;;;;UAMM,0BAA0B;;;;UAK1B,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;KCvlCtB;UAEK;EACf;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA,UAAU;IAAQ;IAAc;IAAe;;;UAGhC;EACf;;EAEA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;KAGU;EAEN;EACA;EACA;EACA;EACA,qBAAqB;;EAGrB;EACA;EACA;EACA;EACA;;EAGA;EACA;EACA;EACA;EACA;EACA;;UAGW;EACf,UAAU;EACV;EACA;;KAGU;EAEN;EAAe,OAAO;;EACtB;EAAe;IAAgB;;;EAC/B;EAAe;;UAEJ;EACf;EACA;;EAEA,QAAQ;;UAGO;EACf,QAAQ;;EAER,OAAO;;KAGG,cACR;EAEE,MAAM;EACN;IAAa;;EACb;;KAGM;;;;;UAMK;EACf,OAAO;EACP,UAAU;EACV,iBAAiB;EACjB,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;EACnB,mBAAmB;EACnB,oBAAoB;GACnB,qBAAqB;GACrB,gCAAgC;;UAGlB;EACf;EACA,WAAW;EACX,aAAa;EACb,gBAAgB;EAChB,aAAa;EACb,iBAAiB;EACjB,WAAW;EACX,gBAAgB;EAChB,YAAY;;;UAIG;EACf,OAAO;EACP,UAAU;EACV,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,aAAa;EACb,QAAQ;EACR,OAAO;GACN,eAAe;;;UAID;;EAEf,UAAU;;EAEV,OAAO;;EAEP,WAAW;;;cAIA;KAkBD,gCAAgC;;KAGhC,kBAAkB;;;;;KAMlB,uBACR;EAEE;EACA,QAAQ;;KAGF,wBAAwB,QAClC,OAAO,uBAAuB,yBAE9B,eAAe;UAEA;EACf;EACA,QAAQ;EACR,UAAU;EACV,SAAS;EACT,SAAS;EACT,UAAU;;EAEV,SAAS;EACT;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;;UAGe;;EAEf,YAAY;;UAGG;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf,OAAO;EACP,UAAU;EACV,aAAa,mBAAmB;EAChC,QAAQ;EACR,WAAW;EACX,SAAS;EACT,aAAa;EACb,QAAQ;;UAGO;EACf,MAAM;EACN,SAAS,SACP,KAAK,kEAEL;EACF,YAAY;EACZ,OAAO;IAAgB,OAAO;;EAC9B,UAAU,SACR,KACE,gGAOF;EACF,QAAQ,SAAS;EACjB,YAAY;EACZ,OAAO,SAAS;;UAGD;EACf;EACA;EACA;EACA;EACA;IAAoB;IAAgB;IAAgB;;EACpD;IAAgB;IAA0B;;EAC1C;EACA;EACA;EACA;EACA,OAAO,MAAM;;UAGE;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe,kBAAkB;EACjC;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;EACb,UAAU;EACV;EACA;EACA,KAAK;EACL,OAAO;EACP,QAAQ;EACR;EACA;IAAY;IAAmB;;;UAGhB;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,aAAa;EACb,aAAa,gBAAgB;EAC7B,cAAc,qBAAqB;;UAGpB;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;IAAwB;IAAe;IAAc;;EACrD;IACE;IACA;IACA;IACA;MAAU,QAAQ;;;EAEpB;EACA;;UAGe;EACf;EACA,UAAU;EACV;EACA;EACA;;UAGe;EACf;EACA,SAAS;EACT,OAAO"}
1
+ {"version":3,"file":"types-C_ADY_Cl.d.ts","names":[],"sources":["../../../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../../node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../src/types.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tenphi/docs",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "Repository-native content and configuration engine for Cookbook",
5
5
  "type": "module",
6
6
  "sideEffects": false,