@thallylabs/migrate 0.2.40 → 0.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +469 -59
- package/dist/index.js.map +1 -1
- package/dist/url-migration.d.ts +2 -2
- package/dist/url-migration.js +40 -6
- package/dist/url-migration.js.map +1 -1
- package/dist/{url-run-DFnoqEi-.d.ts → url-run-mSKFqHx_.d.ts} +33 -3
- package/package.json +1 -1
|
@@ -195,6 +195,25 @@ interface MigrationApiGroup {
|
|
|
195
195
|
icon?: string;
|
|
196
196
|
pages: Array<string | MigrationApiGroup>;
|
|
197
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Where an API tab sat in the source navigation, kept for the tab that lists its operations as pages: the tab as the projection
|
|
200
|
+
* built it (label, icon, presentation; no content) and the labels of the tabs before it, nearest first. Its API tab is not in
|
|
201
|
+
* `docsConfig.tabs` until the spec is bound (a remote spec only after its download), so the tab is put back after the first
|
|
202
|
+
* of those that is still there, or first when it had none.
|
|
203
|
+
*/
|
|
204
|
+
interface EndpointTabSlot {
|
|
205
|
+
tab: MigrationNavigationTab;
|
|
206
|
+
preceding: Array<string>;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* A spec whose `METHOD /path` operations docs.json lists, served by Mintlify as one generated page each at
|
|
210
|
+
* `/<directory>/<first tag>/<summary>`: they become pages of that tab rather than an API-bound tab's operations.
|
|
211
|
+
*/
|
|
212
|
+
interface EndpointPagesTarget {
|
|
213
|
+
/** Mintlify's output folder for the generated pages (no surrounding slashes); `api-reference`, Mintlify's default, when docs.json names none. */
|
|
214
|
+
directory: string;
|
|
215
|
+
slot?: EndpointTabSlot;
|
|
216
|
+
}
|
|
198
217
|
interface MigrationNavigationTab {
|
|
199
218
|
tab: string;
|
|
200
219
|
/** Reader-facing label when `tab` includes a version for unique identity. */
|
|
@@ -271,10 +290,14 @@ interface MigrationDocsConfig {
|
|
|
271
290
|
breadcrumbs?: boolean;
|
|
272
291
|
/** `path` shows the full group path above the title (Mintlify `styling.eyebrows: "breadcrumbs"`); the default shows the nearest group. */
|
|
273
292
|
eyebrow?: 'group' | 'path';
|
|
293
|
+
/** `true` renders straight quotes in prose as curly ones, as Mintlify does. */
|
|
294
|
+
smartQuotes?: boolean;
|
|
274
295
|
tabs: Array<MigrationNavigationTab>;
|
|
275
296
|
navigation?: {
|
|
276
297
|
/** How sibling documentation collections are presented to readers. */
|
|
277
298
|
display?: 'tabs' | 'dropdown';
|
|
299
|
+
/** `all` keeps the heading of a sidebar group named after its tab, as Mintlify does. */
|
|
300
|
+
groupHeadings?: 'all';
|
|
278
301
|
versions?: Array<{
|
|
279
302
|
label: string;
|
|
280
303
|
prefix: string;
|
|
@@ -414,13 +437,15 @@ interface MigrationPage {
|
|
|
414
437
|
icon?: string;
|
|
415
438
|
iconType?: 'regular' | 'solid' | 'outline' | 'brands';
|
|
416
439
|
description: string;
|
|
417
|
-
/** Keep SEO/search
|
|
418
|
-
descriptionPlacement?: 'body';
|
|
440
|
+
/** Keep the SEO/search summary while prose is already in the body, or comes from the bound operation. */
|
|
441
|
+
descriptionPlacement?: 'body' | 'operation';
|
|
419
442
|
badge?: string;
|
|
420
443
|
keywords: Array<string>;
|
|
421
444
|
mode?: 'default' | 'wide' | 'custom' | 'center' | 'home';
|
|
422
445
|
hidden?: boolean;
|
|
423
446
|
noindex?: boolean;
|
|
447
|
+
/** Mintlify frontmatter `url`: a web address the page's sidebar entry leaves for, which the page's own path redirects to. */
|
|
448
|
+
externalUrl?: string;
|
|
424
449
|
/**
|
|
425
450
|
* Reader access groups (frontmatter `groups`): trimmed, non-empty names the
|
|
426
451
|
* runtime matches exactly. The page needs a signed-in reader in one of them.
|
|
@@ -477,6 +502,8 @@ interface RemoteApiSpec {
|
|
|
477
502
|
groups?: Array<MigrationApiGroup>;
|
|
478
503
|
/** Every reference sharing the tab lists operations and none survives (all hidden or restricted): no endpoint navigation is generated for it. */
|
|
479
504
|
navigation?: false;
|
|
505
|
+
/** With `groups`: the listed operations become pages under this directory, in the tab's place, once the spec is downloaded. */
|
|
506
|
+
endpointPages?: EndpointPagesTarget;
|
|
480
507
|
/** Operation keys (`get /x`) only access-restricted pages document; marked `x-excluded` after download. */
|
|
481
508
|
withheldOperations?: Array<string>;
|
|
482
509
|
/** Operation keys published pages or docs.json also name; keeps a shared `$ref` path item public. */
|
|
@@ -494,11 +521,14 @@ interface MigrationBundle {
|
|
|
494
521
|
* Repository OpenAPI specs docs.json mounts under a `directory` (no surrounding slashes), with the tab each is bound to; the remote ones are in
|
|
495
522
|
* `remoteApiSpecs[].directories`. Present only alongside remote specs: a spec's id depends on which remote tabs bind ahead of it, so
|
|
496
523
|
* hydration links the local and remote mounts together once every download has settled, and the links stay as authored until then.
|
|
524
|
+
* `endpointOperations` marks a mount whose listed operations are already pages of the site (those operations, in listed order): its endpoint
|
|
525
|
+
* URLs are those pages, so nothing is redirected from them.
|
|
497
526
|
*/
|
|
498
527
|
localApiMounts?: Array<{
|
|
499
528
|
filename: string;
|
|
500
529
|
directory: string;
|
|
501
530
|
tab?: string;
|
|
531
|
+
endpointOperations?: Array<string>;
|
|
502
532
|
}>;
|
|
503
533
|
/** Customer-owned component source and registry; paths are repository-relative. */
|
|
504
534
|
componentFiles?: Array<RenderedMigrationFile>;
|
|
@@ -580,4 +610,4 @@ declare function validateUrlMigration(checkpoint: UrlMigrationCheckpoint, cancel
|
|
|
580
610
|
/** Run capture/conversion in bounded batches and resume only reconciled artifacts. */
|
|
581
611
|
declare function runUrlMigration(options: UrlMigrationRunOptions): Promise<UrlMigrationRun>;
|
|
582
612
|
|
|
583
|
-
export { runUrlMigration as A, validateUrlMigration as B, type MigrationPage as M, type RenderedMigrationFile as R, type UrlMigrationCheckpoint as U, type MigrationAsset as a, type MigrationNavigationGroup as b, type MigrationWarning as c, type MigrationFetcher as d, type MigrationPlatform as e, type MigrationBundle as f, type MigrationDocsConfig as g, type MigrationCapture as h, type MigrationCaptureProvider as i, type MigrationCaptureState as j, type MigrationCapturedAsset as k, type MigrationEvidence as l, type MigrationFetchRequest as m, type MigrationFetchResponse as n, type MigrationJournalAsset as o, type MigrationNavigationOccurrence as p, type MigrationNavigationTab as q, type UrlMigrationCheckpointDelta as r, type UrlMigrationIssue as s, type UrlMigrationRecord as t, type UrlMigrationRun as u, type UrlMigrationRunOptions as v, type UrlMigrationValidation as w, classifyMigrationResponse as x, mergeMigrationConfig as y, renderMigrationFiles as z };
|
|
613
|
+
export { runUrlMigration as A, validateUrlMigration as B, type EndpointTabSlot as E, type MigrationPage as M, type RenderedMigrationFile as R, type UrlMigrationCheckpoint as U, type MigrationAsset as a, type MigrationNavigationGroup as b, type MigrationWarning as c, type MigrationFetcher as d, type MigrationPlatform as e, type MigrationBundle as f, type MigrationDocsConfig as g, type MigrationCapture as h, type MigrationCaptureProvider as i, type MigrationCaptureState as j, type MigrationCapturedAsset as k, type MigrationEvidence as l, type MigrationFetchRequest as m, type MigrationFetchResponse as n, type MigrationJournalAsset as o, type MigrationNavigationOccurrence as p, type MigrationNavigationTab as q, type UrlMigrationCheckpointDelta as r, type UrlMigrationIssue as s, type UrlMigrationRecord as t, type UrlMigrationRun as u, type UrlMigrationRunOptions as v, type UrlMigrationValidation as w, classifyMigrationResponse as x, mergeMigrationConfig as y, renderMigrationFiles as z };
|