@sudosandwich/limps-headless 0.1.3

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.
Files changed (335) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +339 -0
  3. package/bin/limps-headless +2 -0
  4. package/dist/analysis/index.d.ts +6 -0
  5. package/dist/analysis/index.d.ts.map +1 -0
  6. package/dist/analysis/index.js +6 -0
  7. package/dist/analysis/index.js.map +1 -0
  8. package/dist/analysis/ir/build-ir.d.ts +10 -0
  9. package/dist/analysis/ir/build-ir.d.ts.map +1 -0
  10. package/dist/analysis/ir/build-ir.js +102 -0
  11. package/dist/analysis/ir/build-ir.js.map +1 -0
  12. package/dist/analysis/ir/types.d.ts +44 -0
  13. package/dist/analysis/ir/types.d.ts.map +1 -0
  14. package/dist/analysis/ir/types.js +2 -0
  15. package/dist/analysis/ir/types.js.map +1 -0
  16. package/dist/analysis/module-graph.d.ts +20 -0
  17. package/dist/analysis/module-graph.d.ts.map +1 -0
  18. package/dist/analysis/module-graph.js +104 -0
  19. package/dist/analysis/module-graph.js.map +1 -0
  20. package/dist/analysis/passes/behavior-evidence.d.ts +9 -0
  21. package/dist/analysis/passes/behavior-evidence.d.ts.map +1 -0
  22. package/dist/analysis/passes/behavior-evidence.js +80 -0
  23. package/dist/analysis/passes/behavior-evidence.js.map +1 -0
  24. package/dist/analysis/passes/import-evidence.d.ts +3 -0
  25. package/dist/analysis/passes/import-evidence.d.ts.map +1 -0
  26. package/dist/analysis/passes/import-evidence.js +58 -0
  27. package/dist/analysis/passes/import-evidence.js.map +1 -0
  28. package/dist/analysis/passes/index.d.ts +15 -0
  29. package/dist/analysis/passes/index.d.ts.map +1 -0
  30. package/dist/analysis/passes/index.js +21 -0
  31. package/dist/analysis/passes/index.js.map +1 -0
  32. package/dist/analysis/passes/jsx-evidence.d.ts +8 -0
  33. package/dist/analysis/passes/jsx-evidence.d.ts.map +1 -0
  34. package/dist/analysis/passes/jsx-evidence.js +149 -0
  35. package/dist/analysis/passes/jsx-evidence.js.map +1 -0
  36. package/dist/analysis/ts-program.d.ts +12 -0
  37. package/dist/analysis/ts-program.d.ts.map +1 -0
  38. package/dist/analysis/ts-program.js +59 -0
  39. package/dist/analysis/ts-program.js.map +1 -0
  40. package/dist/analyzer/disambiguator.d.ts +20 -0
  41. package/dist/analyzer/disambiguator.d.ts.map +1 -0
  42. package/dist/analyzer/disambiguator.js +83 -0
  43. package/dist/analyzer/disambiguator.js.map +1 -0
  44. package/dist/analyzer/index.d.ts +26 -0
  45. package/dist/analyzer/index.d.ts.map +1 -0
  46. package/dist/analyzer/index.js +68 -0
  47. package/dist/analyzer/index.js.map +1 -0
  48. package/dist/analyzer/parser.d.ts +23 -0
  49. package/dist/analyzer/parser.d.ts.map +1 -0
  50. package/dist/analyzer/parser.js +58 -0
  51. package/dist/analyzer/parser.js.map +1 -0
  52. package/dist/analyzer/patterns.d.ts +42 -0
  53. package/dist/analyzer/patterns.d.ts.map +1 -0
  54. package/dist/analyzer/patterns.js +206 -0
  55. package/dist/analyzer/patterns.js.map +1 -0
  56. package/dist/analyzer/props.d.ts +16 -0
  57. package/dist/analyzer/props.d.ts.map +1 -0
  58. package/dist/analyzer/props.js +235 -0
  59. package/dist/analyzer/props.js.map +1 -0
  60. package/dist/analyzer/rules/checkbox-switch-toggle.d.ts +10 -0
  61. package/dist/analyzer/rules/checkbox-switch-toggle.d.ts.map +1 -0
  62. package/dist/analyzer/rules/checkbox-switch-toggle.js +26 -0
  63. package/dist/analyzer/rules/checkbox-switch-toggle.js.map +1 -0
  64. package/dist/analyzer/rules/dialog-popover.d.ts +10 -0
  65. package/dist/analyzer/rules/dialog-popover.d.ts.map +1 -0
  66. package/dist/analyzer/rules/dialog-popover.js +25 -0
  67. package/dist/analyzer/rules/dialog-popover.js.map +1 -0
  68. package/dist/analyzer/rules/index.d.ts +24 -0
  69. package/dist/analyzer/rules/index.d.ts.map +1 -0
  70. package/dist/analyzer/rules/index.js +51 -0
  71. package/dist/analyzer/rules/index.js.map +1 -0
  72. package/dist/analyzer/rules/tooltip-hovercard.d.ts +10 -0
  73. package/dist/analyzer/rules/tooltip-hovercard.d.ts.map +1 -0
  74. package/dist/analyzer/rules/tooltip-hovercard.js +21 -0
  75. package/dist/analyzer/rules/tooltip-hovercard.js.map +1 -0
  76. package/dist/analyzer/scorer.d.ts +12 -0
  77. package/dist/analyzer/scorer.d.ts.map +1 -0
  78. package/dist/analyzer/scorer.js +171 -0
  79. package/dist/analyzer/scorer.js.map +1 -0
  80. package/dist/analyzer/weights.d.ts +28 -0
  81. package/dist/analyzer/weights.d.ts.map +1 -0
  82. package/dist/analyzer/weights.js +40 -0
  83. package/dist/analyzer/weights.js.map +1 -0
  84. package/dist/audit/analyses/migration.d.ts +42 -0
  85. package/dist/audit/analyses/migration.d.ts.map +1 -0
  86. package/dist/audit/analyses/migration.js +91 -0
  87. package/dist/audit/analyses/migration.js.map +1 -0
  88. package/dist/audit/discover-components.d.ts +7 -0
  89. package/dist/audit/discover-components.d.ts.map +1 -0
  90. package/dist/audit/discover-components.js +486 -0
  91. package/dist/audit/discover-components.js.map +1 -0
  92. package/dist/audit/generate-report.d.ts +28 -0
  93. package/dist/audit/generate-report.d.ts.map +1 -0
  94. package/dist/audit/generate-report.js +333 -0
  95. package/dist/audit/generate-report.js.map +1 -0
  96. package/dist/audit/index.d.ts +8 -0
  97. package/dist/audit/index.d.ts.map +1 -0
  98. package/dist/audit/index.js +8 -0
  99. package/dist/audit/index.js.map +1 -0
  100. package/dist/audit/run-audit.d.ts +33 -0
  101. package/dist/audit/run-audit.d.ts.map +1 -0
  102. package/dist/audit/run-audit.js +287 -0
  103. package/dist/audit/run-audit.js.map +1 -0
  104. package/dist/audit/types.d.ts +135 -0
  105. package/dist/audit/types.d.ts.map +1 -0
  106. package/dist/audit/types.js +5 -0
  107. package/dist/audit/types.js.map +1 -0
  108. package/dist/cache/index.d.ts +110 -0
  109. package/dist/cache/index.d.ts.map +1 -0
  110. package/dist/cache/index.js +176 -0
  111. package/dist/cache/index.js.map +1 -0
  112. package/dist/cache/storage.d.ts +73 -0
  113. package/dist/cache/storage.d.ts.map +1 -0
  114. package/dist/cache/storage.js +176 -0
  115. package/dist/cache/storage.js.map +1 -0
  116. package/dist/cache/ttl.d.ts +62 -0
  117. package/dist/cache/ttl.d.ts.map +1 -0
  118. package/dist/cache/ttl.js +96 -0
  119. package/dist/cache/ttl.js.map +1 -0
  120. package/dist/cli/commands/analyze.d.ts +6 -0
  121. package/dist/cli/commands/analyze.d.ts.map +1 -0
  122. package/dist/cli/commands/analyze.js +43 -0
  123. package/dist/cli/commands/analyze.js.map +1 -0
  124. package/dist/cli/commands/audit.d.ts +6 -0
  125. package/dist/cli/commands/audit.d.ts.map +1 -0
  126. package/dist/cli/commands/audit.js +73 -0
  127. package/dist/cli/commands/audit.js.map +1 -0
  128. package/dist/cli/commands/check-updates.d.ts +6 -0
  129. package/dist/cli/commands/check-updates.d.ts.map +1 -0
  130. package/dist/cli/commands/check-updates.js +34 -0
  131. package/dist/cli/commands/check-updates.js.map +1 -0
  132. package/dist/cli/commands/diff.d.ts +7 -0
  133. package/dist/cli/commands/diff.d.ts.map +1 -0
  134. package/dist/cli/commands/diff.js +48 -0
  135. package/dist/cli/commands/diff.js.map +1 -0
  136. package/dist/cli/commands/extract.d.ts +6 -0
  137. package/dist/cli/commands/extract.d.ts.map +1 -0
  138. package/dist/cli/commands/extract.js +42 -0
  139. package/dist/cli/commands/extract.js.map +1 -0
  140. package/dist/cli/commands/list.d.ts +6 -0
  141. package/dist/cli/commands/list.d.ts.map +1 -0
  142. package/dist/cli/commands/list.js +33 -0
  143. package/dist/cli/commands/list.js.map +1 -0
  144. package/dist/cli/flags.d.ts +9 -0
  145. package/dist/cli/flags.d.ts.map +1 -0
  146. package/dist/cli/flags.js +22 -0
  147. package/dist/cli/flags.js.map +1 -0
  148. package/dist/cli/index.d.ts +5 -0
  149. package/dist/cli/index.d.ts.map +1 -0
  150. package/dist/cli/index.js +40 -0
  151. package/dist/cli/index.js.map +1 -0
  152. package/dist/config.d.ts +19 -0
  153. package/dist/config.d.ts.map +1 -0
  154. package/dist/config.js +23 -0
  155. package/dist/config.js.map +1 -0
  156. package/dist/differ/hints.d.ts +21 -0
  157. package/dist/differ/hints.d.ts.map +1 -0
  158. package/dist/differ/hints.js +105 -0
  159. package/dist/differ/hints.js.map +1 -0
  160. package/dist/differ/index.d.ts +25 -0
  161. package/dist/differ/index.d.ts.map +1 -0
  162. package/dist/differ/index.js +115 -0
  163. package/dist/differ/index.js.map +1 -0
  164. package/dist/differ/props.d.ts +36 -0
  165. package/dist/differ/props.d.ts.map +1 -0
  166. package/dist/differ/props.js +210 -0
  167. package/dist/differ/props.js.map +1 -0
  168. package/dist/differ/severity.d.ts +31 -0
  169. package/dist/differ/severity.d.ts.map +1 -0
  170. package/dist/differ/severity.js +65 -0
  171. package/dist/differ/severity.js.map +1 -0
  172. package/dist/differ/types.d.ts +109 -0
  173. package/dist/differ/types.d.ts.map +1 -0
  174. package/dist/differ/types.js +5 -0
  175. package/dist/differ/types.js.map +1 -0
  176. package/dist/extractor/classifier.d.ts +30 -0
  177. package/dist/extractor/classifier.d.ts.map +1 -0
  178. package/dist/extractor/classifier.js +150 -0
  179. package/dist/extractor/classifier.js.map +1 -0
  180. package/dist/extractor/forward-ref.d.ts +28 -0
  181. package/dist/extractor/forward-ref.d.ts.map +1 -0
  182. package/dist/extractor/forward-ref.js +134 -0
  183. package/dist/extractor/forward-ref.js.map +1 -0
  184. package/dist/extractor/index.d.ts +25 -0
  185. package/dist/extractor/index.d.ts.map +1 -0
  186. package/dist/extractor/index.js +43 -0
  187. package/dist/extractor/index.js.map +1 -0
  188. package/dist/extractor/interface.d.ts +40 -0
  189. package/dist/extractor/interface.d.ts.map +1 -0
  190. package/dist/extractor/interface.js +233 -0
  191. package/dist/extractor/interface.js.map +1 -0
  192. package/dist/extractor/jsdoc.d.ts +24 -0
  193. package/dist/extractor/jsdoc.d.ts.map +1 -0
  194. package/dist/extractor/jsdoc.js +74 -0
  195. package/dist/extractor/jsdoc.js.map +1 -0
  196. package/dist/extractor/project.d.ts +17 -0
  197. package/dist/extractor/project.d.ts.map +1 -0
  198. package/dist/extractor/project.js +33 -0
  199. package/dist/extractor/project.js.map +1 -0
  200. package/dist/extractor/props.d.ts +24 -0
  201. package/dist/extractor/props.d.ts.map +1 -0
  202. package/dist/extractor/props.js +78 -0
  203. package/dist/extractor/props.js.map +1 -0
  204. package/dist/extractor/type-resolver.d.ts +32 -0
  205. package/dist/extractor/type-resolver.d.ts.map +1 -0
  206. package/dist/extractor/type-resolver.js +129 -0
  207. package/dist/extractor/type-resolver.js.map +1 -0
  208. package/dist/fetcher/index.d.ts +7 -0
  209. package/dist/fetcher/index.d.ts.map +1 -0
  210. package/dist/fetcher/index.js +7 -0
  211. package/dist/fetcher/index.js.map +1 -0
  212. package/dist/fetcher/npm-registry.d.ts +45 -0
  213. package/dist/fetcher/npm-registry.d.ts.map +1 -0
  214. package/dist/fetcher/npm-registry.js +217 -0
  215. package/dist/fetcher/npm-registry.js.map +1 -0
  216. package/dist/fetcher/unified-package.d.ts +27 -0
  217. package/dist/fetcher/unified-package.d.ts.map +1 -0
  218. package/dist/fetcher/unified-package.js +99 -0
  219. package/dist/fetcher/unified-package.js.map +1 -0
  220. package/dist/fetcher/unpkg.d.ts +20 -0
  221. package/dist/fetcher/unpkg.d.ts.map +1 -0
  222. package/dist/fetcher/unpkg.js +58 -0
  223. package/dist/fetcher/unpkg.js.map +1 -0
  224. package/dist/index.d.ts +18 -0
  225. package/dist/index.d.ts.map +1 -0
  226. package/dist/index.js +41 -0
  227. package/dist/index.js.map +1 -0
  228. package/dist/providers/base.d.ts +10 -0
  229. package/dist/providers/base.d.ts.map +1 -0
  230. package/dist/providers/base.js +80 -0
  231. package/dist/providers/base.js.map +1 -0
  232. package/dist/providers/index.d.ts +10 -0
  233. package/dist/providers/index.d.ts.map +1 -0
  234. package/dist/providers/index.js +10 -0
  235. package/dist/providers/index.js.map +1 -0
  236. package/dist/providers/interface.d.ts +56 -0
  237. package/dist/providers/interface.d.ts.map +1 -0
  238. package/dist/providers/interface.js +5 -0
  239. package/dist/providers/interface.js.map +1 -0
  240. package/dist/providers/radix-backend.d.ts +11 -0
  241. package/dist/providers/radix-backend.d.ts.map +1 -0
  242. package/dist/providers/radix-backend.js +107 -0
  243. package/dist/providers/radix-backend.js.map +1 -0
  244. package/dist/providers/radix.d.ts +6 -0
  245. package/dist/providers/radix.d.ts.map +1 -0
  246. package/dist/providers/radix.js +21 -0
  247. package/dist/providers/radix.js.map +1 -0
  248. package/dist/providers/registry.d.ts +17 -0
  249. package/dist/providers/registry.d.ts.map +1 -0
  250. package/dist/providers/registry.js +55 -0
  251. package/dist/providers/registry.js.map +1 -0
  252. package/dist/rules/engine.d.ts +4 -0
  253. package/dist/rules/engine.d.ts.map +1 -0
  254. package/dist/rules/engine.js +37 -0
  255. package/dist/rules/engine.js.map +1 -0
  256. package/dist/rules/index.d.ts +6 -0
  257. package/dist/rules/index.d.ts.map +1 -0
  258. package/dist/rules/index.js +6 -0
  259. package/dist/rules/index.js.map +1 -0
  260. package/dist/rules/predicates.d.ts +10 -0
  261. package/dist/rules/predicates.d.ts.map +1 -0
  262. package/dist/rules/predicates.js +93 -0
  263. package/dist/rules/predicates.js.map +1 -0
  264. package/dist/rules/rulesets/base-ui.d.ts +3 -0
  265. package/dist/rules/rulesets/base-ui.d.ts.map +1 -0
  266. package/dist/rules/rulesets/base-ui.js +65 -0
  267. package/dist/rules/rulesets/base-ui.js.map +1 -0
  268. package/dist/rules/rulesets/radix-legacy.d.ts +3 -0
  269. package/dist/rules/rulesets/radix-legacy.d.ts.map +1 -0
  270. package/dist/rules/rulesets/radix-legacy.js +38 -0
  271. package/dist/rules/rulesets/radix-legacy.js.map +1 -0
  272. package/dist/rules/types.d.ts +57 -0
  273. package/dist/rules/types.d.ts.map +1 -0
  274. package/dist/rules/types.js +2 -0
  275. package/dist/rules/types.js.map +1 -0
  276. package/dist/signatures/disambiguation.d.ts +30 -0
  277. package/dist/signatures/disambiguation.d.ts.map +1 -0
  278. package/dist/signatures/disambiguation.js +99 -0
  279. package/dist/signatures/disambiguation.js.map +1 -0
  280. package/dist/signatures/distinguishing.d.ts +29 -0
  281. package/dist/signatures/distinguishing.d.ts.map +1 -0
  282. package/dist/signatures/distinguishing.js +108 -0
  283. package/dist/signatures/distinguishing.js.map +1 -0
  284. package/dist/signatures/generator.d.ts +20 -0
  285. package/dist/signatures/generator.d.ts.map +1 -0
  286. package/dist/signatures/generator.js +147 -0
  287. package/dist/signatures/generator.js.map +1 -0
  288. package/dist/signatures/index.d.ts +10 -0
  289. package/dist/signatures/index.d.ts.map +1 -0
  290. package/dist/signatures/index.js +10 -0
  291. package/dist/signatures/index.js.map +1 -0
  292. package/dist/signatures/inference.d.ts +37 -0
  293. package/dist/signatures/inference.d.ts.map +1 -0
  294. package/dist/signatures/inference.js +132 -0
  295. package/dist/signatures/inference.js.map +1 -0
  296. package/dist/tools/analyze-component.d.ts +41 -0
  297. package/dist/tools/analyze-component.d.ts.map +1 -0
  298. package/dist/tools/analyze-component.js +274 -0
  299. package/dist/tools/analyze-component.js.map +1 -0
  300. package/dist/tools/check-updates.d.ts +33 -0
  301. package/dist/tools/check-updates.d.ts.map +1 -0
  302. package/dist/tools/check-updates.js +81 -0
  303. package/dist/tools/check-updates.js.map +1 -0
  304. package/dist/tools/diff-versions.d.ts +39 -0
  305. package/dist/tools/diff-versions.d.ts.map +1 -0
  306. package/dist/tools/diff-versions.js +78 -0
  307. package/dist/tools/diff-versions.js.map +1 -0
  308. package/dist/tools/extract-primitive.d.ts +50 -0
  309. package/dist/tools/extract-primitive.d.ts.map +1 -0
  310. package/dist/tools/extract-primitive.js +145 -0
  311. package/dist/tools/extract-primitive.js.map +1 -0
  312. package/dist/tools/generate-report.d.ts +29 -0
  313. package/dist/tools/generate-report.d.ts.map +1 -0
  314. package/dist/tools/generate-report.js +36 -0
  315. package/dist/tools/generate-report.js.map +1 -0
  316. package/dist/tools/index.d.ts +11 -0
  317. package/dist/tools/index.d.ts.map +1 -0
  318. package/dist/tools/index.js +11 -0
  319. package/dist/tools/index.js.map +1 -0
  320. package/dist/tools/list-primitives.d.ts +41 -0
  321. package/dist/tools/list-primitives.d.ts.map +1 -0
  322. package/dist/tools/list-primitives.js +74 -0
  323. package/dist/tools/list-primitives.js.map +1 -0
  324. package/dist/tools/run-audit.d.ts +43 -0
  325. package/dist/tools/run-audit.d.ts.map +1 -0
  326. package/dist/tools/run-audit.js +60 -0
  327. package/dist/tools/run-audit.js.map +1 -0
  328. package/dist/types/index.d.ts +143 -0
  329. package/dist/types/index.d.ts.map +1 -0
  330. package/dist/types/index.js +5 -0
  331. package/dist/types/index.js.map +1 -0
  332. package/docs/architecture.md +88 -0
  333. package/docs/providers.md +47 -0
  334. package/docs/tools.md +143 -0
  335. package/package.json +59 -0
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Type alias resolution and intersection merging.
3
+ * Handles complex type patterns in .d.ts files.
4
+ */
5
+ import { SyntaxKind } from 'ts-morph';
6
+ import { extractPropsFromInterface } from './props.js';
7
+ /**
8
+ * Props that should be filtered out as React internals.
9
+ * These are not useful for component analysis.
10
+ */
11
+ const REACT_INTERNAL_PROPS = new Set([
12
+ 'ref',
13
+ 'key',
14
+ // Internal event handlers from DOM
15
+ 'dangerouslySetInnerHTML',
16
+ ]);
17
+ /**
18
+ * Resolve a type alias to its underlying properties.
19
+ * Handles intersections, references to interfaces, and inline object types.
20
+ *
21
+ * @returns Array of RawProp or null if type not found
22
+ */
23
+ export function resolveTypeAlias(sourceFile, aliasName) {
24
+ // First try to find as a type alias
25
+ const typeAlias = sourceFile.getTypeAlias(aliasName);
26
+ if (typeAlias) {
27
+ return mergeIntersectionTypes(sourceFile, typeAlias);
28
+ }
29
+ // Fallback: try as interface
30
+ const iface = sourceFile.getInterface(aliasName);
31
+ if (iface) {
32
+ return extractPropsFromInterface(iface);
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Merge all parts of an intersection type into a single props array.
38
+ */
39
+ export function mergeIntersectionTypes(_sourceFile, typeAlias) {
40
+ const props = [];
41
+ const seenNames = new Set();
42
+ const type = typeAlias.getType();
43
+ // Get all properties from the resolved type
44
+ // ts-morph's type.getProperties() automatically resolves intersections
45
+ for (const prop of type.getProperties()) {
46
+ const name = prop.getName();
47
+ if (seenNames.has(name))
48
+ continue;
49
+ seenNames.add(name);
50
+ const declarations = prop.getDeclarations();
51
+ const propDecl = declarations[0];
52
+ if (!propDecl)
53
+ continue;
54
+ const propType = prop.getTypeAtLocation(propDecl);
55
+ const typeText = simplifyTypeText(propType.getText());
56
+ // Determine if optional
57
+ let isOptional = false;
58
+ if (propDecl.getKindName() === 'PropertySignature') {
59
+ isOptional =
60
+ propDecl.hasQuestionToken?.() ??
61
+ false;
62
+ }
63
+ else {
64
+ // Check if type includes undefined
65
+ isOptional = typeText.includes('undefined');
66
+ }
67
+ props.push({
68
+ name,
69
+ type: typeText,
70
+ required: !isOptional,
71
+ });
72
+ }
73
+ return props;
74
+ }
75
+ /**
76
+ * Resolve a type reference to its interface or type alias.
77
+ */
78
+ export function resolveTypeReference(sourceFile, typeName) {
79
+ // Try interface first
80
+ const iface = sourceFile.getInterface(typeName);
81
+ if (iface)
82
+ return iface;
83
+ // Try type alias
84
+ const typeAlias = sourceFile.getTypeAlias(typeName);
85
+ if (typeAlias)
86
+ return typeAlias;
87
+ return null;
88
+ }
89
+ /**
90
+ * Filter out React internal props.
91
+ * Keeps `children` as it's compositionally relevant.
92
+ */
93
+ export function filterReactInternals(props) {
94
+ return props.filter((p) => !REACT_INTERNAL_PROPS.has(p.name));
95
+ }
96
+ /**
97
+ * Simplify complex type text for readability.
98
+ */
99
+ function simplifyTypeText(text) {
100
+ return text
101
+ .replace(/React\.ReactNode/g, 'ReactNode')
102
+ .replace(/React\.ReactElement/g, 'ReactElement')
103
+ .replace(/React\.CSSProperties/g, 'CSSProperties')
104
+ .replace(/React\.HTMLAttributes<.*?>/g, 'HTMLAttributes')
105
+ .replace(/React\.ComponentPropsWithoutRef<.*?>/g, 'ComponentProps')
106
+ .replace(/React\.Ref<.*?>/g, 'Ref')
107
+ .replace(/React\.RefAttributes<.*?>/g, 'RefAttributes')
108
+ .replace(/import\(".*?"\)\./g, '');
109
+ }
110
+ /**
111
+ * Extract property names from an intersection type node.
112
+ * Useful for debugging and understanding type structure.
113
+ */
114
+ export function getIntersectionParts(typeAlias) {
115
+ const parts = [];
116
+ const typeNode = typeAlias.getTypeNode();
117
+ if (!typeNode)
118
+ return parts;
119
+ if (typeNode.getKind() === SyntaxKind.IntersectionType) {
120
+ for (const child of typeNode.forEachChildAsArray()) {
121
+ parts.push(child.getText());
122
+ }
123
+ }
124
+ else {
125
+ parts.push(typeNode.getText());
126
+ }
127
+ return parts;
128
+ }
129
+ //# sourceMappingURL=type-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-resolver.js","sourceRoot":"","sources":["../../src/extractor/type-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Type fetcher module for fetching Radix type definitions.
3
+ */
4
+ export { resolveVersion, resolvePackageVersion, listPrimitives, primitiveToPackage, packageToPrimitive, fetchPackageInfo, KNOWN_PRIMITIVES, type KnownPrimitive, } from './npm-registry.js';
5
+ export { detectPackageSource, resolvePackage, fetchTypesWithFallback, type PackageSource, type ResolvedPackage, } from './unified-package.js';
6
+ export { fetchTypes, fetchFromUnifiedPackage, buildTypesUrl, fetchPackageFile, } from './unpkg.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetcher/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Type fetcher module for fetching Radix type definitions.
3
+ */
4
+ export { resolveVersion, resolvePackageVersion, listPrimitives, primitiveToPackage, packageToPrimitive, fetchPackageInfo, KNOWN_PRIMITIVES, } from './npm-registry.js';
5
+ export { detectPackageSource, resolvePackage, fetchTypesWithFallback, } from './unified-package.js';
6
+ export { fetchTypes, fetchFromUnifiedPackage, buildTypesUrl, fetchPackageFile, } from './unpkg.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fetcher/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,sBAAsB,GAGvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * npm registry client for fetching Radix package metadata.
3
+ */
4
+ import type { PackageInfo, PrimitiveInfo } from '../types/index.js';
5
+ /**
6
+ * Known Radix UI primitives - used as fallback and for validation
7
+ */
8
+ export declare const KNOWN_PRIMITIVES: readonly ["accordion", "alert-dialog", "aspect-ratio", "avatar", "checkbox", "collapsible", "context-menu", "dialog", "dropdown-menu", "form", "hover-card", "label", "menubar", "navigation-menu", "popover", "progress", "radio-group", "scroll-area", "select", "separator", "slider", "slot", "switch", "tabs", "toast", "toggle", "toggle-group", "toolbar", "tooltip", "visually-hidden"];
9
+ export type KnownPrimitive = (typeof KNOWN_PRIMITIVES)[number];
10
+ export declare function isVersionAtLeast(version: string, minVersion: string): boolean;
11
+ /**
12
+ * Convert primitive name to package name.
13
+ * @example "dialog" -> "@radix-ui/react-dialog"
14
+ */
15
+ export declare function primitiveToPackage(primitive: string): string;
16
+ /**
17
+ * Extract primitive name from package name.
18
+ * @example "@radix-ui/react-dialog" -> "dialog"
19
+ */
20
+ export declare function packageToPrimitive(packageName: string): string;
21
+ /**
22
+ * Fetch package info from npm registry.
23
+ */
24
+ export declare function fetchPackageInfo(packageName: string): Promise<PackageInfo>;
25
+ /**
26
+ * Resolve a version hint for a specific package.
27
+ */
28
+ export declare function resolvePackageVersion(packageName: string, versionHint?: string): Promise<string>;
29
+ /**
30
+ * Resolve a version hint (e.g., "latest", "^1.0.0") to an actual version.
31
+ */
32
+ export declare function resolveVersion(primitive: string, versionHint?: string): Promise<string>;
33
+ /**
34
+ * List all available Radix primitives.
35
+ * Returns known primitives with their package names.
36
+ */
37
+ export declare function listPrimitives(_version?: string): Promise<PrimitiveInfo[]>;
38
+ /**
39
+ * Check if the unified "radix-ui" package is available and meets the minimum version.
40
+ */
41
+ export declare function queryUnifiedPackage(minVersion?: string): Promise<{
42
+ available: boolean;
43
+ version?: string;
44
+ }>;
45
+ //# sourceMappingURL=npm-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../src/fetcher/npm-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWpE;;GAEG;AACH,eAAO,MAAM,gBAAgB,iYA+BnB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiC/D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAkBD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAiB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,GAAE,MAAiB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,EAAE,CAAC,CAU1B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAWnD"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * npm registry client for fetching Radix package metadata.
3
+ */
4
+ const NPM_REGISTRY_URL = 'https://registry.npmjs.org';
5
+ const RADIX_SCOPE = '@radix-ui';
6
+ const UNIFIED_PACKAGE_NAME = 'radix-ui';
7
+ const UNIFIED_MIN_VERSION = '1.4.3';
8
+ // Cache for version resolution (short TTL in memory)
9
+ const versionCache = new Map();
10
+ const VERSION_CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
11
+ /**
12
+ * Known Radix UI primitives - used as fallback and for validation
13
+ */
14
+ export const KNOWN_PRIMITIVES = [
15
+ 'accordion',
16
+ 'alert-dialog',
17
+ 'aspect-ratio',
18
+ 'avatar',
19
+ 'checkbox',
20
+ 'collapsible',
21
+ 'context-menu',
22
+ 'dialog',
23
+ 'dropdown-menu',
24
+ 'form',
25
+ 'hover-card',
26
+ 'label',
27
+ 'menubar',
28
+ 'navigation-menu',
29
+ 'popover',
30
+ 'progress',
31
+ 'radio-group',
32
+ 'scroll-area',
33
+ 'select',
34
+ 'separator',
35
+ 'slider',
36
+ 'slot',
37
+ 'switch',
38
+ 'tabs',
39
+ 'toast',
40
+ 'toggle',
41
+ 'toggle-group',
42
+ 'toolbar',
43
+ 'tooltip',
44
+ 'visually-hidden',
45
+ ];
46
+ function parseVersion(version) {
47
+ const [core, prerelease] = version.split('-');
48
+ const [major, minor, patch] = core.split('.').map((part) => Number(part));
49
+ return {
50
+ major: Number.isFinite(major) ? major : 0,
51
+ minor: Number.isFinite(minor) ? minor : 0,
52
+ patch: Number.isFinite(patch) ? patch : 0,
53
+ prerelease,
54
+ };
55
+ }
56
+ function compareVersions(a, b) {
57
+ const left = parseVersion(a);
58
+ const right = parseVersion(b);
59
+ if (left.major !== right.major)
60
+ return left.major > right.major ? 1 : -1;
61
+ if (left.minor !== right.minor)
62
+ return left.minor > right.minor ? 1 : -1;
63
+ if (left.patch !== right.patch)
64
+ return left.patch > right.patch ? 1 : -1;
65
+ if (left.prerelease && !right.prerelease)
66
+ return -1;
67
+ if (!left.prerelease && right.prerelease)
68
+ return 1;
69
+ return 0;
70
+ }
71
+ export function isVersionAtLeast(version, minVersion) {
72
+ return compareVersions(version, minVersion) >= 0;
73
+ }
74
+ /**
75
+ * Convert primitive name to package name.
76
+ * @example "dialog" -> "@radix-ui/react-dialog"
77
+ */
78
+ export function primitiveToPackage(primitive) {
79
+ const normalized = primitive.toLowerCase().replace(/\s+/g, '-');
80
+ return `${RADIX_SCOPE}/react-${normalized}`;
81
+ }
82
+ /**
83
+ * Extract primitive name from package name.
84
+ * @example "@radix-ui/react-dialog" -> "dialog"
85
+ */
86
+ export function packageToPrimitive(packageName) {
87
+ const match = packageName.match(/@radix-ui\/react-(.+)/);
88
+ if (!match) {
89
+ throw new Error(`Invalid Radix package name: ${packageName}`);
90
+ }
91
+ return match[1];
92
+ }
93
+ /**
94
+ * Fetch package info from npm registry.
95
+ */
96
+ export async function fetchPackageInfo(packageName) {
97
+ const url = `${NPM_REGISTRY_URL}/${encodeURIComponent(packageName)}`;
98
+ const response = await fetch(url, {
99
+ headers: {
100
+ Accept: 'application/json',
101
+ },
102
+ });
103
+ if (!response.ok) {
104
+ if (response.status === 404) {
105
+ throw new Error(`Package not found: ${packageName}`);
106
+ }
107
+ throw new Error(`Failed to fetch package info: ${response.status} ${response.statusText}`);
108
+ }
109
+ const data = (await response.json());
110
+ return {
111
+ name: data.name,
112
+ version: data['dist-tags'].latest,
113
+ distTags: data['dist-tags'],
114
+ };
115
+ }
116
+ function resolveVersionFromPackageInfo(packageInfo, versionHint) {
117
+ if (versionHint === 'latest' || versionHint === '*') {
118
+ return packageInfo.distTags.latest;
119
+ }
120
+ if (packageInfo.distTags[versionHint]) {
121
+ return packageInfo.distTags[versionHint];
122
+ }
123
+ if (versionHint.startsWith('^') || versionHint.startsWith('~')) {
124
+ return versionHint.slice(1);
125
+ }
126
+ return versionHint;
127
+ }
128
+ /**
129
+ * Resolve a version hint for a specific package.
130
+ */
131
+ export async function resolvePackageVersion(packageName, versionHint = 'latest') {
132
+ const cacheKey = `${packageName}@${versionHint}`;
133
+ const cached = versionCache.get(cacheKey);
134
+ if (cached && Date.now() - cached.timestamp < VERSION_CACHE_TTL_MS) {
135
+ return cached.version;
136
+ }
137
+ const packageInfo = await fetchPackageInfo(packageName);
138
+ const version = resolveVersionFromPackageInfo(packageInfo, versionHint);
139
+ versionCache.set(cacheKey, { version, timestamp: Date.now() });
140
+ return version;
141
+ }
142
+ /**
143
+ * Resolve a version hint (e.g., "latest", "^1.0.0") to an actual version.
144
+ */
145
+ export async function resolveVersion(primitive, versionHint = 'latest') {
146
+ const packageName = primitiveToPackage(primitive);
147
+ return resolvePackageVersion(packageName, versionHint);
148
+ }
149
+ /**
150
+ * List all available Radix primitives.
151
+ * Returns known primitives with their package names.
152
+ */
153
+ export async function listPrimitives(_version) {
154
+ // For now, return known primitives
155
+ // In a full implementation, we could query the radix-ui meta package
156
+ // or npm search API for all @radix-ui/react-* packages
157
+ return KNOWN_PRIMITIVES.map((name) => ({
158
+ name,
159
+ package: primitiveToPackage(name),
160
+ description: getPrimitiveDescription(name),
161
+ }));
162
+ }
163
+ /**
164
+ * Check if the unified "radix-ui" package is available and meets the minimum version.
165
+ */
166
+ export async function queryUnifiedPackage(minVersion = UNIFIED_MIN_VERSION) {
167
+ try {
168
+ const packageInfo = await fetchPackageInfo(UNIFIED_PACKAGE_NAME);
169
+ const version = resolveVersionFromPackageInfo(packageInfo, 'latest');
170
+ return {
171
+ available: isVersionAtLeast(version, minVersion),
172
+ version,
173
+ };
174
+ }
175
+ catch (error) {
176
+ return { available: false };
177
+ }
178
+ }
179
+ /**
180
+ * Get a brief description for a primitive.
181
+ */
182
+ function getPrimitiveDescription(primitive) {
183
+ const descriptions = {
184
+ accordion: 'A vertically stacked set of interactive headings',
185
+ 'alert-dialog': 'A modal dialog that interrupts the user',
186
+ 'aspect-ratio': 'Displays content within a desired ratio',
187
+ avatar: 'An image element with a fallback',
188
+ checkbox: 'A control that allows the user to toggle between states',
189
+ collapsible: 'An interactive component which expands/collapses content',
190
+ 'context-menu': 'A menu displayed on right-click',
191
+ dialog: 'A modal dialog overlay',
192
+ 'dropdown-menu': 'A menu displayed from a trigger button',
193
+ form: 'Form primitives with built-in validation',
194
+ 'hover-card': 'A popup that appears on hover',
195
+ label: 'Renders an accessible label for form controls',
196
+ menubar: 'A visually persistent menu common in desktop apps',
197
+ 'navigation-menu': 'A collection of links for site navigation',
198
+ popover: 'A popup that appears from a trigger',
199
+ progress: 'Displays an indicator showing task completion',
200
+ 'radio-group': 'A set of checkable buttons—only one can be checked',
201
+ 'scroll-area': 'Augments native scroll with custom scrollbars',
202
+ select: 'A dropdown list of options',
203
+ separator: 'Visually separates content',
204
+ slider: 'An input for selecting a value from a range',
205
+ slot: 'Merges its props onto its immediate child',
206
+ switch: 'A control that toggles between on and off',
207
+ tabs: 'A set of layered content panels',
208
+ toast: 'A succinct message displayed temporarily',
209
+ toggle: 'A two-state button',
210
+ 'toggle-group': 'A set of two-state buttons',
211
+ toolbar: 'A container for grouping a set of controls',
212
+ tooltip: 'A popup that displays information on hover',
213
+ 'visually-hidden': 'Hides content visually but keeps it accessible',
214
+ };
215
+ return descriptions[primitive] || '';
216
+ }
217
+ //# sourceMappingURL=npm-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../../src/fetcher/npm-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Unified Radix UI package support.
3
+ */
4
+ export type PackageSource = 'individual' | 'unified';
5
+ export interface ResolvedPackage {
6
+ source: PackageSource;
7
+ packageName: string;
8
+ primitive: string;
9
+ version: string;
10
+ typesPath: string;
11
+ }
12
+ /**
13
+ * Detect if the unified package is available.
14
+ */
15
+ export declare function detectPackageSource(_primitive: string): Promise<PackageSource>;
16
+ /**
17
+ * Resolve package metadata for a primitive and version hint.
18
+ */
19
+ export declare function resolvePackage(primitive: string, versionHint: string): Promise<ResolvedPackage>;
20
+ /**
21
+ * Fetch type definitions with unified-package fallback handling.
22
+ */
23
+ export declare function fetchTypesWithFallback(primitive: string, versionHint: string): Promise<{
24
+ resolved: ResolvedPackage;
25
+ content: string;
26
+ }>;
27
+ //# sourceMappingURL=unified-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-package.d.ts","sourceRoot":"","sources":["../../src/fetcher/unified-package.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAgDD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAGxB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAkC1B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqCzD"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Unified Radix UI package support.
3
+ */
4
+ import { isVersionAtLeast, primitiveToPackage, queryUnifiedPackage, resolvePackageVersion, } from './npm-registry.js';
5
+ import { fetchFromUnifiedPackage, fetchTypes } from './unpkg.js';
6
+ const UNIFIED_PACKAGE_NAME = 'radix-ui';
7
+ const UNIFIED_MIN_VERSION = '1.4.3';
8
+ const SOURCE_CACHE_TTL_MS = 60 * 60 * 1000;
9
+ const unifiedTypesPathOverrides = {};
10
+ let unifiedAvailabilityCache = null;
11
+ function normalizePrimitive(primitive) {
12
+ return primitive.toLowerCase().replace(/\s+/g, '-');
13
+ }
14
+ function getUnifiedTypesPath(primitive) {
15
+ const normalized = normalizePrimitive(primitive);
16
+ return (unifiedTypesPathOverrides[normalized] ??
17
+ `dist/${normalized}.d.ts`);
18
+ }
19
+ async function getUnifiedAvailability() {
20
+ if (unifiedAvailabilityCache &&
21
+ Date.now() - unifiedAvailabilityCache.timestamp < SOURCE_CACHE_TTL_MS) {
22
+ return {
23
+ available: unifiedAvailabilityCache.available,
24
+ version: unifiedAvailabilityCache.version,
25
+ };
26
+ }
27
+ const result = await queryUnifiedPackage(UNIFIED_MIN_VERSION);
28
+ unifiedAvailabilityCache = {
29
+ available: result.available,
30
+ version: result.version,
31
+ timestamp: Date.now(),
32
+ };
33
+ return result;
34
+ }
35
+ /**
36
+ * Detect if the unified package is available.
37
+ */
38
+ export async function detectPackageSource(_primitive) {
39
+ const unified = await getUnifiedAvailability();
40
+ return unified.available ? 'unified' : 'individual';
41
+ }
42
+ /**
43
+ * Resolve package metadata for a primitive and version hint.
44
+ */
45
+ export async function resolvePackage(primitive, versionHint) {
46
+ const normalized = normalizePrimitive(primitive);
47
+ const unified = await getUnifiedAvailability();
48
+ if (unified.available) {
49
+ const unifiedVersion = await resolvePackageVersion(UNIFIED_PACKAGE_NAME, versionHint);
50
+ if (isVersionAtLeast(unifiedVersion, UNIFIED_MIN_VERSION)) {
51
+ return {
52
+ source: 'unified',
53
+ packageName: UNIFIED_PACKAGE_NAME,
54
+ primitive: normalized,
55
+ version: unifiedVersion,
56
+ typesPath: getUnifiedTypesPath(normalized),
57
+ };
58
+ }
59
+ }
60
+ const individualPackage = primitiveToPackage(normalized);
61
+ const individualVersion = await resolvePackageVersion(individualPackage, versionHint);
62
+ return {
63
+ source: 'individual',
64
+ packageName: individualPackage,
65
+ primitive: normalized,
66
+ version: individualVersion,
67
+ typesPath: 'dist/index.d.ts',
68
+ };
69
+ }
70
+ /**
71
+ * Fetch type definitions with unified-package fallback handling.
72
+ */
73
+ export async function fetchTypesWithFallback(primitive, versionHint) {
74
+ const normalized = normalizePrimitive(primitive);
75
+ let resolved = await resolvePackage(normalized, versionHint);
76
+ try {
77
+ const content = resolved.source === 'unified'
78
+ ? await fetchFromUnifiedPackage(resolved.primitive, resolved.version, resolved.typesPath)
79
+ : await fetchTypes(resolved.primitive, resolved.version);
80
+ return { resolved, content };
81
+ }
82
+ catch (error) {
83
+ if (resolved.source !== 'unified') {
84
+ throw error;
85
+ }
86
+ const fallbackPackage = primitiveToPackage(normalized);
87
+ const fallbackVersion = await resolvePackageVersion(fallbackPackage, versionHint);
88
+ const content = await fetchTypes(normalized, fallbackVersion);
89
+ resolved = {
90
+ source: 'individual',
91
+ packageName: fallbackPackage,
92
+ primitive: normalized,
93
+ version: fallbackVersion,
94
+ typesPath: 'dist/index.d.ts',
95
+ };
96
+ return { resolved, content };
97
+ }
98
+ }
99
+ //# sourceMappingURL=unified-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-package.js","sourceRoot":"","sources":["../../src/fetcher/unified-package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * unpkg CDN client for fetching type definitions.
3
+ */
4
+ /**
5
+ * Build the URL for a package's type definitions on unpkg.
6
+ */
7
+ export declare function buildTypesUrl(packageName: string, version: string): string;
8
+ /**
9
+ * Fetch type definitions for a Radix primitive from unpkg.
10
+ */
11
+ export declare function fetchTypes(primitive: string, version: string): Promise<string>;
12
+ /**
13
+ * Fetch type definitions from the unified radix-ui package.
14
+ */
15
+ export declare function fetchFromUnifiedPackage(primitive: string, version: string, typesPath?: string): Promise<string>;
16
+ /**
17
+ * Fetch raw file content from a package on unpkg.
18
+ */
19
+ export declare function fetchPackageFile(packageName: string, version: string, filePath: string): Promise<string>;
20
+ //# sourceMappingURL=unpkg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unpkg.d.ts","sourceRoot":"","sources":["../../src/fetcher/unpkg.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAYjB"}