@fern-api/fdr-sdk 1.2.51-403b2eae4f → 1.2.51-c32b5f74fd
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/navigation/ledger-root-builder.js +2 -22
- package/dist/js/navigation/ledger-root-builder.js.map +1 -1
- package/dist/js/navigation/ledger-root-builder.mjs +2 -22
- package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
- package/dist/navigation/__test__/ledger-canonical-bugs.repro.test.js +12 -399
- package/dist/navigation/__test__/ledger-canonical-bugs.repro.test.js.map +1 -1
- package/dist/navigation/ledger-root-builder.js +10 -52
- package/dist/navigation/ledger-root-builder.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -12,15 +12,12 @@ import { buildFullRootFromSegments } from "../ledger-root-builder.js";
|
|
|
12
12
|
* metadata rather than the overview page's actual pageId. If they
|
|
13
13
|
* differ, the content-ID dedup key is lost.
|
|
14
14
|
*
|
|
15
|
-
* Bug 2
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* owns `.../payments` with its own overview) — i.e. the guard skips dedup
|
|
22
|
-
* only when the page owning the canonical slug does not share the
|
|
23
|
-
* container's content.
|
|
15
|
+
* Bug 2: Leaf apiPackage landing pages (no endpoint children) should
|
|
16
|
+
* canonicalize to their parent apiReference when they share the
|
|
17
|
+
* same overviewPageId. Container apiPackages (with endpoint
|
|
18
|
+
* children) keep separate sitemap entries — correct V2 behavior
|
|
19
|
+
* (e.g. BigCommerce). The ancestor guard is only skipped for
|
|
20
|
+
* leaf nodes.
|
|
24
21
|
*/
|
|
25
22
|
function pageRoute(opts) {
|
|
26
23
|
return {
|
|
@@ -88,23 +85,6 @@ const EXTENSIBILITY_PRODUCT = {
|
|
|
88
85
|
slug: "extensibility",
|
|
89
86
|
isDefault: false
|
|
90
87
|
};
|
|
91
|
-
/**
|
|
92
|
-
* The set of slugs that would appear in the rendered sitemap, mirroring
|
|
93
|
-
* `collectLocaleSitemapPages` in the bundle's sitemap route: every indexable
|
|
94
|
-
* page node, keyed by `canonicalSlug ?? slug` (so folded duplicates collapse).
|
|
95
|
-
* Used to assert the user-facing symptom (sitemap entry present/absent), not
|
|
96
|
-
* just the internal `canonicalSlug` field.
|
|
97
|
-
*/
|
|
98
|
-
function sitemapSlugs(root) {
|
|
99
|
-
const slugs = new Set();
|
|
100
|
-
for (const node of FernNavigation.NodeCollector.collect(root).indexablePageNodesWithAuth) {
|
|
101
|
-
if (node.authed) {
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
slugs.add(node.canonicalSlug ?? node.slug);
|
|
105
|
-
}
|
|
106
|
-
return slugs;
|
|
107
|
-
}
|
|
108
88
|
describe("Bug 2: apiPackage landing pages should canonicalize to parent apiReference", () => {
|
|
109
89
|
it("leaf apiPackage with same overviewPageId as parent apiReference canonicalizes up", () => {
|
|
110
90
|
// When an apiPackage is a leaf (no endpoint children) and shares the
|
|
@@ -172,14 +152,11 @@ describe("Bug 2: apiPackage landing pages should canonicalize to parent apiRefer
|
|
|
172
152
|
// Leaf apiPackage canonicalizes to parent because guard is skipped
|
|
173
153
|
expect(apiPkg?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
|
|
174
154
|
});
|
|
175
|
-
it("
|
|
176
|
-
//
|
|
177
|
-
//
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
// excluded from the sitemap). Having endpoint children is NOT sufficient
|
|
181
|
-
// reason to keep it separate; only a DIFFERENT owner of the parent slug
|
|
182
|
-
// is (see the BigCommerce case below).
|
|
155
|
+
it("apiPackage with endpoint children keeps separate sitemap entry even when sharing overviewPageId", () => {
|
|
156
|
+
// When an apiPackage has endpoint children (is a container, not a leaf)
|
|
157
|
+
// and shares the same overviewPageId as its parent apiReference, the
|
|
158
|
+
// ancestor guard is retained. Both parent and child are separate
|
|
159
|
+
// sitemap entries — correct V2 behavior (e.g. BigCommerce).
|
|
183
160
|
const SHARED_OVERVIEW = "cda-overview-page";
|
|
184
161
|
const API_DEF = "api-def-cda";
|
|
185
162
|
const root = buildFullRootFromSegments({
|
|
@@ -249,372 +226,8 @@ describe("Bug 2: apiPackage landing pages should canonicalize to parent apiRefer
|
|
|
249
226
|
expect(apiRef?.canonicalSlug).toBeUndefined();
|
|
250
227
|
const apiPkg = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/spaces"))?.node;
|
|
251
228
|
expect(apiPkg?.type).toBe("apiPackage");
|
|
252
|
-
// Container apiPackage
|
|
253
|
-
// slug AND shares the overview content, so this is a duplicate (matches V2).
|
|
254
|
-
expect(apiPkg?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
|
|
255
|
-
// Symptom-level: the folded collection page drops OUT of the sitemap and
|
|
256
|
-
// the API root remains (live: contentful ledger sitemap 895 -> 888).
|
|
257
|
-
const inSitemap = sitemapSlugs(root);
|
|
258
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
|
|
259
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api/spaces")).toBe(false);
|
|
260
|
-
});
|
|
261
|
-
it("container apiPackage stays separate when a DIFFERENT page owns the parent slug (BigCommerce, #12610)", () => {
|
|
262
|
-
// BigCommerce shape: a `section` owns the slug `.../payments` (its own
|
|
263
|
-
// overview), and a transparent apiReference at the SAME slug has a child
|
|
264
|
-
// apiPackage that shares the apiReference's beta overview. Folding the
|
|
265
|
-
// apiPackage into `.../payments` would point it at the section's unrelated
|
|
266
|
-
// overview, so it must remain a separate sitemap entry.
|
|
267
|
-
const SECTION_OVERVIEW = "payments-section-overview";
|
|
268
|
-
const BETA_OVERVIEW = "stored-instruments-beta-overview";
|
|
269
|
-
const API_DEF = "api-def-tokens";
|
|
270
|
-
const root = buildFullRootFromSegments({
|
|
271
|
-
basePath: "developers/docs",
|
|
272
|
-
title: "BigCommerce",
|
|
273
|
-
segments: [
|
|
274
|
-
segment({
|
|
275
|
-
segmentHash: "seg-root",
|
|
276
|
-
section: "",
|
|
277
|
-
sortOrder: 0,
|
|
278
|
-
metadata: { type: "tabRoot" }
|
|
279
|
-
}),
|
|
280
|
-
// The SECTION owns `.../payments` with its own overview.
|
|
281
|
-
segment({
|
|
282
|
-
segmentHash: "seg-payments",
|
|
283
|
-
section: "developer/payments",
|
|
284
|
-
sortOrder: 1,
|
|
285
|
-
metadata: {
|
|
286
|
-
type: "section",
|
|
287
|
-
title: "Payments",
|
|
288
|
-
childIndex: 0,
|
|
289
|
-
overviewPageId: SECTION_OVERVIEW
|
|
290
|
-
}
|
|
291
|
-
}),
|
|
292
|
-
// Transparent apiReference at the SAME slug, sharing the beta overview
|
|
293
|
-
// with its apiPackage child.
|
|
294
|
-
segment({
|
|
295
|
-
segmentHash: "seg-payments-apiref",
|
|
296
|
-
section: "developer/payments",
|
|
297
|
-
sortOrder: 2,
|
|
298
|
-
metadata: {
|
|
299
|
-
type: "apiReference",
|
|
300
|
-
title: "API Reference",
|
|
301
|
-
childIndex: 1,
|
|
302
|
-
apiDefinitionId: API_DEF,
|
|
303
|
-
overviewPageId: BETA_OVERVIEW
|
|
304
|
-
}
|
|
305
|
-
}),
|
|
306
|
-
segment({
|
|
307
|
-
segmentHash: "seg-payments-stored",
|
|
308
|
-
section: "developer/payments/stored-instruments",
|
|
309
|
-
sortOrder: 3,
|
|
310
|
-
metadata: {
|
|
311
|
-
type: "apiPackage",
|
|
312
|
-
title: "Stored Instruments (Beta)",
|
|
313
|
-
childIndex: 0,
|
|
314
|
-
apiDefinitionId: API_DEF,
|
|
315
|
-
overviewPageId: BETA_OVERVIEW
|
|
316
|
-
}
|
|
317
|
-
})
|
|
318
|
-
],
|
|
319
|
-
navBySegment: new Map([
|
|
320
|
-
[
|
|
321
|
-
"seg-payments",
|
|
322
|
-
[
|
|
323
|
-
pageRoute({
|
|
324
|
-
fullPath: "developer/payments",
|
|
325
|
-
title: "Payments Overview",
|
|
326
|
-
pageId: SECTION_OVERVIEW,
|
|
327
|
-
isOverview: true
|
|
328
|
-
})
|
|
329
|
-
]
|
|
330
|
-
],
|
|
331
|
-
[
|
|
332
|
-
"seg-payments-stored",
|
|
333
|
-
[
|
|
334
|
-
endpointRoute({
|
|
335
|
-
fullPath: "developer/payments/stored-instruments/create-instrument",
|
|
336
|
-
title: "Create Instrument",
|
|
337
|
-
endpointId: "create-instrument",
|
|
338
|
-
apiDefinitionId: API_DEF
|
|
339
|
-
})
|
|
340
|
-
]
|
|
341
|
-
]
|
|
342
|
-
])
|
|
343
|
-
});
|
|
344
|
-
FernNavigation.utils.mutableUpdatePointsTo(root);
|
|
345
|
-
const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
|
|
346
|
-
const stored = slugMap.get(FernNavigation.Slug("developers/docs/developer/payments/stored-instruments"))?.node;
|
|
347
|
-
expect(stored?.type).toBe("apiPackage");
|
|
348
|
-
// A DIFFERENT page (the section) owns `.../payments`, so the container
|
|
349
|
-
// must NOT fold into it — stays a separate sitemap entry.
|
|
350
|
-
expect(stored?.canonicalSlug).toBeUndefined();
|
|
351
|
-
// Symptom-level: the container keeps its own sitemap entry, and the
|
|
352
|
-
// section's own slug is still present (no regression to #12610).
|
|
353
|
-
const inSitemap = sitemapSlugs(root);
|
|
354
|
-
expect(inSitemap.has("developers/docs/developer/payments/stored-instruments")).toBe(true);
|
|
355
|
-
expect(inSitemap.has("developers/docs/developer/payments")).toBe(true);
|
|
356
|
-
});
|
|
357
|
-
it("container apiPackage with its OWN unique overviewPageId stays a separate sitemap entry (no over-folding)", () => {
|
|
358
|
-
// Guard against over-folding: a container that does NOT share its parent's
|
|
359
|
-
// overview has independent content and must keep its own canonical page.
|
|
360
|
-
const PARENT_OVERVIEW = "cda-overview-page";
|
|
361
|
-
const OWN_OVERVIEW = "spaces-own-overview-page";
|
|
362
|
-
const API_DEF = "api-def-cda";
|
|
363
|
-
const root = buildFullRootFromSegments({
|
|
364
|
-
basePath: "developers/docs",
|
|
365
|
-
title: "Contentful",
|
|
366
|
-
segments: [
|
|
367
|
-
segment({ segmentHash: "seg-root", section: "", sortOrder: 0, metadata: { type: "tabRoot" } }),
|
|
368
|
-
segment({
|
|
369
|
-
segmentHash: "seg-cda",
|
|
370
|
-
section: "references/content-delivery-api",
|
|
371
|
-
sortOrder: 1,
|
|
372
|
-
metadata: {
|
|
373
|
-
type: "apiReference",
|
|
374
|
-
title: "Content Delivery API",
|
|
375
|
-
childIndex: 0,
|
|
376
|
-
apiDefinitionId: API_DEF,
|
|
377
|
-
overviewPageId: PARENT_OVERVIEW
|
|
378
|
-
}
|
|
379
|
-
}),
|
|
380
|
-
segment({
|
|
381
|
-
segmentHash: "seg-cda-spaces",
|
|
382
|
-
section: "references/content-delivery-api/spaces",
|
|
383
|
-
sortOrder: 2,
|
|
384
|
-
metadata: {
|
|
385
|
-
type: "apiPackage",
|
|
386
|
-
title: "Spaces",
|
|
387
|
-
childIndex: 0,
|
|
388
|
-
apiDefinitionId: API_DEF,
|
|
389
|
-
overviewPageId: OWN_OVERVIEW
|
|
390
|
-
}
|
|
391
|
-
})
|
|
392
|
-
],
|
|
393
|
-
navBySegment: new Map([
|
|
394
|
-
[
|
|
395
|
-
"seg-cda",
|
|
396
|
-
[
|
|
397
|
-
pageRoute({
|
|
398
|
-
fullPath: "references/content-delivery-api",
|
|
399
|
-
title: "Content Delivery API Overview",
|
|
400
|
-
pageId: PARENT_OVERVIEW,
|
|
401
|
-
isOverview: true
|
|
402
|
-
})
|
|
403
|
-
]
|
|
404
|
-
],
|
|
405
|
-
[
|
|
406
|
-
"seg-cda-spaces",
|
|
407
|
-
[
|
|
408
|
-
endpointRoute({
|
|
409
|
-
fullPath: "references/content-delivery-api/spaces/get-space",
|
|
410
|
-
title: "Get a space",
|
|
411
|
-
endpointId: "get-space",
|
|
412
|
-
apiDefinitionId: API_DEF
|
|
413
|
-
})
|
|
414
|
-
]
|
|
415
|
-
]
|
|
416
|
-
])
|
|
417
|
-
});
|
|
418
|
-
FernNavigation.utils.mutableUpdatePointsTo(root);
|
|
419
|
-
const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
|
|
420
|
-
const apiPkg = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/spaces"))?.node;
|
|
421
|
-
expect(apiPkg?.type).toBe("apiPackage");
|
|
422
|
-
// Unique overview → not a duplicate → keeps its own canonical + sitemap entry.
|
|
229
|
+
// Container apiPackage does NOT canonicalize — ancestor guard applies
|
|
423
230
|
expect(apiPkg?.canonicalSlug).toBeUndefined();
|
|
424
|
-
const inSitemap = sitemapSlugs(root);
|
|
425
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
|
|
426
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api/spaces")).toBe(true);
|
|
427
|
-
});
|
|
428
|
-
it("multiple sibling collection apiPackages sharing the apiReference overview all fold out of the sitemap (contentful 7-page symptom)", () => {
|
|
429
|
-
const SHARED_OVERVIEW = "cda-overview-page";
|
|
430
|
-
const API_DEF = "api-def-cda";
|
|
431
|
-
const root = buildFullRootFromSegments({
|
|
432
|
-
basePath: "developers/docs",
|
|
433
|
-
title: "Contentful",
|
|
434
|
-
segments: [
|
|
435
|
-
segment({ segmentHash: "seg-root", section: "", sortOrder: 0, metadata: { type: "tabRoot" } }),
|
|
436
|
-
segment({
|
|
437
|
-
segmentHash: "seg-cda",
|
|
438
|
-
section: "references/content-delivery-api",
|
|
439
|
-
sortOrder: 1,
|
|
440
|
-
metadata: {
|
|
441
|
-
type: "apiReference",
|
|
442
|
-
title: "Content Delivery API",
|
|
443
|
-
childIndex: 0,
|
|
444
|
-
apiDefinitionId: API_DEF,
|
|
445
|
-
overviewPageId: SHARED_OVERVIEW
|
|
446
|
-
}
|
|
447
|
-
}),
|
|
448
|
-
segment({
|
|
449
|
-
segmentHash: "seg-spaces",
|
|
450
|
-
section: "references/content-delivery-api/spaces",
|
|
451
|
-
sortOrder: 2,
|
|
452
|
-
metadata: {
|
|
453
|
-
type: "apiPackage",
|
|
454
|
-
title: "Spaces",
|
|
455
|
-
childIndex: 0,
|
|
456
|
-
apiDefinitionId: API_DEF,
|
|
457
|
-
overviewPageId: SHARED_OVERVIEW
|
|
458
|
-
}
|
|
459
|
-
}),
|
|
460
|
-
segment({
|
|
461
|
-
segmentHash: "seg-entries",
|
|
462
|
-
section: "references/content-delivery-api/entries",
|
|
463
|
-
sortOrder: 3,
|
|
464
|
-
metadata: {
|
|
465
|
-
type: "apiPackage",
|
|
466
|
-
title: "Entries",
|
|
467
|
-
childIndex: 1,
|
|
468
|
-
apiDefinitionId: API_DEF,
|
|
469
|
-
overviewPageId: SHARED_OVERVIEW
|
|
470
|
-
}
|
|
471
|
-
})
|
|
472
|
-
],
|
|
473
|
-
navBySegment: new Map([
|
|
474
|
-
[
|
|
475
|
-
"seg-cda",
|
|
476
|
-
[
|
|
477
|
-
pageRoute({
|
|
478
|
-
fullPath: "references/content-delivery-api",
|
|
479
|
-
title: "Content Delivery API Overview",
|
|
480
|
-
pageId: SHARED_OVERVIEW,
|
|
481
|
-
isOverview: true
|
|
482
|
-
})
|
|
483
|
-
]
|
|
484
|
-
],
|
|
485
|
-
[
|
|
486
|
-
"seg-spaces",
|
|
487
|
-
[
|
|
488
|
-
endpointRoute({
|
|
489
|
-
fullPath: "references/content-delivery-api/spaces/get-space",
|
|
490
|
-
title: "Get a space",
|
|
491
|
-
endpointId: "get-space",
|
|
492
|
-
apiDefinitionId: API_DEF
|
|
493
|
-
})
|
|
494
|
-
]
|
|
495
|
-
],
|
|
496
|
-
[
|
|
497
|
-
"seg-entries",
|
|
498
|
-
[
|
|
499
|
-
endpointRoute({
|
|
500
|
-
fullPath: "references/content-delivery-api/entries/get-entry",
|
|
501
|
-
title: "Get an entry",
|
|
502
|
-
endpointId: "get-entry",
|
|
503
|
-
apiDefinitionId: API_DEF
|
|
504
|
-
})
|
|
505
|
-
]
|
|
506
|
-
]
|
|
507
|
-
])
|
|
508
|
-
});
|
|
509
|
-
FernNavigation.utils.mutableUpdatePointsTo(root);
|
|
510
|
-
const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
|
|
511
|
-
const spaces = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/spaces"))?.node;
|
|
512
|
-
const entries = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/entries"))?.node;
|
|
513
|
-
expect(spaces?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
|
|
514
|
-
expect(entries?.canonicalSlug).toBe("developers/docs/references/content-delivery-api");
|
|
515
|
-
const inSitemap = sitemapSlugs(root);
|
|
516
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
|
|
517
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api/spaces")).toBe(false);
|
|
518
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api/entries")).toBe(false);
|
|
519
|
-
});
|
|
520
|
-
it("nested sub-apiPackage folds to its content-owning ancestor, not the top apiReference", () => {
|
|
521
|
-
// The fold target is the NEAREST page that owns the shared overview: a
|
|
522
|
-
// sub-apiPackage sharing its parent apiPackage's overview folds to that
|
|
523
|
-
// parent (taxonomy), while the parent — owning a different overview than
|
|
524
|
-
// the apiReference — stays its own entry.
|
|
525
|
-
const CDA_OVERVIEW = "cda-overview";
|
|
526
|
-
const TAXONOMY_OVERVIEW = "taxonomy-overview";
|
|
527
|
-
const API_DEF = "api-def-cda";
|
|
528
|
-
const root = buildFullRootFromSegments({
|
|
529
|
-
basePath: "developers/docs",
|
|
530
|
-
title: "Contentful",
|
|
531
|
-
segments: [
|
|
532
|
-
segment({ segmentHash: "seg-root", section: "", sortOrder: 0, metadata: { type: "tabRoot" } }),
|
|
533
|
-
segment({
|
|
534
|
-
segmentHash: "seg-cda",
|
|
535
|
-
section: "references/content-delivery-api",
|
|
536
|
-
sortOrder: 1,
|
|
537
|
-
metadata: {
|
|
538
|
-
type: "apiReference",
|
|
539
|
-
title: "Content Delivery API",
|
|
540
|
-
childIndex: 0,
|
|
541
|
-
apiDefinitionId: API_DEF,
|
|
542
|
-
overviewPageId: CDA_OVERVIEW
|
|
543
|
-
}
|
|
544
|
-
}),
|
|
545
|
-
segment({
|
|
546
|
-
segmentHash: "seg-tax",
|
|
547
|
-
section: "references/content-delivery-api/taxonomy",
|
|
548
|
-
sortOrder: 2,
|
|
549
|
-
metadata: {
|
|
550
|
-
type: "apiPackage",
|
|
551
|
-
title: "Taxonomy",
|
|
552
|
-
childIndex: 0,
|
|
553
|
-
apiDefinitionId: API_DEF,
|
|
554
|
-
overviewPageId: TAXONOMY_OVERVIEW
|
|
555
|
-
}
|
|
556
|
-
}),
|
|
557
|
-
segment({
|
|
558
|
-
segmentHash: "seg-concepts",
|
|
559
|
-
section: "references/content-delivery-api/taxonomy/concepts",
|
|
560
|
-
sortOrder: 3,
|
|
561
|
-
metadata: {
|
|
562
|
-
type: "apiPackage",
|
|
563
|
-
title: "Concepts",
|
|
564
|
-
childIndex: 0,
|
|
565
|
-
apiDefinitionId: API_DEF,
|
|
566
|
-
overviewPageId: TAXONOMY_OVERVIEW
|
|
567
|
-
}
|
|
568
|
-
})
|
|
569
|
-
],
|
|
570
|
-
navBySegment: new Map([
|
|
571
|
-
[
|
|
572
|
-
"seg-cda",
|
|
573
|
-
[
|
|
574
|
-
pageRoute({
|
|
575
|
-
fullPath: "references/content-delivery-api",
|
|
576
|
-
title: "CDA Overview",
|
|
577
|
-
pageId: CDA_OVERVIEW,
|
|
578
|
-
isOverview: true
|
|
579
|
-
})
|
|
580
|
-
]
|
|
581
|
-
],
|
|
582
|
-
[
|
|
583
|
-
"seg-tax",
|
|
584
|
-
[
|
|
585
|
-
pageRoute({
|
|
586
|
-
fullPath: "references/content-delivery-api/taxonomy",
|
|
587
|
-
title: "Taxonomy Overview",
|
|
588
|
-
pageId: TAXONOMY_OVERVIEW,
|
|
589
|
-
isOverview: true
|
|
590
|
-
})
|
|
591
|
-
]
|
|
592
|
-
],
|
|
593
|
-
[
|
|
594
|
-
"seg-concepts",
|
|
595
|
-
[
|
|
596
|
-
endpointRoute({
|
|
597
|
-
fullPath: "references/content-delivery-api/taxonomy/concepts/get-concept",
|
|
598
|
-
title: "Get a concept",
|
|
599
|
-
endpointId: "get-concept",
|
|
600
|
-
apiDefinitionId: API_DEF
|
|
601
|
-
})
|
|
602
|
-
]
|
|
603
|
-
]
|
|
604
|
-
])
|
|
605
|
-
});
|
|
606
|
-
FernNavigation.utils.mutableUpdatePointsTo(root);
|
|
607
|
-
const slugMap = FernNavigation.NodeCollector.collect(root).getSlugMapWithParents();
|
|
608
|
-
const taxonomy = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/taxonomy"))?.node;
|
|
609
|
-
const concepts = slugMap.get(FernNavigation.Slug("developers/docs/references/content-delivery-api/taxonomy/concepts"))?.node;
|
|
610
|
-
// Taxonomy owns a different overview than the apiReference → stays separate.
|
|
611
|
-
expect(taxonomy?.canonicalSlug).toBeUndefined();
|
|
612
|
-
// Concepts shares taxonomy's overview → folds to taxonomy (nearest owner), not CDA.
|
|
613
|
-
expect(concepts?.canonicalSlug).toBe("developers/docs/references/content-delivery-api/taxonomy");
|
|
614
|
-
const inSitemap = sitemapSlugs(root);
|
|
615
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api")).toBe(true);
|
|
616
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api/taxonomy")).toBe(true);
|
|
617
|
-
expect(inSitemap.has("developers/docs/references/content-delivery-api/taxonomy/concepts")).toBe(false);
|
|
618
231
|
});
|
|
619
232
|
});
|
|
620
233
|
describe("Bug 1: redirect destination should canonicalize back to redirect source", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-canonical-bugs.repro.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-canonical-bugs.repro.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ledger-canonical-bugs.repro.test.js","sourceRoot":"","sources":["../../../src/navigation/__test__/ledger-canonical-bugs.repro.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2215,38 +2215,6 @@ function buildLandingPage(ctx, scopeSegs) {
|
|
|
2215
2215
|
const landingSegment = scopeSegs.find((s) => metaStr(s.seg.metadata, "type") === "tabRoot" && metaBool(s.seg.metadata, "landingPage") === true);
|
|
2216
2216
|
return routeToLandingPage(ctx, landingSegment?.nav.find((route) => route.type === "markdown"));
|
|
2217
2217
|
}
|
|
2218
|
-
/**
|
|
2219
|
-
* Map each slug to the content-ID dedup keys of the FIRST page node that owns it
|
|
2220
|
-
* (in DFS order). Used to decide whether folding a container (apiPackage with
|
|
2221
|
-
* endpoint children) into an ancestor slug is legitimate.
|
|
2222
|
-
*
|
|
2223
|
-
* A container should only canonicalize up to an ancestor slug when the page that
|
|
2224
|
-
* actually renders at that slug shares the container's overview content (same
|
|
2225
|
-
* `overviewPageId`/`pageId`) — matching V2, which dedups purely on content keys.
|
|
2226
|
-
* When a DIFFERENT page owns the ancestor slug (e.g. BigCommerce: a `section`
|
|
2227
|
-
* owns `.../payments` while an apiPackage under it has its own beta overview),
|
|
2228
|
-
* folding would point the container at unrelated content, so it must stay a
|
|
2229
|
-
* separate sitemap entry.
|
|
2230
|
-
*/
|
|
2231
|
-
function buildSlugOwnerContentKeys(roots) {
|
|
2232
|
-
const slugOwnerKeys = new Map();
|
|
2233
|
-
for (const root of roots) {
|
|
2234
|
-
FernNavigation.traverseDF(root, (child, parents) => {
|
|
2235
|
-
if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child) && !slugOwnerKeys.has(child.slug)) {
|
|
2236
|
-
slugOwnerKeys.set(child.slug, new Set(crossVersionDedupKeys(child, parents)));
|
|
2237
|
-
}
|
|
2238
|
-
});
|
|
2239
|
-
}
|
|
2240
|
-
return slugOwnerKeys;
|
|
2241
|
-
}
|
|
2242
|
-
/** Does the page that owns `canonical` share a content-ID key (`pid:`) with `keys`? */
|
|
2243
|
-
function canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys) {
|
|
2244
|
-
const ownerKeys = slugOwnerKeys.get(canonical);
|
|
2245
|
-
if (ownerKeys == null) {
|
|
2246
|
-
return false;
|
|
2247
|
-
}
|
|
2248
|
-
return keys.some((key) => key.startsWith("pid:") && ownerKeys.has(key));
|
|
2249
|
-
}
|
|
2250
2218
|
/**
|
|
2251
2219
|
* Within a single version (or unversioned scope), deduplicate pages that
|
|
2252
2220
|
* share the same content-identity key (endpointId, pageId, etc.).
|
|
@@ -2260,7 +2228,6 @@ function canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys) {
|
|
|
2260
2228
|
*/
|
|
2261
2229
|
function markWithinScopeCanonicalSlugs(scopeNode) {
|
|
2262
2230
|
const keyToCanonical = new Map();
|
|
2263
|
-
const slugOwnerKeys = buildSlugOwnerContentKeys([scopeNode]);
|
|
2264
2231
|
FernNavigation.traverseDF(scopeNode, (child, parents) => {
|
|
2265
2232
|
if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child)) {
|
|
2266
2233
|
const keys = crossVersionDedupKeys(child, parents);
|
|
@@ -2268,17 +2235,12 @@ function markWithinScopeCanonicalSlugs(scopeNode) {
|
|
|
2268
2235
|
for (const key of keys) {
|
|
2269
2236
|
const canonical = keyToCanonical.get(key);
|
|
2270
2237
|
if (canonical != null && canonical !== child.slug) {
|
|
2271
|
-
// Skip dedup when the canonical slug is a proper ancestor
|
|
2272
|
-
// child's slug AND the child
|
|
2273
|
-
//
|
|
2274
|
-
//
|
|
2275
|
-
//
|
|
2276
|
-
|
|
2277
|
-
// it keeps the container separate when a different page owns that
|
|
2278
|
-
// slug (BigCommerce: a `section` owns `.../payments`).
|
|
2279
|
-
if (child.slug.startsWith(canonical + "/") &&
|
|
2280
|
-
FernNavigation.getChildren(child).length > 0 &&
|
|
2281
|
-
!canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys)) {
|
|
2238
|
+
// Skip dedup when the canonical slug is a proper ancestor
|
|
2239
|
+
// of the child's slug AND the child has children of its own
|
|
2240
|
+
// (it's a container like apiPackage with endpoints, not a
|
|
2241
|
+
// leaf-level landing page). Container nodes at different URL
|
|
2242
|
+
// depths are separate sitemap entries, not duplicates.
|
|
2243
|
+
if (child.slug.startsWith(canonical + "/") && FernNavigation.getChildren(child).length > 0) {
|
|
2282
2244
|
continue;
|
|
2283
2245
|
}
|
|
2284
2246
|
child.canonicalSlug = canonical;
|
|
@@ -2316,7 +2278,6 @@ function markCrossVersionCanonicalSlugs(versionNodes) {
|
|
|
2316
2278
|
}
|
|
2317
2279
|
return 0;
|
|
2318
2280
|
});
|
|
2319
|
-
const slugOwnerKeys = buildSlugOwnerContentKeys(sorted);
|
|
2320
2281
|
for (const version of sorted) {
|
|
2321
2282
|
FernNavigation.traverseDF(version, (child, parents) => {
|
|
2322
2283
|
if (FernNavigation.hasMetadata(child) && FernNavigation.isPage(child)) {
|
|
@@ -2325,13 +2286,10 @@ function markCrossVersionCanonicalSlugs(versionNodes) {
|
|
|
2325
2286
|
for (const key of keys) {
|
|
2326
2287
|
const canonical = keyToCanonical.get(key);
|
|
2327
2288
|
if (canonical != null && !version.default) {
|
|
2328
|
-
// Skip dedup when the canonical slug is a proper ancestor
|
|
2329
|
-
// child's slug AND the child
|
|
2330
|
-
//
|
|
2331
|
-
|
|
2332
|
-
if (child.slug.startsWith(canonical + "/") &&
|
|
2333
|
-
FernNavigation.getChildren(child).length > 0 &&
|
|
2334
|
-
!canonicalOwnerSharesContent(slugOwnerKeys, canonical, keys)) {
|
|
2289
|
+
// Skip dedup when the canonical slug is a proper ancestor
|
|
2290
|
+
// of the child's slug AND the child has children (container
|
|
2291
|
+
// nodes at different URL depths, not duplicates).
|
|
2292
|
+
if (child.slug.startsWith(canonical + "/") && FernNavigation.getChildren(child).length > 0) {
|
|
2335
2293
|
continue;
|
|
2336
2294
|
}
|
|
2337
2295
|
child.canonicalSlug = canonical;
|