@thallylabs/migrate 0.2.33 → 0.2.35
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 +40 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.js +569 -170
- package/dist/index.js.map +1 -1
- package/dist/{url-migration-_wVauqSg.d.ts → url-migration-peVzTLjL.d.ts} +14 -0
- package/dist/url-migration.d.ts +1 -1
- package/dist/url-migration.js +54 -22
- package/dist/url-migration.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -92,9 +92,48 @@ instead of silently dropping that API tab's reference. AsyncAPI has no Thally
|
|
|
92
92
|
renderer, so it always produces a clear warning naming the spec instead of
|
|
93
93
|
disappearing.
|
|
94
94
|
|
|
95
|
+
`METHOD /path` entries (`"POST /v2/keys.createKey"`) under a container that
|
|
96
|
+
binds an `openapi` spec become `api.groups` on the tab that spec binds to:
|
|
97
|
+
nested groups, icons and authored order are kept, and page entries stay in the
|
|
98
|
+
tab's own groups (a group that mixes pages and operations is split, so the
|
|
99
|
+
sidebar lists the API groups after the page groups). Operations written
|
|
100
|
+
straight under a tab form a group named after the tab, at their place among the
|
|
101
|
+
tab's own groups (each uninterrupted run is its own group, so authored order is
|
|
102
|
+
kept). Hidden groups (and containers under one), groups under access-restricted
|
|
103
|
+
containers, and groups left empty are left out. Groups nest at most 32 levels
|
|
104
|
+
deep, as the renderer follows no deeper: operations below that are not migrated,
|
|
105
|
+
and one warning says so. With `navigation.languages`, only the default language's
|
|
106
|
+
containers contribute groups; operation entries under another language are
|
|
107
|
+
reported, since its API tab is the default language's.
|
|
108
|
+
When several containers bind one spec to the same tab (one API tab per product,
|
|
109
|
+
say), their groups are concatenated in order and an operation already listed
|
|
110
|
+
earlier in that tab is dropped (the method is compared without case, the path
|
|
111
|
+
exactly), unless one of those containers lists no operation (Mintlify generated
|
|
112
|
+
every operation there), in which case the tab gets no `api.groups` and keeps the
|
|
113
|
+
generated, tag-grouped navigation. A container whose operations are all hidden or
|
|
114
|
+
access-restricted adds no groups but still counts as listing operations; when
|
|
115
|
+
every container bound to a tab is like that, the tab gets `navigation: false`
|
|
116
|
+
(the source sidebar showed none of those operations, so no generated list is
|
|
117
|
+
added). Operations dropped only for nesting too deep are Thally's limit, not the
|
|
118
|
+
author's choice: such a container counts as listing nothing, so the tab keeps
|
|
119
|
+
the generated navigation. Groups with the same title are not folded together. With `api.groups`
|
|
120
|
+
the authored list is the tab's navigation, so `navigation: false` is not
|
|
121
|
+
written. Operation entries with no `openapi` container above them, and every one in a
|
|
122
|
+
site imported by URL, cannot be placed: one warning says they were not added to the API navigation, and the
|
|
123
|
+
operations still have their pages. This is separate from a `directory`'s flat
|
|
124
|
+
operation list, which still only drives the endpoint redirects.
|
|
125
|
+
|
|
126
|
+
Mintlify `styling.eyebrows: "breadcrumbs"` becomes `eyebrow: "path"` (the full
|
|
127
|
+
group path above the page title); `"section"` or no setting writes nothing.
|
|
128
|
+
|
|
95
129
|
Page `openapi:` frontmatter with a spec prefix
|
|
96
130
|
(`openapi: "specs/openapi-b.yaml GET /widgets/{id}"`) is rewritten to where the
|
|
97
|
-
spec lands in the output (`/openapi-b.yaml GET /widgets/{id}`).
|
|
131
|
+
spec lands in the output (`/openapi-b.yaml GET /widgets/{id}`). As in Mintlify,
|
|
132
|
+
the prefix may name the spec by path, by file name, or by file name without its
|
|
133
|
+
extension (`v3-openapi GET /tasks`); a name that fits more than one spec is kept
|
|
134
|
+
and reported with its candidates. A declared spec that a published page names
|
|
135
|
+
but that cannot be its tab's spec is bound through a hidden tab, so the page
|
|
136
|
+
still renders its endpoint. A prefix naming
|
|
98
137
|
a spec that was not migrated is kept and reported. Manual API pages keep their
|
|
99
138
|
`api:` and `authMethod:` frontmatter, and `api.mdx.server` / `api.mdx.auth` map
|
|
100
139
|
into `docs.json`; invalid values are dropped with a warning.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { M as MigrationPage, a as MigrationAsset, b as MigrationNavigationGroup, R as RenderedMigrationFile, c as MigrationWarning, d as MigrationFetcher, e as MigrationPlatform, f as MigrationBundle, g as MigrationDocsConfig } from './url-migration-
|
|
2
|
-
export { h as MigrationCapture, i as MigrationCaptureProvider, j as MigrationCaptureState, k as MigrationCapturedAsset, l as MigrationEvidence, m as MigrationFetchRequest, n as MigrationFetchResponse, o as MigrationJournalAsset, p as MigrationNavigationOccurrence, q as MigrationNavigationTab, U as UrlMigrationCheckpoint, r as UrlMigrationCheckpointDelta, s as UrlMigrationIssue, t as UrlMigrationRecord, u as UrlMigrationRun, v as UrlMigrationRunOptions, w as UrlMigrationValidation, x as classifyMigrationResponse, y as mergeMigrationConfig, z as renderMigrationFiles, A as runUrlMigration, B as validateUrlMigration } from './url-migration-
|
|
1
|
+
import { M as MigrationPage, a as MigrationAsset, b as MigrationNavigationGroup, R as RenderedMigrationFile, c as MigrationWarning, d as MigrationFetcher, e as MigrationPlatform, f as MigrationBundle, g as MigrationDocsConfig } from './url-migration-peVzTLjL.js';
|
|
2
|
+
export { h as MigrationCapture, i as MigrationCaptureProvider, j as MigrationCaptureState, k as MigrationCapturedAsset, l as MigrationEvidence, m as MigrationFetchRequest, n as MigrationFetchResponse, o as MigrationJournalAsset, p as MigrationNavigationOccurrence, q as MigrationNavigationTab, U as UrlMigrationCheckpoint, r as UrlMigrationCheckpointDelta, s as UrlMigrationIssue, t as UrlMigrationRecord, u as UrlMigrationRun, v as UrlMigrationRunOptions, w as UrlMigrationValidation, x as classifyMigrationResponse, y as mergeMigrationConfig, z as renderMigrationFiles, A as runUrlMigration, B as validateUrlMigration } from './url-migration-peVzTLjL.js';
|
|
3
3
|
export { isPassiveSvg } from './svg-policy.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -182,6 +182,11 @@ interface MintlifyProjectionOptions {
|
|
|
182
182
|
* when the repository was not mapped with `--source-ref`.
|
|
183
183
|
*/
|
|
184
184
|
resolveSourceRef?: (repo: string) => Array<string | MigrationNavigationGroup> | null;
|
|
185
|
+
/**
|
|
186
|
+
* Set by a caller that binds the authored operation lists (`mintlifyNavigationApiReferences`
|
|
187
|
+
* `groups`) to their API tabs. Without it every "METHOD /path" entry is reported as not carried over.
|
|
188
|
+
*/
|
|
189
|
+
operationGroups?: boolean;
|
|
185
190
|
}
|
|
186
191
|
/** Preserve Mintlify's implicit `/section` route for section landing pages. */
|
|
187
192
|
declare function addMintlifyDirectoryRedirects(config: MigrationDocsConfig, pages: Array<MigrationPage>): MigrationDocsConfig;
|