@fern-api/fdr-sdk 1.2.42-5d054efb73 → 1.2.42-6d01f91096

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 (70) hide show
  1. package/dist/js/converters/index.js +0 -9
  2. package/dist/js/converters/index.js.map +1 -1
  3. package/dist/js/converters/index.mjs +0 -9
  4. package/dist/js/converters/index.mjs.map +1 -1
  5. package/dist/js/index.js +0 -9
  6. package/dist/js/index.js.map +1 -1
  7. package/dist/js/index.mjs +0 -9
  8. package/dist/js/index.mjs.map +1 -1
  9. package/dist/js/navigation/index.js +0 -9
  10. package/dist/js/navigation/index.js.map +1 -1
  11. package/dist/js/navigation/index.mjs +0 -9
  12. package/dist/js/navigation/index.mjs.map +1 -1
  13. package/dist/js/navigation/ledger-root-builder.js +36 -191
  14. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  15. package/dist/js/navigation/ledger-root-builder.mjs +36 -191
  16. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  17. package/dist/navigation/__test__/ledger-root-builder.metadataPreservation.test.js +4 -109
  18. package/dist/navigation/__test__/ledger-root-builder.metadataPreservation.test.js.map +1 -1
  19. package/dist/navigation/__test__/ledger-root-builder.rootChildOrder.test.js +0 -102
  20. package/dist/navigation/__test__/ledger-root-builder.rootChildOrder.test.js.map +1 -1
  21. package/dist/navigation/__test__/ledger-root-builder.skipSlugApiReference.test.js +0 -276
  22. package/dist/navigation/__test__/ledger-root-builder.skipSlugApiReference.test.js.map +1 -1
  23. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  24. package/dist/navigation/ledger-root-builder.js +47 -275
  25. package/dist/navigation/ledger-root-builder.js.map +1 -1
  26. package/dist/navigation/utils/index.d.ts +0 -1
  27. package/dist/navigation/utils/index.d.ts.map +1 -1
  28. package/dist/navigation/utils/index.js +0 -1
  29. package/dist/navigation/utils/index.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  32. package/dist/types/navigation/utils/index.d.ts +0 -1
  33. package/dist/types/navigation/utils/index.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts +0 -2
  36. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts.map +0 -1
  37. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.js +0 -267
  38. package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.js.map +0 -1
  39. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts +0 -2
  40. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts.map +0 -1
  41. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.js +0 -306
  42. package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.js.map +0 -1
  43. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts +0 -2
  44. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts.map +0 -1
  45. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js +0 -273
  46. package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js.map +0 -1
  47. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.d.ts +0 -2
  48. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.d.ts.map +0 -1
  49. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js +0 -256
  50. package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js.map +0 -1
  51. package/dist/navigation/utils/__test__/syntheticSectionPath.test.d.ts +0 -2
  52. package/dist/navigation/utils/__test__/syntheticSectionPath.test.d.ts.map +0 -1
  53. package/dist/navigation/utils/__test__/syntheticSectionPath.test.js +0 -29
  54. package/dist/navigation/utils/__test__/syntheticSectionPath.test.js.map +0 -1
  55. package/dist/navigation/utils/syntheticSectionPath.d.ts +0 -13
  56. package/dist/navigation/utils/syntheticSectionPath.d.ts.map +0 -1
  57. package/dist/navigation/utils/syntheticSectionPath.js +0 -20
  58. package/dist/navigation/utils/syntheticSectionPath.js.map +0 -1
  59. package/dist/types/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts +0 -2
  60. package/dist/types/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts.map +0 -1
  61. package/dist/types/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts +0 -2
  62. package/dist/types/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts.map +0 -1
  63. package/dist/types/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts +0 -2
  64. package/dist/types/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts.map +0 -1
  65. package/dist/types/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.d.ts +0 -2
  66. package/dist/types/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.d.ts.map +0 -1
  67. package/dist/types/navigation/utils/__test__/syntheticSectionPath.test.d.ts +0 -2
  68. package/dist/types/navigation/utils/__test__/syntheticSectionPath.test.d.ts.map +0 -1
  69. package/dist/types/navigation/utils/syntheticSectionPath.d.ts +0 -13
  70. package/dist/types/navigation/utils/syntheticSectionPath.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-root-builder.d.ts","sourceRoot":"","sources":["../../../src/navigation/ledger-root-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,KAAK,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AA6B9C,MAAM,WAAW,gBAAgB;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAID;;;;;;GAMG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;IAC/C,kFAAkF;IAClF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,cAAc,CAAC,IAAI,CAAC;CAC9D;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAuBjE;AAoRD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACjB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,QAAQ,GACvB,cAAc,CAAC,WAAW,CAAC;AAOjC;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,GAAG,SAAS,CAGzB;AA+KD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,QAAQ,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,EAAE,CAKf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,SAAS,CASxF;AAsYD;;;;;;GAMG;AACH,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,EAAE,EACxB,MAAM,EAAE,QAAQ,EAAE,GACnB,cAAc,CAAC,eAAe,EAAE,CAsElC;AA2qBD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAmF5F"}
