@fern-api/fdr-sdk 1.2.42-080b4f1d94 → 1.2.42-1fb0ba4870
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/js/client/FdrClient.js +0 -1
- package/dist/js/client/FdrClient.js.map +1 -1
- package/dist/js/client/FdrClient.mjs +0 -1
- package/dist/js/client/FdrClient.mjs.map +1 -1
- package/dist/js/index.js +0 -1
- package/dist/js/index.js.map +1 -1
- package/dist/js/index.mjs +0 -1
- package/dist/js/index.mjs.map +1 -1
- package/dist/js/navigation/ledger-root-builder.js +14 -100
- package/dist/js/navigation/ledger-root-builder.js.map +1 -1
- package/dist/js/navigation/ledger-root-builder.mjs +14 -100
- package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
- package/dist/js/orpc-client.js +0 -1
- package/dist/js/orpc-client.js.map +1 -1
- package/dist/js/orpc-client.mjs +0 -1
- package/dist/js/orpc-client.mjs.map +1 -1
- package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js +1 -105
- package/dist/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.js.map +1 -1
- package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
- package/dist/navigation/ledger-root-builder.js +23 -153
- package/dist/navigation/ledger-root-builder.js.map +1 -1
- package/dist/orpc-client/docs-ledger/contract.d.ts +0 -9
- package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs-ledger/contract.js +0 -1
- package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
- package/dist/types/orpc-client/docs-ledger/contract.d.ts +0 -9
- package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts +0 -2
- package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.js +0 -267
- package/dist/navigation/__test__/ledger-root-builder.crossProductDedup.test.js.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts +0 -2
- package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.js +0 -306
- package/dist/navigation/__test__/ledger-root-builder.ledgerParity.test.js.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts +0 -2
- package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js +0 -273
- package/dist/navigation/__test__/ledger-root-builder.sidebarDepth.test.js.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts +0 -2
- package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts.map +0 -1
- package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.js +0 -234
- package/dist/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.js.map +0 -1
- package/dist/types/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts +0 -2
- package/dist/types/navigation/__test__/ledger-root-builder.crossProductDedup.test.d.ts.map +0 -1
- package/dist/types/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts +0 -2
- package/dist/types/navigation/__test__/ledger-root-builder.ledgerParity.test.d.ts.map +0 -1
- package/dist/types/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts +0 -2
- package/dist/types/navigation/__test__/ledger-root-builder.sidebarDepth.test.d.ts.map +0 -1
- package/dist/types/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts +0 -2
- package/dist/types/navigation/__test__/ledger-root-builder.skipSlugGroupOrdering.test.d.ts.map +0 -1
|
@@ -39,8 +39,7 @@ function seg(opts) {
|
|
|
39
39
|
metadata: {
|
|
40
40
|
type: opts.type,
|
|
41
41
|
...(opts.title != null ? { title: opts.title } : {}),
|
|
42
|
-
...(opts.childIndex != null ? { childIndex: opts.childIndex } : {})
|
|
43
|
-
...(opts.sidebarDepth != null ? { sidebarDepth: opts.sidebarDepth } : {})
|
|
42
|
+
...(opts.childIndex != null ? { childIndex: opts.childIndex } : {})
|
|
44
43
|
},
|
|
45
44
|
product: null,
|
|
46
45
|
version: null,
|
|
@@ -197,109 +196,6 @@ describe("buildFullRootFromSegments — skipUrlSlug sibling sections are NOT ado
|
|
|
197
196
|
expect(breadcrumbTitles).not.toContain("Introduction");
|
|
198
197
|
});
|
|
199
198
|
});
|
|
200
|
-
describe("buildFullRootFromSegments — nested subsections with sidebarDepth are not promoted to root level", () => {
|
|
201
|
-
// Regression guard: when multiple skip-slug sections share sec="" and one
|
|
202
|
-
// contains nested subsections (sidebarDepth > 0), the nested subsections
|
|
203
|
-
// must stay under their parent — not be emitted as additional root children.
|
|
204
|
-
// Without the fix, sections with sidebarDepth > 0 bypassed the adoption
|
|
205
|
-
// skip (which only checked depth == null), causing duplication.
|
|
206
|
-
const tab = detail({
|
|
207
|
-
id: "t-docs",
|
|
208
|
-
name: "Docs",
|
|
209
|
-
slug: "docs",
|
|
210
|
-
pointsTo: "docs/getting-started"
|
|
211
|
-
});
|
|
212
|
-
it("subsections with sidebarDepth > 0 stay nested under their parent skip-slug section", () => {
|
|
213
|
-
const root = buildRoot({
|
|
214
|
-
basePath: "",
|
|
215
|
-
segments: [
|
|
216
|
-
seg({
|
|
217
|
-
segmentHash: "s-gs",
|
|
218
|
-
section: "",
|
|
219
|
-
type: "section",
|
|
220
|
-
title: "Getting Started",
|
|
221
|
-
sortOrder: 0,
|
|
222
|
-
childIndex: 0,
|
|
223
|
-
sidebarDepth: 0,
|
|
224
|
-
tab
|
|
225
|
-
}),
|
|
226
|
-
seg({
|
|
227
|
-
segmentHash: "s-dt",
|
|
228
|
-
section: "",
|
|
229
|
-
type: "section",
|
|
230
|
-
title: "Dev Tools",
|
|
231
|
-
sortOrder: 2,
|
|
232
|
-
childIndex: 1,
|
|
233
|
-
sidebarDepth: 0,
|
|
234
|
-
tab
|
|
235
|
-
}),
|
|
236
|
-
seg({
|
|
237
|
-
segmentHash: "s-cap",
|
|
238
|
-
section: "",
|
|
239
|
-
type: "section",
|
|
240
|
-
title: "Capabilities",
|
|
241
|
-
sortOrder: 4,
|
|
242
|
-
childIndex: 2,
|
|
243
|
-
sidebarDepth: 0,
|
|
244
|
-
tab
|
|
245
|
-
}),
|
|
246
|
-
// Nested under Capabilities — these must NOT appear at root level
|
|
247
|
-
seg({
|
|
248
|
-
segmentHash: "s-parsing",
|
|
249
|
-
section: "parsing",
|
|
250
|
-
type: "section",
|
|
251
|
-
title: "Parsing",
|
|
252
|
-
sortOrder: 5,
|
|
253
|
-
childIndex: 0,
|
|
254
|
-
sidebarDepth: 1,
|
|
255
|
-
tab
|
|
256
|
-
}),
|
|
257
|
-
seg({
|
|
258
|
-
segmentHash: "s-extraction",
|
|
259
|
-
section: "extraction",
|
|
260
|
-
type: "section",
|
|
261
|
-
title: "Extraction",
|
|
262
|
-
sortOrder: 6,
|
|
263
|
-
childIndex: 1,
|
|
264
|
-
sidebarDepth: 1,
|
|
265
|
-
tab
|
|
266
|
-
})
|
|
267
|
-
],
|
|
268
|
-
navBySegment: new Map([
|
|
269
|
-
["s-gs", [markdownRoute("docs/getting-started", "Intro", "pg-intro")]],
|
|
270
|
-
["s-dt", [markdownRoute("docs/dev-tools", "CLI", "pg-cli")]],
|
|
271
|
-
["s-cap", []],
|
|
272
|
-
["s-parsing", [markdownRoute("docs/parsing/overview", "Parsing Overview", "pg-parse")]],
|
|
273
|
-
["s-extraction", [markdownRoute("docs/extraction/overview", "Extraction Overview", "pg-extract")]]
|
|
274
|
-
])
|
|
275
|
-
});
|
|
276
|
-
const sidebarChildren = findSidebarRootChildren(root);
|
|
277
|
-
const topLevelTitles = [];
|
|
278
|
-
for (const child of sidebarChildren) {
|
|
279
|
-
if (child.type === "section") {
|
|
280
|
-
topLevelTitles.push(child.title);
|
|
281
|
-
}
|
|
282
|
-
else if (child.type === "sidebarGroup") {
|
|
283
|
-
for (const gc of child.children) {
|
|
284
|
-
if (gc.type === "section") {
|
|
285
|
-
topLevelTitles.push(gc.title);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
// Only the three skip-slug root sections should appear at top level
|
|
291
|
-
expect(topLevelTitles).toEqual(["Getting Started", "Dev Tools", "Capabilities"]);
|
|
292
|
-
// Parsing and Extraction must be children of Capabilities, not root
|
|
293
|
-
const sections = findSectionNodes(root);
|
|
294
|
-
const capSec = sections.find((s) => s.title === "Capabilities");
|
|
295
|
-
expect(capSec).toBeDefined();
|
|
296
|
-
const capChildTitles = (capSec?.children ?? [])
|
|
297
|
-
.filter((c) => c.type === "section")
|
|
298
|
-
.map((c) => c.title);
|
|
299
|
-
expect(capChildTitles).toContain("Parsing");
|
|
300
|
-
expect(capChildTitles).toContain("Extraction");
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
199
|
describe("buildFullRootFromSegments — true root-section wrappers (no childIndex) still work", () => {
|
|
304
200
|
// Regression guard: when a section has section="" WITHOUT childIndex,
|
|
305
201
|
// it IS a true root wrapper and should adopt depth-0 children.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-root-builder.skipSlugSiblingSection.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ledger-root-builder.skipSlugSiblingSection.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-root-builder.skipSlugSiblingSection.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAiWD;;;;;;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;AA8oBD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAmF5F"}
|
|
@@ -569,30 +569,6 @@ function stripLeadingScopePrefix(section, scopePrefix) {
|
|
|
569
569
|
}
|
|
570
570
|
return section;
|
|
571
571
|
}
|
|
572
|
-
function computeDuplicateSiblingSortBoundaries(siblings) {
|
|
573
|
-
const result = new Map();
|
|
574
|
-
const byPath = new Map();
|
|
575
|
-
for (const sibling of siblings) {
|
|
576
|
-
if (metaStr(sibling.seg.metadata, "type") !== "section") {
|
|
577
|
-
continue;
|
|
578
|
-
}
|
|
579
|
-
const group = byPath.get(sibling.seg.section) ?? [];
|
|
580
|
-
group.push(sibling);
|
|
581
|
-
byPath.set(sibling.seg.section, group);
|
|
582
|
-
}
|
|
583
|
-
for (const [, group] of byPath) {
|
|
584
|
-
if (group.length <= 1) {
|
|
585
|
-
continue;
|
|
586
|
-
}
|
|
587
|
-
for (let i = 0; i < group.length; i++) {
|
|
588
|
-
result.set(group[i], {
|
|
589
|
-
lo: group[i].seg.sortOrder,
|
|
590
|
-
hi: i + 1 < group.length ? group[i + 1].seg.sortOrder : Number.MAX_SAFE_INTEGER
|
|
591
|
-
});
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
return result;
|
|
595
|
-
}
|
|
596
572
|
/**
|
|
597
573
|
* Merge leaf children and section children by their original V1 tree position.
|
|
598
574
|
* Leaves carry position via `displaySortOrder` (stored in nav routes), sections
|
|
@@ -666,16 +642,13 @@ function sectionNode(ctx, scoped, sectionChildren, scopePrefix) {
|
|
|
666
642
|
* `parentSectionPath(seg.section) === parentSection`, or is an orphaned segment
|
|
667
643
|
* whose nearest existing ancestor is `parentSection`.
|
|
668
644
|
*/
|
|
669
|
-
function directChildApiPackages(parentSection, scopeSegs
|
|
645
|
+
function directChildApiPackages(parentSection, scopeSegs) {
|
|
670
646
|
const sectionPaths = new Set(scopeSegs.map((s) => s.seg.section));
|
|
671
647
|
return scopeSegs
|
|
672
648
|
.filter((s) => {
|
|
673
649
|
if (metaStr(s.seg.metadata, "type") !== "apiPackage") {
|
|
674
650
|
return false;
|
|
675
651
|
}
|
|
676
|
-
if (metaStr(s.seg.metadata, "apiDefinitionId") !== apiDefinitionId) {
|
|
677
|
-
return false;
|
|
678
|
-
}
|
|
679
652
|
const parent = parentSectionPath(s.seg.section);
|
|
680
653
|
if (parent === parentSection) {
|
|
681
654
|
return true;
|
|
@@ -700,37 +673,11 @@ function buildApiChildren(ctx, scoped, scopeSegs, apiDefinitionId, scopePrefix)
|
|
|
700
673
|
// API leaf types.
|
|
701
674
|
const leafNodes = positionedApiLeafChildren(ctx, nav, apiDefinitionId);
|
|
702
675
|
// Build nested ApiPackageNodes from direct child apiPackage segments.
|
|
703
|
-
|
|
704
|
-
// When multiple API-type segments share the same section path (skipUrlSlug
|
|
705
|
-
// group packages that collapse to their parent's section), children from
|
|
706
|
-
// different groups get mixed together. Scope children to this segment's DFS
|
|
707
|
-
// subtree using sortOrder boundaries to restore correct ownership.
|
|
708
|
-
const samePathApiSiblings = scopeSegs.filter((s) => s.seg.section === seg.section &&
|
|
709
|
-
s.seg.sortOrder !== seg.sortOrder &&
|
|
710
|
-
API_NODE_SEGMENT_TYPES.has(metaStr(s.seg.metadata, "type") ?? ""));
|
|
711
|
-
const hasCollapsedGroups = samePathApiSiblings.length > 0;
|
|
712
|
-
if (hasCollapsedGroups && metaStr(seg.metadata, "type") !== "apiReference") {
|
|
713
|
-
// This is a group package sharing its section with siblings.
|
|
714
|
-
// Only claim children whose sortOrder falls within our DFS subtree.
|
|
715
|
-
const nextSibling = samePathApiSiblings
|
|
716
|
-
.filter((s) => s.seg.sortOrder > seg.sortOrder)
|
|
717
|
-
.sort((a, b) => a.seg.sortOrder - b.seg.sortOrder)[0];
|
|
718
|
-
const lo = seg.sortOrder;
|
|
719
|
-
const hi = nextSibling?.seg.sortOrder ?? Number.MAX_SAFE_INTEGER;
|
|
720
|
-
childPackages = childPackages.filter((c) => c.seg.sortOrder > lo && c.seg.sortOrder < hi);
|
|
721
|
-
}
|
|
676
|
+
const childPackages = directChildApiPackages(seg.section, scopeSegs);
|
|
722
677
|
const packageNodes = childPackages.map((child) => ({
|
|
723
678
|
node: apiPackageChildNode(ctx, child, scopeSegs, apiDefinitionId, scopePrefix),
|
|
724
679
|
childIndex: metaNum(child.seg.metadata, "childIndex")
|
|
725
680
|
}));
|
|
726
|
-
// When collapsed groups are detected at apiReference level, children's
|
|
727
|
-
// childIndex values are relative to different parent groups and cannot be
|
|
728
|
-
// used for interleaving. Fall back to sortOrder (DFS creation order).
|
|
729
|
-
if (hasCollapsedGroups && metaStr(seg.metadata, "type") === "apiReference") {
|
|
730
|
-
return [...leafNodes, ...packageNodes.map((p, i) => ({ node: p.node, pos: leafNodes.length + i }))]
|
|
731
|
-
.sort((a, b) => a.pos - b.pos)
|
|
732
|
-
.map((p) => p.node);
|
|
733
|
-
}
|
|
734
681
|
// Interleave by position when childIndex metadata is available
|
|
735
682
|
const hasChildIndex = packageNodes.some((p) => p.childIndex != null);
|
|
736
683
|
if (!hasChildIndex) {
|
|
@@ -887,7 +834,7 @@ function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
|
|
|
887
834
|
availability: metaAvailability(seg.metadata),
|
|
888
835
|
overviewPageId: overviewPageId != null ? FernNavigation.PageId(overviewPageId) : undefined,
|
|
889
836
|
noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
|
|
890
|
-
paginated:
|
|
837
|
+
paginated: true,
|
|
891
838
|
showErrors: metaBool(seg.metadata, "showErrors"),
|
|
892
839
|
hideTitle: metaBool(seg.metadata, "hideTitle"),
|
|
893
840
|
pointsTo: metaPointsTo != null ? pointsToSlug(metaPointsTo) : undefined,
|
|
@@ -905,12 +852,7 @@ function attachedApiChangelogNode(ctx, scoped, scopeSegs, apiDefinitionId, scope
|
|
|
905
852
|
}
|
|
906
853
|
return metaStr(candidate.seg.metadata, "apiDefinitionId") === apiDefinitionId;
|
|
907
854
|
});
|
|
908
|
-
const
|
|
909
|
-
return (metaStr(candidate.seg.metadata, "type") === "apiReference" &&
|
|
910
|
-
metaStr(candidate.seg.metadata, "apiDefinitionId") === apiDefinitionId);
|
|
911
|
-
}).length;
|
|
912
|
-
const changelogSeg = candidates.find((candidate) => parentSectionPath(candidate.seg.section) === seg.section) ??
|
|
913
|
-
(apiReferenceCount === 1 ? candidates[0] : undefined);
|
|
855
|
+
const changelogSeg = candidates.find((candidate) => parentSectionPath(candidate.seg.section) === seg.section) ?? candidates[0];
|
|
914
856
|
return changelogSeg != null ? changelogNode(ctx, changelogSeg, scopePrefix) : undefined;
|
|
915
857
|
}
|
|
916
858
|
function hasOwningApiReference(scoped, scopeSegs) {
|
|
@@ -918,14 +860,12 @@ function hasOwningApiReference(scoped, scopeSegs) {
|
|
|
918
860
|
if (apiDefinitionId == null || metaStr(scoped.seg.metadata, "type") !== "changelog") {
|
|
919
861
|
return false;
|
|
920
862
|
}
|
|
921
|
-
|
|
863
|
+
return scopeSegs.some((candidate) => {
|
|
922
864
|
if (metaStr(candidate.seg.metadata, "type") !== "apiReference") {
|
|
923
865
|
return false;
|
|
924
866
|
}
|
|
925
867
|
return metaStr(candidate.seg.metadata, "apiDefinitionId") === apiDefinitionId;
|
|
926
868
|
});
|
|
927
|
-
return (candidates.some((candidate) => parentSectionPath(scoped.seg.section) === candidate.seg.section) ||
|
|
928
|
-
candidates.length === 1);
|
|
929
869
|
}
|
|
930
870
|
/**
|
|
931
871
|
* True when this segment is an `apiPackage` that will be nested under an in-scope
|
|
@@ -1106,12 +1046,6 @@ function buildSectionTree(ctx, scopeSegs, parentPath, scopePrefix, changelogScop
|
|
|
1106
1046
|
if (hasOwningApiReference(s, scopeSegs) || isNestedApiPackage(s, scopeSegs)) {
|
|
1107
1047
|
return false;
|
|
1108
1048
|
}
|
|
1109
|
-
// Segments marked as sidebar depth 0 are V1 root-level peers and
|
|
1110
|
-
// must never be adopted as children of another section.
|
|
1111
|
-
const depth = metaNum(s.seg.metadata, "sidebarDepth");
|
|
1112
|
-
if (depth === 0) {
|
|
1113
|
-
return false;
|
|
1114
|
-
}
|
|
1115
1049
|
const parent = parentSectionPath(sec);
|
|
1116
1050
|
if (parent === parentPath) {
|
|
1117
1051
|
return true;
|
|
@@ -1124,7 +1058,6 @@ function buildSectionTree(ctx, scopeSegs, parentPath, scopePrefix, changelogScop
|
|
|
1124
1058
|
return false;
|
|
1125
1059
|
})
|
|
1126
1060
|
.sort((a, b) => a.seg.sortOrder - b.seg.sortOrder);
|
|
1127
|
-
const siblingBoundaries = computeDuplicateSiblingSortBoundaries(direct);
|
|
1128
1061
|
return direct.map((s) => {
|
|
1129
1062
|
const type = metaStr(s.seg.metadata, "type");
|
|
1130
1063
|
const childIndex = metaNum(s.seg.metadata, "childIndex");
|
|
@@ -1137,11 +1070,7 @@ function buildSectionTree(ctx, scopeSegs, parentPath, scopePrefix, changelogScop
|
|
|
1137
1070
|
}
|
|
1138
1071
|
else {
|
|
1139
1072
|
// section (or unrecognised) → recurse for nested sections.
|
|
1140
|
-
|
|
1141
|
-
const childScopeSegs = boundary != null
|
|
1142
|
-
? scopeSegs.filter((candidate) => candidate.seg.sortOrder >= boundary.lo && candidate.seg.sortOrder < boundary.hi)
|
|
1143
|
-
: scopeSegs;
|
|
1144
|
-
node = sectionNode(ctx, s, buildSectionTree(ctx, childScopeSegs, s.seg.section, scopePrefix, changelogScopePrefix), scopePrefix);
|
|
1073
|
+
node = sectionNode(ctx, s, buildSectionTree(ctx, scopeSegs, s.seg.section, scopePrefix, changelogScopePrefix), scopePrefix);
|
|
1145
1074
|
}
|
|
1146
1075
|
return { node, childIndex };
|
|
1147
1076
|
});
|
|
@@ -1176,11 +1105,8 @@ function computeSiblingSortBoundaries(ordered) {
|
|
|
1176
1105
|
rootSections.push(s);
|
|
1177
1106
|
continue;
|
|
1178
1107
|
}
|
|
1179
|
-
const depth = metaNum(s.seg.metadata, "sidebarDepth");
|
|
1180
1108
|
const parent = parentSectionPath(sec);
|
|
1181
|
-
const isRootLevel =
|
|
1182
|
-
parent === "" ||
|
|
1183
|
-
(!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
|
|
1109
|
+
const isRootLevel = parent === "" || (!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
|
|
1184
1110
|
if (isRootLevel) {
|
|
1185
1111
|
rootSections.push(s);
|
|
1186
1112
|
}
|
|
@@ -1247,11 +1173,11 @@ function buildSidebarRootChildren(ctx, scopeSegs, scopePrefix, changelogScopePre
|
|
|
1247
1173
|
// │ → emit pages/links inline at their displaySortOrder
|
|
1248
1174
|
// │
|
|
1249
1175
|
// ├─ (B) the root section itself (sec=="", type=="section")
|
|
1250
|
-
// │ → buildSectionTree adopts
|
|
1251
|
-
// │ → emit one sectionNode wrapping the subtree
|
|
1176
|
+
// │ → buildSectionTree adopts ALL depth-0 children as its own
|
|
1177
|
+
// │ → emit one sectionNode wrapping the whole subtree
|
|
1252
1178
|
// │
|
|
1253
|
-
// └─ (C) depth-0 sections (
|
|
1254
|
-
// →
|
|
1179
|
+
// └─ (C) depth-0 sections (parentSectionPath=="")
|
|
1180
|
+
// → SKIP — already adopted by (B) via buildSectionTree
|
|
1255
1181
|
//
|
|
1256
1182
|
// Without a root section, depth-0 sections are emitted directly.
|
|
1257
1183
|
//
|
|
@@ -1274,15 +1200,6 @@ function buildSidebarRootChildren(ctx, scopeSegs, scopePrefix, changelogScopePre
|
|
|
1274
1200
|
if (hasOwningApiReference(s, scopeSegs) || isNestedApiPackage(s, scopeSegs)) {
|
|
1275
1201
|
continue;
|
|
1276
1202
|
}
|
|
1277
|
-
// Skip apiPackage segments that share their section path with an
|
|
1278
|
-
// apiReference sibling (skipUrlSlug structural wrappers). Their
|
|
1279
|
-
// children are already claimed by the apiReference via DFS ordering.
|
|
1280
|
-
if (type === "apiPackage") {
|
|
1281
|
-
const hasApiRefSibling = ordered.some((sib) => sib.seg.section === sec && metaStr(sib.seg.metadata, "type") === "apiReference");
|
|
1282
|
-
if (hasApiRefSibling) {
|
|
1283
|
-
continue;
|
|
1284
|
-
}
|
|
1285
|
-
}
|
|
1286
1203
|
if (type === "tabRoot" && metaBool(s.seg.metadata, "landingPage") === true) {
|
|
1287
1204
|
continue;
|
|
1288
1205
|
}
|
|
@@ -1315,19 +1232,13 @@ function buildSidebarRootChildren(ctx, scopeSegs, scopePrefix, changelogScopePre
|
|
|
1315
1232
|
}
|
|
1316
1233
|
// (C) Depth-0 or orphaned sections — emit at root unless already
|
|
1317
1234
|
// adopted by a root section (B).
|
|
1318
|
-
const depth = metaNum(s.seg.metadata, "sidebarDepth");
|
|
1319
1235
|
const parent = parentSectionPath(sec);
|
|
1320
|
-
const isRootLevel =
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
//
|
|
1324
|
-
//
|
|
1325
|
-
|
|
1326
|
-
// Sections with sidebarDepth>0 are nested children that SHOULD
|
|
1327
|
-
// be adopted, so they must be skipped to avoid duplication.
|
|
1328
|
-
// Sections without sidebarDepth (old data) are also skipped —
|
|
1329
|
-
// they rely on path-based hierarchy in buildSectionTree.
|
|
1330
|
-
if (isRootLevel && hasRootSection && sec !== "" && depth !== 0) {
|
|
1236
|
+
const isRootLevel = parent === "" || (!sectionPaths.has(parent) && nearestExistingAncestor(sec, sectionPaths) === "");
|
|
1237
|
+
// Skip depth-0 sections already adopted by the root section wrapper (B),
|
|
1238
|
+
// but NOT structural types with sec="" (skip-slug). buildSectionTree
|
|
1239
|
+
// filters out sec="" segments (line 1249), so they wouldn't be adopted
|
|
1240
|
+
// and must be emitted here directly.
|
|
1241
|
+
if (isRootLevel && hasRootSection && sec !== "") {
|
|
1331
1242
|
continue;
|
|
1332
1243
|
}
|
|
1333
1244
|
if (isRootLevel) {
|
|
@@ -1428,6 +1339,11 @@ function groupSidebarRootChildren(ctx, children) {
|
|
|
1428
1339
|
flushRun();
|
|
1429
1340
|
out.push(child);
|
|
1430
1341
|
}
|
|
1342
|
+
else if (child.type === "changelog") {
|
|
1343
|
+
flushRun();
|
|
1344
|
+
run.push(child);
|
|
1345
|
+
flushRun();
|
|
1346
|
+
}
|
|
1431
1347
|
else {
|
|
1432
1348
|
run.push(child);
|
|
1433
1349
|
}
|
|
@@ -1594,7 +1510,7 @@ function buildVariantedNode(ctx, variants, scopeSegs, scopePrefix) {
|
|
|
1594
1510
|
? asSlug(FernNavigation.slugjoin(scopePrefix, variantIndividualSlug))
|
|
1595
1511
|
: scopePrefix;
|
|
1596
1512
|
const metaPointsTo = metaStr(variant.metadata, "pointsTo");
|
|
1597
|
-
const children = buildSidebarRootChildren(ctx, variantSegs,
|
|
1513
|
+
const children = buildSidebarRootChildren(ctx, variantSegs, scopePrefix);
|
|
1598
1514
|
return {
|
|
1599
1515
|
type: "variant",
|
|
1600
1516
|
...withMetadataDefaults({
|
|
@@ -2130,14 +2046,6 @@ function buildProductGroup(ctx, products, scoped, rootSlug, skipSharedSectionMer
|
|
|
2130
2046
|
};
|
|
2131
2047
|
return node;
|
|
2132
2048
|
});
|
|
2133
|
-
// Cross-product canonical slug deduplication (V2 parity).
|
|
2134
|
-
// V2's migrator deduplicates pages across products via a global pageId map:
|
|
2135
|
-
// the first product to register a pageId wins, and subsequent products'
|
|
2136
|
-
// pages with the same pageId receive a canonicalSlug pointing to the
|
|
2137
|
-
// canonical (default-product) page. Without this, shared content that is
|
|
2138
|
-
// materialized under every product scope (e.g. merge-api-basics pages)
|
|
2139
|
-
// appears as separate sitemap entries per product.
|
|
2140
|
-
markCrossProductCanonicalSlugs(children);
|
|
2141
2049
|
return {
|
|
2142
2050
|
type: "productgroup",
|
|
2143
2051
|
id: ctx.nodeId("productgroup"),
|
|
@@ -2146,43 +2054,5 @@ function buildProductGroup(ctx, products, scoped, rootSlug, skipSharedSectionMer
|
|
|
2146
2054
|
children
|
|
2147
2055
|
};
|
|
2148
2056
|
}
|
|
2149
|
-
/**
|
|
2150
|
-
* Deduplicate pages across products using pageId as a content-identity key.
|
|
2151
|
-
* Pages with the same pageId in different products are the same content
|
|
2152
|
-
* materialized per-scope; the default product's slug becomes canonical and
|
|
2153
|
-
* non-default copies receive `canonicalSlug` so the sitemap collapses them.
|
|
2154
|
-
*
|
|
2155
|
-
* API leaf nodes (endpoints, websockets, etc.) are unaffected — `getPageId`
|
|
2156
|
-
* returns undefined for those types, so product-specific API surface is
|
|
2157
|
-
* never suppressed.
|
|
2158
|
-
*/
|
|
2159
|
-
function markCrossProductCanonicalSlugs(productNodes) {
|
|
2160
|
-
const pageIdToCanonical = new Map();
|
|
2161
|
-
// Process default product first so its slugs become the canonical targets.
|
|
2162
|
-
const sorted = [...productNodes].sort((a, b) => {
|
|
2163
|
-
if (a.default !== b.default) {
|
|
2164
|
-
return a.default ? -1 : 1;
|
|
2165
|
-
}
|
|
2166
|
-
return 0;
|
|
2167
|
-
});
|
|
2168
|
-
for (const product of sorted) {
|
|
2169
|
-
FernNavigation.traverseDF(product, (child) => {
|
|
2170
|
-
if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child)) {
|
|
2171
|
-
const pid = FernNavigation.getPageId(child);
|
|
2172
|
-
if (pid == null) {
|
|
2173
|
-
return;
|
|
2174
|
-
}
|
|
2175
|
-
const key = `pid:${pid}`;
|
|
2176
|
-
const canonical = pageIdToCanonical.get(key);
|
|
2177
|
-
if (canonical != null && !product.default) {
|
|
2178
|
-
child.canonicalSlug = canonical;
|
|
2179
|
-
}
|
|
2180
|
-
else if (canonical == null) {
|
|
2181
|
-
pageIdToCanonical.set(key, child.canonicalSlug ?? child.slug);
|
|
2182
|
-
}
|
|
2183
|
-
}
|
|
2184
|
-
});
|
|
2185
|
-
}
|
|
2186
|
-
}
|
|
2187
2057
|
// (root keeps the bare "root" id; it is the single tree root.)
|
|
2188
2058
|
//# sourceMappingURL=ledger-root-builder.js.map
|