@lexibase/rdx-types 1.2.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -127,7 +127,7 @@ export type RdxHomepage = {
127
127
  */
128
128
  export type RdxMetadata = {
129
129
  /**
130
- * Absolute HTTP(S) deployment URL used to resolve relative metadata URLs.
130
+ * Absolute HTTP(S) deployment URL used for sitemap entries and relative metadata URLs.
131
131
  * Set this to the real public site URL when deploying; no domain is assumed.
132
132
  * @example 'https://docs.example.com'
133
133
  */
@@ -187,13 +187,6 @@ export type RdxMetadata = {
187
187
  * @example '/site.webmanifest'
188
188
  */
189
189
  manifest?: string
190
- /** Optional crawler directives; these do not protect content from access. */
191
- robots?: {
192
- /** Whether search engines are instructed to index the page. */
193
- index?: boolean
194
- /** Whether search engines are instructed to follow links on the page. */
195
- follow?: boolean
196
- }
197
190
  /** Optional Open Graph link previews. No fixed URL is applied to every page. */
198
191
  openGraph?: {
199
192
  /** Site preview title; defaults to applicationName. Docs pages use their page title. */
package/dist/content.d.ts CHANGED
@@ -29,4 +29,7 @@ export type RdxDocument = {
29
29
 
30
30
  export type RdxDocsOptions = {
31
31
  docsDir?: string
32
+ /** Internal overlay: missing translated pages use this primary tree. */
33
+ fallbackDocsDir?: string
34
+ fallbackOnly?: boolean
32
35
  }
package/dist/index.d.ts CHANGED
@@ -8,6 +8,13 @@ export {
8
8
  ResolvedRdxConfig,
9
9
  } from './config'
10
10
  export {
11
+ RdxLocaleDefinition,
12
+ RdxLocale,
13
+ RdxLocalizationOptions,
14
+ RdxLocalization,
15
+ RdxSourceLocalization,
16
+ RdxSnapshotContext,
17
+ RdxSnapshotContribution,
11
18
  RdxContentSource,
12
19
  RdxPlugin,
13
20
  RdxPluginCommand,
package/dist/plugins.d.ts CHANGED
@@ -1,5 +1,39 @@
1
1
  import type { ResolvedRdxConfig } from './config'
2
2
 
3
+ /** A content language; folder aliases are separate from language tags. */
4
+ export type RdxLocaleDefinition = {
5
+ code: string
6
+ label: string
7
+ folder?: string
8
+ }
9
+ export type RdxLocalizationOptions = {
10
+ locales: RdxLocaleDefinition[]
11
+ /** Absolute HTTP(S) URL for community translations, e.g. the repository's locale/ directory. */
12
+ contributionUrl?: string
13
+ }
14
+ export type RdxLocale = RdxLocaleDefinition & { path: string }
15
+ export type RdxLocalization = {
16
+ defaultLocale: string
17
+ locales: RdxLocale[]
18
+ /** Current contribution destination, shared across languages and editions. */
19
+ contributionUrl?: string
20
+ }
21
+ /** Language inventory frozen for one content source/edition. */
22
+ export type RdxSourceLocalization = RdxLocalization & {
23
+ docs: Record<string, string>
24
+ }
25
+
26
+ export type RdxSnapshotContext = RdxPluginContext & {
27
+ version: string
28
+ /** New primary snapshot directory, relative to the project. */
29
+ snapshotDir: string
30
+ }
31
+ /** Hooks declare files/trees; the snapshot owner copies them in one transaction. */
32
+ export type RdxSnapshotContribution = {
33
+ directories?: { sourceDir: string; snapshotDir: string }[]
34
+ files?: { filename: string; content: string }[]
35
+ }
36
+
3
37
  /** A separate documentation tree exposed below /docs/<routePrefix>. */
4
38
  export type RdxContentSource = {
5
39
  id: string
@@ -9,6 +43,16 @@ export type RdxContentSource = {
9
43
  badge?: string
10
44
  /** Canonical route prefix to redirect this historical source to. */
11
45
  redirectTo?: string
46
+ /** Canonical snapshot label, including when this source is a redirect alias. */
47
+ version?: string
48
+ /** Retained identity metadata for a replaced snapshot; its content is not served. */
49
+ previousSnapshot?: { version: string; docsDir: string }
50
+ /** Internal localized view; the original source/edition identity is unchanged. */
51
+ basePath?: string
52
+ fallbackDocsDir?: string
53
+ fallbackOnly?: boolean
54
+ /** Internal source-language inventory; snapshot values are immutable. */
55
+ localization?: RdxSourceLocalization
12
56
  }
13
57
 
14
58
  export type RdxPluginContext = {
@@ -27,13 +71,21 @@ export type RdxPluginCommand = {
27
71
  export type RdxPlugin = {
28
72
  name: string
29
73
  apiVersion: 1
30
- setup?: (
31
- context: RdxPluginContext
32
- ) =>
33
- | { sources?: RdxContentSource[]; runtimeFiles?: string[] }
74
+ setup?: (context: RdxPluginContext) =>
75
+ | {
76
+ sources?: RdxContentSource[]
77
+ runtimeFiles?: string[]
78
+ localization?: RdxLocalizationOptions
79
+ }
34
80
  | void
35
- | Promise<{ sources?: RdxContentSource[]; runtimeFiles?: string[] } | void>
81
+ | Promise<{
82
+ sources?: RdxContentSource[]
83
+ runtimeFiles?: string[]
84
+ localization?: RdxLocalizationOptions
85
+ } | void>
36
86
  commands?: RdxPluginCommand[]
87
+ /** Synchronous, declaration-only hook. It must not write or reserve paths. */
88
+ snapshot?: (context: RdxSnapshotContext) => RdxSnapshotContribution | void
37
89
  }
38
90
 
39
91
  export type RdxProject = {
@@ -43,4 +95,7 @@ export type RdxProject = {
43
95
  commands: RdxPluginCommand[]
44
96
  /** Project-relative files plugins need when serving deployed documentation. */
45
97
  runtimeFiles: string[]
98
+ localization?: RdxLocalization
99
+ /** Selected locale on a request-scoped view, never a global mutable setting. */
100
+ locale?: RdxLocale
46
101
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lexibase/rdx-types",
3
- "version": "1.2.0",
3
+ "version": "2.1.0",
4
4
  "license": "MIT",
5
5
  "description": "Shared TypeScript types for RDX documentation projects.",
6
6
  "types": "./dist/index.d.ts",