1
+ {"version":3,"file":"ledger-root-builder.d.ts","sourceRoot":"","sources":["../../../src/navigation/ledger-root-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,KAAK,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AA6B9C,MAAM,WAAW,gBAAgB;IAC7B,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,6DAA6D;IAC7D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAID;;;;;;GAMG;AACH,UAAU,YAAY;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;IAC/C,kFAAkF;IAClF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,cAAc,CAAC,IAAI,CAAC;CAC9D;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAuBjE;AA+OD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACjB,cAAc,CAAC,YAAY,GAC3B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,QAAQ,GACvB,cAAc,CAAC,WAAW,CAAC;AAOjC;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,GAAG,SAAS,CAGzB;AA+KD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,QAAQ,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,GAC/B,WAAW,EAAE,CAKf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,SAAS,CASxF;AAgWD;;;;;;GAMG;AACH,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,WAAW,EAAE,EACxB,MAAM,EAAE,QAAQ,EAAE,GACnB,cAAc,CAAC,eAAe,EAAE,CAsElC;AAsiBD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAmF5F"}
@@ -7,7 +7,6 @@ export * from "./createBreadcrumb";
7
7
  export * from "./findNode";
8
8
  export * from "./getApiReferenceId";
9
9
  export * from "./getNoIndexFromFrontmatter";
10
- export * from "./syntheticSectionPath";
11
10
  export * from "./toApis";
12
11
  export * from "./toPages";
13
12
  export * from "./toRootNode";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/navigation/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/navigation/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fern-api/fdr-sdk",
3
- "version": "1.2.42-5d054efb73",
3
+ "version": "1.2.42-6d01f91096",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/fern-api/fern-platform.git",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ledger-root-builder.crossProductDedup.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ledger-root-builder.crossProductDedup.test.d.ts","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.crossProductDedup.test.ts"],"names":[],"mappings":""}
@@ -1,267 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import * as FernNavigation from "../index.js";
3
- import { buildFullRootFromSegments } from "../ledger-root-builder.js";
4
- function detail(opts) {
5
- return {
6
- id: opts.id,
7
- displayName: opts.name,
8
- icon: null,
9
- sortOrder: 0,
10
- hidden: false,
11
- viewers: [],
12
- orphaned: false,
13
- featureFlags: [],
14
- metadata: { slug: opts.slug, default: opts.isDefault ?? false, pointsTo: opts.pointsTo }
15
- };
16
- }
17
- function seg(opts) {
18
- return {
19
- segmentId: opts.segmentHash,
20
- segmentHash: opts.segmentHash,
21
- section: opts.section ?? "",
22
- locale: "en",
23
- sortOrder: 0,
24
- hidden: false,
25
- metadata: opts.metadata ?? { type: "section" },
26
- product: opts.product,
27
- version: null,
28
- variant: null,
29
- tab: null
30
- };
31
- }
32
- function mdRoute(opts) {
33
- return {
34
- type: "markdown",
35
- fullPath: opts.fullPath,
36
- hidden: false,
37
- metadata: { title: opts.title, pageId: opts.pageId }
38
- };
39
- }
40
- function epRoute(opts) {
41
- return {
42
- type: "endpoint-pair",
43
- fullPath: opts.fullPath,
44
- stream: null,
45
- hidden: false,
46
- metadata: {
47
- title: opts.title,
48
- endpointId: opts.endpointId,
49
- method: opts.method,
50
- apiDefinitionId: opts.apiDefinitionId,
51
- isResponseStream: false
52
- }
53
- };
54
- }
55
- function findCanonicalSlug(root, slug) {
56
- const result = FernNavigation.utils.findNode(root, FernNavigation.Slug(slug));
57
- if (result.type === "found") {
58
- return result.node.canonicalSlug;
59
- }
60
- return undefined;
61
- }
62
- describe("buildFullRootFromSegments - cross-product canonical slug deduplication", () => {
63
- it("deduplicates shared pages across products via pageId", () => {
64
- const defaultProduct = detail({
65
- id: "p-hris",
66
- name: "HRIS",
67
- slug: "hris",
68
- isDefault: true,
69
- pointsTo: "hris/authentication"
70
- });
71
- const nonDefaultProduct = detail({
72
- id: "p-accounting",
73
- name: "Accounting",
74
- slug: "accounting",
75
- pointsTo: "accounting/authentication"
76
- });
77
- const root = buildFullRootFromSegments({
78
- basePath: "",
79
- title: "Merge",
80
- segments: [
81
- seg({ segmentHash: "seg-hris", product: defaultProduct }),
82
- seg({ segmentHash: "seg-accounting", product: nonDefaultProduct })
83
- ],
84
- navBySegment: new Map([
85
- [
86
- "seg-hris",
87
- [mdRoute({ fullPath: "hris/authentication", title: "Authentication", pageId: "pg-auth" })]
88
- ],
89
- [
90
- "seg-accounting",
91
- [
92
- mdRoute({ fullPath: "accounting/authentication", title: "Authentication", pageId: "pg-auth" })
93
- ]
94
- ]
95
- ])
96
- });
97
- // Default product's page: no cross-product canonicalSlug
98
- expect(findCanonicalSlug(root, "hris/authentication")).toBeUndefined();
99
- // Non-default product's shared page points to the default
100
- expect(findCanonicalSlug(root, "accounting/authentication")).toBe("hris/authentication");
101
- });
102
- it("does NOT deduplicate pages with different pageIds", () => {
103
- const defaultProduct = detail({
104
- id: "p-hris",
105
- name: "HRIS",
106
- slug: "hris",
107
- isDefault: true,
108
- pointsTo: "hris/guide"
109
- });
110
- const nonDefaultProduct = detail({
111
- id: "p-accounting",
112
- name: "Accounting",
113
- slug: "accounting",
114
- pointsTo: "accounting/guide"
115
- });
116
- const root = buildFullRootFromSegments({
117
- basePath: "",
118
- title: "Merge",
119
- segments: [
120
- seg({ segmentHash: "seg-hris", product: defaultProduct }),
121
- seg({ segmentHash: "seg-accounting", product: nonDefaultProduct })
122
- ],
123
- navBySegment: new Map([
124
- ["seg-hris", [mdRoute({ fullPath: "hris/guide", title: "Guide", pageId: "pg-hris-guide" })]],
125
- [
126
- "seg-accounting",
127
- [mdRoute({ fullPath: "accounting/guide", title: "Guide", pageId: "pg-acct-guide" })]
128
- ]
129
- ])
130
- });
131
- expect(findCanonicalSlug(root, "hris/guide")).toBeUndefined();
132
- expect(findCanonicalSlug(root, "accounting/guide")).toBeUndefined();
133
- });
134
- it("does NOT deduplicate API endpoint nodes across products", () => {
135
- const defaultProduct = detail({
136
- id: "p-hris",
137
- name: "HRIS",
138
- slug: "hris",
139
- isDefault: true,
140
- pointsTo: "hris/list-employees"
141
- });
142
- const nonDefaultProduct = detail({
143
- id: "p-accounting",
144
- name: "Accounting",
145
- slug: "accounting",
146
- pointsTo: "accounting/list-accounts"
147
- });
148
- const root = buildFullRootFromSegments({
149
- basePath: "",
150
- title: "Merge",
151
- segments: [
152
- seg({
153
- segmentHash: "seg-hris-api",
154
- product: defaultProduct,
155
- metadata: { type: "apiReference", apiDefinitionId: "api-hris" }
156
- }),
157
- seg({
158
- segmentHash: "seg-acct-api",
159
- product: nonDefaultProduct,
160
- metadata: { type: "apiReference", apiDefinitionId: "api-acct" }
161
- })
162
- ],
163
- navBySegment: new Map([
164
- [
165
- "seg-hris-api",
166
- [
167
- epRoute({
168
- fullPath: "hris/list-employees",
169
- title: "List Employees",
170
- endpointId: "list-employees",
171
- method: "GET",
172
- apiDefinitionId: "api-hris"
173
- })
174
- ]
175
- ],
176
- [
177
- "seg-acct-api",
178
- [
179
- epRoute({
180
- fullPath: "accounting/list-accounts",
181
- title: "List Accounts",
182
- endpointId: "list-accounts",
183
- method: "GET",
184
- apiDefinitionId: "api-acct"
185
- })
186
- ]
187
- ]
188
- ])
189
- });
190
- expect(findCanonicalSlug(root, "hris/list-employees")).toBeUndefined();
191
- expect(findCanonicalSlug(root, "accounting/list-accounts")).toBeUndefined();
192
- });
193
- it("deduplicates shared pages across many products (Merge-like fan-out)", () => {
194
- const productNames = ["hris", "accounting", "ats", "crm"];
195
- const sharedPageId = "pg-rate-limits";
196
- const products = productNames.map((name, i) => detail({
197
- id: `p-${name}`,
198
- name,
199
- slug: name,
200
- isDefault: i === 0,
201
- pointsTo: `${name}/rate-limits`
202
- }));
203
- const segments = productNames.map((name, i) => seg({ segmentHash: `seg-${name}`, product: products[i] }));
204
- const routes = productNames.map((name) => mdRoute({ fullPath: `${name}/rate-limits`, title: "Rate Limits", pageId: sharedPageId }));
205
- const root = buildFullRootFromSegments({
206
- basePath: "",
207
- title: "Merge",
208
- segments: segments,
209
- navBySegment: new Map(productNames.map((name, i) => [`seg-${name}`, [routes[i]]]))
210
- });
211
- // Default product (hris): no canonicalSlug
212
- expect(findCanonicalSlug(root, "hris/rate-limits")).toBeUndefined();
213
- // All non-default products' shared pages point to the default
214
- for (const name of productNames.slice(1)) {
215
- expect(findCanonicalSlug(root, `${name}/rate-limits`)).toBe("hris/rate-limits");
216
- }
217
- });
218
- it("leaves product-specific pages alone when shared pages are deduped", () => {
219
- const defaultProduct = detail({
220
- id: "p-hris",
221
- name: "HRIS",
222
- slug: "hris",
223
- isDefault: true,
224
- pointsTo: "hris/authentication"
225
- });
226
- const nonDefaultProduct = detail({
227
- id: "p-accounting",
228
- name: "Accounting",
229
- slug: "accounting",
230
- pointsTo: "accounting/authentication"
231
- });
232
- const root = buildFullRootFromSegments({
233
- basePath: "",
234
- title: "Merge",
235
- segments: [
236
- seg({ segmentHash: "seg-hris", product: defaultProduct }),
237
- seg({ segmentHash: "seg-accounting", product: nonDefaultProduct })
238
- ],
239
- navBySegment: new Map([
240
- [
241
- "seg-hris",
242
- [
243
- mdRoute({ fullPath: "hris/authentication", title: "Authentication", pageId: "pg-auth" }),
244
- mdRoute({ fullPath: "hris/employee-guide", title: "Employee Guide", pageId: "pg-emp-guide" })
245
- ]
246
- ],
247
- [
248
- "seg-accounting",
249
- [
250
- mdRoute({ fullPath: "accounting/authentication", title: "Authentication", pageId: "pg-auth" }),
251
- mdRoute({
252
- fullPath: "accounting/invoice-guide",
253
- title: "Invoice Guide",
254
- pageId: "pg-inv-guide"
255
- })
256
- ]
257
- ]
258
- ])
259
- });
260
- // Shared page in non-default product is deduped
261
- expect(findCanonicalSlug(root, "accounting/authentication")).toBe("hris/authentication");
262
- // Product-specific pages are untouched
263
- expect(findCanonicalSlug(root, "hris/employee-guide")).toBeUndefined();
264
- expect(findCanonicalSlug(root, "accounting/invoice-guide")).toBeUndefined();
265
- });
266
- });
267
- //# sourceMappingURL=ledger-root-builder.crossProductDedup.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ledger-root-builder.crossProductDedup.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.crossProductDedup.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ledger-root-builder.ledgerParity.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ledger-root-builder.ledgerParity.test.d.ts","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.ledgerParity.test.ts"],"names":[],"mappings":""}
@@ -1,306 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildFullRootFromSegments } from "../ledger-root-builder.js";
3
- function segment(opts) {
4
- return {
5
- segmentId: opts.segmentHash,
6
- segmentHash: opts.segmentHash,
7
- section: opts.section,
8
- locale: "en",
9
- sortOrder: opts.sortOrder,
10
- hidden: false,
11
- metadata: opts.metadata,
12
- product: null,
13
- version: null,
14
- variant: opts.variant ?? null,
15
- tab: null
16
- };
17
- }
18
- function pageRoute(opts) {
19
- return {
20
- type: "markdown",
21
- fullPath: opts.fullPath,
22
- hidden: false,
23
- displaySortOrder: opts.displaySortOrder,
24
- metadata: { title: opts.title, pageId: opts.pageId ?? `${opts.fullPath}.mdx` }
25
- };
26
- }
27
- function changelogRoute(opts) {
28
- return {
29
- type: "changelog",
30
- fullPath: opts.fullPath,
31
- hidden: false,
32
- displaySortOrder: opts.displaySortOrder,
33
- metadata: {
34
- title: opts.title,
35
- pageId: `${opts.fullPath}.mdx`,
36
- date: opts.date
37
- }
38
- };
39
- }
40
- const pythonVariant = {
41
- id: "variant-python",
42
- displayName: "Python",
43
- icon: undefined,
44
- sortOrder: 0,
45
- hidden: false,
46
- viewers: [],
47
- orphaned: false,
48
- featureFlags: [],
49
- metadata: { slug: "python", default: true }
50
- };
51
- const typescriptVariant = {
52
- id: "variant-typescript",
53
- displayName: "TypeScript",
54
- icon: undefined,
55
- sortOrder: 1,
56
- hidden: false,
57
- viewers: [],
58
- orphaned: false,
59
- featureFlags: [],
60
- metadata: { slug: "typescript" }
61
- };
62
- function collectByType(node, type) {
63
- const results = [];
64
- function walk(value) {
65
- if (value == null || typeof value !== "object") {
66
- return;
67
- }
68
- const current = value;
69
- if (current.type === type) {
70
- results.push(current);
71
- }
72
- for (const child of current.children ?? []) {
73
- walk(child);
74
- }
75
- if (current.child != null) {
76
- walk(current.child);
77
- }
78
- if (current.changelog != null) {
79
- walk(current.changelog);
80
- }
81
- }
82
- walk(node);
83
- return results;
84
- }
85
- function buildRoot(opts) {
86
- return buildFullRootFromSegments({
87
- basePath: "",
88
- title: "Ledger parity",
89
- segments: opts.segments,
90
- navBySegment: (opts.navBySegment ?? new Map())
91
- });
92
- }
93
- describe("buildFullRootFromSegments — ledger/v2 parity repros", () => {
94
- it("scopes structural children below their owning variant slug", () => {
95
- const root = buildRoot({
96
- segments: [
97
- segment({
98
- segmentHash: "seg-python-guides",
99
- section: "guides",
100
- sortOrder: 0,
101
- metadata: { type: "section", title: "Guides" },
102
- variant: pythonVariant
103
- }),
104
- segment({
105
- segmentHash: "seg-typescript-guides",
106
- section: "guides",
107
- sortOrder: 1,
108
- metadata: { type: "section", title: "Guides" },
109
- variant: typescriptVariant
110
- })
111
- ]
112
- });
113
- expect(collectByType(root, "section")
114
- .map((node) => node.slug)
115
- .sort()).toEqual(["python/guides", "typescript/guides"]);
116
- });
117
- it("keeps api packages under the matching api definition", () => {
118
- const root = buildRoot({
119
- segments: [
120
- segment({
121
- segmentHash: "seg-api-a",
122
- section: "",
123
- sortOrder: 0,
124
- metadata: { type: "apiReference", title: "Plant API", apiDefinitionId: "api-a" }
125
- }),
126
- segment({
127
- segmentHash: "seg-users",
128
- section: "users",
129
- sortOrder: 1,
130
- metadata: { type: "apiPackage", title: "Users", apiDefinitionId: "api-a" }
131
- }),
132
- segment({
133
- segmentHash: "seg-api-b",
134
- section: "",
135
- sortOrder: 2,
136
- metadata: { type: "apiReference", title: "Garden API", apiDefinitionId: "api-b" }
137
- }),
138
- segment({
139
- segmentHash: "seg-orgs",
140
- section: "orgs",
141
- sortOrder: 3,
142
- metadata: { type: "apiPackage", title: "Orgs", apiDefinitionId: "api-b" }
143
- })
144
- ]
145
- });
146
- const apiReferences = collectByType(root, "apiReference");
147
- const plantApi = apiReferences.find((node) => node.title === "Plant API");
148
- const gardenApi = apiReferences.find((node) => node.title === "Garden API");
149
- expect(plantApi?.children?.map((node) => node.title)).toEqual(["Users"]);
150
- expect(gardenApi?.children?.map((node) => node.title)).toEqual(["Orgs"]);
151
- });
152
- it("attaches an api changelog only to the matching repeated api reference", () => {
153
- const root = buildRoot({
154
- segments: [
155
- segment({
156
- segmentHash: "seg-public-api",
157
- section: "public",
158
- sortOrder: 0,
159
- metadata: { type: "apiReference", title: "Public API", apiDefinitionId: "plants" }
160
- }),
161
- segment({
162
- segmentHash: "seg-internal-api",
163
- section: "internal",
164
- sortOrder: 1,
165
- metadata: { type: "apiReference", title: "Internal API", apiDefinitionId: "plants" }
166
- }),
167
- segment({
168
- segmentHash: "seg-internal-changelog",
169
- section: "internal/changelog",
170
- sortOrder: 2,
171
- metadata: { type: "changelog", title: "Internal changelog", apiDefinitionId: "plants" }
172
- })
173
- ],
174
- navBySegment: new Map([
175
- [
176
- "seg-internal-changelog",
177
- [
178
- changelogRoute({
179
- fullPath: "internal/changelog/2026/06/23/plant-updates",
180
- title: "Plant updates",
181
- date: "2026-06-23"
182
- })
183
- ]
184
- ]
185
- ])
186
- });
187
- const publicApi = collectByType(root, "apiReference").find((node) => node.title === "Public API");
188
- const internalApi = collectByType(root, "apiReference").find((node) => node.title === "Internal API");
189
- expect(publicApi?.changelog).toBeUndefined();
190
- expect(internalApi?.changelog?.title).toBe("Internal changelog");
191
- });
192
- it("keeps duplicate nested sections from adopting sibling children", () => {
193
- const root = buildRoot({
194
- segments: [
195
- segment({
196
- segmentHash: "seg-guides",
197
- section: "guides",
198
- sortOrder: 0,
199
- metadata: { type: "section", title: "Guides" }
200
- }),
201
- segment({
202
- segmentHash: "seg-foo-a",
203
- section: "guides/foo",
204
- sortOrder: 10,
205
- metadata: { type: "section", title: "Foo A" }
206
- }),
207
- segment({
208
- segmentHash: "seg-a",
209
- section: "guides/foo/a",
210
- sortOrder: 11,
211
- metadata: { type: "section", title: "A" }
212
- }),
213
- segment({
214
- segmentHash: "seg-foo-b",
215
- section: "guides/foo",
216
- sortOrder: 20,
217
- metadata: { type: "section", title: "Foo B" }
218
- }),
219
- segment({
220
- segmentHash: "seg-b",
221
- section: "guides/foo/b",
222
- sortOrder: 21,
223
- metadata: { type: "section", title: "B" }
224
- })
225
- ]
226
- });
227
- const fooA = collectByType(root, "section").find((node) => node.title === "Foo A");
228
- const fooB = collectByType(root, "section").find((node) => node.title === "Foo B");
229
- expect(fooA?.children?.map((node) => node.title)).toEqual(["A"]);
230
- expect(fooB?.children?.map((node) => node.title)).toEqual(["B"]);
231
- });
232
- it("groups standalone changelogs with adjacent loose pages", () => {
233
- const root = buildRoot({
234
- segments: [
235
- segment({
236
- segmentHash: "seg-root",
237
- section: "",
238
- sortOrder: 0,
239
- metadata: { type: "tabRoot" }
240
- }),
241
- segment({
242
- segmentHash: "seg-changelog",
243
- section: "changelog",
244
- sortOrder: 1,
245
- metadata: { type: "changelog", title: "Changelog", childIndex: 1 }
246
- })
247
- ],
248
- navBySegment: new Map([
249
- [
250
- "seg-root",
251
- [
252
- pageRoute({ fullPath: "overview", title: "Overview", displaySortOrder: 0 }),
253
- pageRoute({ fullPath: "guides", title: "Guides", displaySortOrder: 2 })
254
- ]
255
- ],
256
- [
257
- "seg-changelog",
258
- [
259
- changelogRoute({
260
- fullPath: "changelog/2026/06/23/new-plant",
261
- title: "New plant",
262
- date: "2026-06-23"
263
- })
264
- ]
265
- ]
266
- ])
267
- });
268
- const sidebarGroups = collectByType(root, "sidebarGroup");
269
- expect(sidebarGroups).toHaveLength(1);
270
- expect(sidebarGroups[0]?.children?.map((node) => node.type)).toEqual(["page", "changelog", "page"]);
271
- });
272
- it("preserves api reference paginated metadata", () => {
273
- const root = buildRoot({
274
- segments: [
275
- segment({
276
- segmentHash: "seg-unpaginated-api",
277
- section: "api",
278
- sortOrder: 0,
279
- metadata: { type: "apiReference", title: "API", apiDefinitionId: "plants", paginated: false }
280
- }),
281
- segment({
282
- segmentHash: "seg-paginated-api",
283
- section: "paginated-api",
284
- sortOrder: 1,
285
- metadata: {
286
- type: "apiReference",
287
- title: "Paginated API",
288
- apiDefinitionId: "paginated-plants",
289
- paginated: true
290
- }
291
- }),
292
- segment({
293
- segmentHash: "seg-default-api",
294
- section: "default-api",
295
- sortOrder: 2,
296
- metadata: { type: "apiReference", title: "Default API", apiDefinitionId: "default-plants" }
297
- })
298
- ]
299
- });
300
- const apis = collectByType(root, "apiReference");
301
- expect(apis.find((api) => api.title === "API")?.paginated).toBe(false);
302
- expect(apis.find((api) => api.title === "Paginated API")?.paginated).toBe(true);
303
- expect(apis.find((api) => api.title === "Default API")?.paginated).toBeUndefined();
304
- });
305
- });
306
- //# sourceMappingURL=ledger-root-builder.ledgerParity.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ledger-root-builder.ledgerParity.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.ledgerParity.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ledger-root-builder.sidebarDepth.test.d.ts.map