@thallylabs/migrate 0.2.4 → 0.2.6

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 CHANGED
@@ -19,3 +19,28 @@ Docusaurus sidebars are parsed as bounded, data-only JSON5—never executed—an
19
19
  preserve explicit categories, autogenerated slices, document IDs/slugs,
20
20
  positions, generated indexes, admonitions, tabs, and `static/` assets where
21
21
  supported.
22
+
23
+ ## Mintlify compatibility
24
+
25
+ Repository imports preserve named/default local JSX and TSX components and
26
+ their bounded, static local dependency graph in `src/mdx/migrated/`. Components
27
+ are registered through the customer-owned `src/mdx/custom-components.tsx`;
28
+ existing object-literal registries are merged rather than replaced. Repeated
29
+ imports of the same registry are idempotent. Registry shapes that cannot be
30
+ merged safely stop materialization with an actionable error.
31
+ Component output is namespaced by repository and documentation root, so
32
+ separate imports can preserve components with identical source filenames.
33
+
34
+ The importer creates a root redirect to the first available page in source
35
+ navigation when no root introduction exists, while retaining a separate custom
36
+ homepage and explicit redirects. Locale tags and recognized locale-prefixed
37
+ sections are normalized without discarding original URL redirects.
38
+
39
+ Simple interactive HTML blocks in MDX are extracted into client components.
40
+ The Mintlify `search-bar-entry` click trigger is mapped to Thally's search
41
+ shortcut. Markdown mixed inside interactive JSX, computed imports, namespace
42
+ imports, and external packages that require installation are reported for
43
+ manual review. Unsupported source is preserved, not replaced with empty stubs.
44
+ File paths cannot escape the documentation root; symlinks and oversized graphs
45
+ are rejected. This is compatibility analysis, **not a code sandbox**: imported
46
+ JavaScript executes when the developer builds or runs the resulting site.
package/dist/index.d.ts CHANGED
@@ -57,12 +57,19 @@ interface MigrationFooterConfig {
57
57
  }>;
58
58
  }
59
59
  interface MigrationDocsConfig {
60
+ markdown?: {
61
+ enabled?: boolean;
62
+ };
60
63
  tabs: Array<MigrationNavigationTab>;
61
64
  navigation?: {
62
65
  /** How sibling documentation collections are presented to readers. */
63
66
  display?: 'tabs' | 'dropdown';
64
67
  };
65
68
  theme?: 'default' | 'maple' | 'sharp' | 'minimal';
69
+ /** Icon set for content `icon` names; Mintlify's `icons.library` carries through. */
70
+ icons?: {
71
+ library?: 'lucide' | 'fontawesome' | 'tabler';
72
+ };
66
73
  banner?: MigrationBannerConfig;
67
74
  navbar?: MigrationNavbarConfig;
68
75
  footer?: MigrationFooterConfig;
@@ -141,6 +148,8 @@ interface MigrationBundle {
141
148
  platform: MigrationPlatform;
142
149
  pages: Array<MigrationPage>;
143
150
  assets: Array<MigrationAsset>;
151
+ /** Customer-owned component source and registry; paths are repository-relative. */
152
+ componentFiles?: Array<RenderedMigrationFile>;
144
153
  docsConfig: MigrationDocsConfig;
145
154
  site?: {
146
155
  name?: string;
@@ -276,6 +285,7 @@ declare function mergeMigrationConfig(existing: MigrationDocsConfig, incoming: M
276
285
  /** Materialize every canonical page, asset, and config as repository file changes. */
277
286
  declare function renderMigrationFiles(bundle: MigrationBundle, options?: {
278
287
  existingConfig?: MigrationDocsConfig;
288
+ existingComponentRegistry?: string;
279
289
  }): Array<RenderedMigrationFile>;
280
290
 
281
291
  /**