@mui/internal-docs-infra 0.1.0 → 0.1.1-alpha.1

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 (177) hide show
  1. package/CodeControllerContext/CodeControllerContext.d.ts +22 -0
  2. package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -0
  3. package/CodeControllerContext/CodeControllerContext.js +14 -0
  4. package/CodeControllerContext/index.d.ts +1 -0
  5. package/CodeControllerContext/index.d.ts.map +1 -0
  6. package/CodeControllerContext/index.js +1 -0
  7. package/CodeHighlighter/CodeHighlighter.d.ts +2 -0
  8. package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -0
  9. package/CodeHighlighter/CodeHighlighter.js +321 -0
  10. package/CodeHighlighter/CodeHighlighterClient.d.ts +2 -0
  11. package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -0
  12. package/CodeHighlighter/CodeHighlighterClient.js +399 -0
  13. package/CodeHighlighter/CodeHighlighterContext.d.ts +14 -0
  14. package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -0
  15. package/CodeHighlighter/CodeHighlighterContext.js +14 -0
  16. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts +7 -0
  17. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -0
  18. package/CodeHighlighter/CodeHighlighterFallbackContext.js +11 -0
  19. package/CodeHighlighter/applyTransform.d.ts +19 -0
  20. package/CodeHighlighter/applyTransform.d.ts.map +1 -0
  21. package/CodeHighlighter/applyTransform.js +75 -0
  22. package/CodeHighlighter/codeToFallbackProps.d.ts +2 -0
  23. package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -0
  24. package/CodeHighlighter/codeToFallbackProps.js +70 -0
  25. package/CodeHighlighter/errors.d.ts +0 -0
  26. package/CodeHighlighter/errors.d.ts.map +1 -0
  27. package/CodeHighlighter/errors.js +1 -0
  28. package/CodeHighlighter/hasAllVariants.d.ts +2 -0
  29. package/CodeHighlighter/hasAllVariants.d.ts.map +1 -0
  30. package/CodeHighlighter/hasAllVariants.js +31 -0
  31. package/CodeHighlighter/index.d.ts +4 -0
  32. package/CodeHighlighter/index.d.ts.map +1 -0
  33. package/CodeHighlighter/index.js +4 -0
  34. package/CodeHighlighter/loadFallbackCode.d.ts +9 -0
  35. package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -0
  36. package/CodeHighlighter/loadFallbackCode.js +468 -0
  37. package/CodeHighlighter/loadVariant.d.ts +11 -0
  38. package/CodeHighlighter/loadVariant.d.ts.map +1 -0
  39. package/CodeHighlighter/loadVariant.js +708 -0
  40. package/CodeHighlighter/maybeInitialData.d.ts +10 -0
  41. package/CodeHighlighter/maybeInitialData.d.ts.map +1 -0
  42. package/CodeHighlighter/maybeInitialData.js +94 -0
  43. package/CodeHighlighter/parseCode.d.ts +6 -0
  44. package/CodeHighlighter/parseCode.d.ts.map +1 -0
  45. package/CodeHighlighter/parseCode.js +122 -0
  46. package/CodeHighlighter/parseControlledCode.d.ts +6 -0
  47. package/CodeHighlighter/parseControlledCode.d.ts.map +1 -0
  48. package/CodeHighlighter/parseControlledCode.js +76 -0
  49. package/CodeHighlighter/transformCode.d.ts +20 -0
  50. package/CodeHighlighter/transformCode.d.ts.map +1 -0
  51. package/CodeHighlighter/transformCode.js +223 -0
  52. package/CodeHighlighter/transformParsedSource.d.ts +3 -0
  53. package/CodeHighlighter/transformParsedSource.d.ts.map +1 -0
  54. package/CodeHighlighter/transformParsedSource.js +66 -0
  55. package/CodeHighlighter/transformSource.d.ts +2 -0
  56. package/CodeHighlighter/transformSource.d.ts.map +1 -0
  57. package/CodeHighlighter/transformSource.js +107 -0
  58. package/CodeHighlighter/types.d.ts +138 -0
  59. package/CodeHighlighter/types.d.ts.map +1 -0
  60. package/CodeHighlighter/types.js +1 -0
  61. package/CodeProvider/CodeContext.d.ts +12 -0
  62. package/CodeProvider/CodeContext.d.ts.map +1 -0
  63. package/CodeProvider/CodeContext.js +8 -0
  64. package/CodeProvider/CodeProvider.d.ts +13 -0
  65. package/CodeProvider/CodeProvider.d.ts.map +1 -0
  66. package/CodeProvider/CodeProvider.js +50 -0
  67. package/CodeProvider/index.d.ts +2 -0
  68. package/CodeProvider/index.d.ts.map +1 -0
  69. package/CodeProvider/index.js +2 -0
  70. package/README.md +3 -1
  71. package/hast/hast.d.ts +11 -0
  72. package/hast/hast.d.ts.map +1 -0
  73. package/hast/hast.js +66 -0
  74. package/hast/index.d.ts +1 -0
  75. package/hast/index.d.ts.map +1 -0
  76. package/hast/index.js +1 -0
  77. package/loadPrecomputedCodeHighlighter/index.d.ts +2 -0
  78. package/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
  79. package/loadPrecomputedCodeHighlighter/index.js +4 -0
  80. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +57 -0
  81. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
  82. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +194 -0
  83. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts +20 -0
  84. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
  85. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +243 -0
  86. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts +15 -0
  87. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  88. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.js +168 -0
  89. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +27 -0
  90. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
  91. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +37 -0
  92. package/loadServerCodeMeta/index.d.ts +1 -0
  93. package/loadServerCodeMeta/index.d.ts.map +1 -0
  94. package/loadServerCodeMeta/index.js +1 -0
  95. package/loadServerCodeMeta/serverLoadCodeMeta.d.ts +24 -0
  96. package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +1 -0
  97. package/loadServerCodeMeta/serverLoadCodeMeta.js +77 -0
  98. package/loadServerSource/index.d.ts +1 -0
  99. package/loadServerSource/index.d.ts.map +1 -0
  100. package/loadServerSource/index.js +1 -0
  101. package/loadServerSource/serverLoadSource.d.ts +25 -0
  102. package/loadServerSource/serverLoadSource.d.ts.map +1 -0
  103. package/loadServerSource/serverLoadSource.js +100 -0
  104. package/loaderUtils/getFileNameFromUrl.d.ts +11 -0
  105. package/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  106. package/loaderUtils/getFileNameFromUrl.js +32 -0
  107. package/loaderUtils/index.d.ts +5 -0
  108. package/loaderUtils/index.d.ts.map +1 -0
  109. package/loaderUtils/index.js +5 -0
  110. package/loaderUtils/processImports.d.ts +19 -0
  111. package/loaderUtils/processImports.d.ts.map +1 -0
  112. package/loaderUtils/processImports.js +82 -0
  113. package/loaderUtils/resolveImports.d.ts +4 -0
  114. package/loaderUtils/resolveImports.d.ts.map +1 -0
  115. package/loaderUtils/resolveImports.js +71 -0
  116. package/loaderUtils/resolveModulePath.d.ts +74 -0
  117. package/loaderUtils/resolveModulePath.d.ts.map +1 -0
  118. package/loaderUtils/resolveModulePath.js +862 -0
  119. package/loaderUtils/resolveModulePathWithFs.d.ts +44 -0
  120. package/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  121. package/loaderUtils/resolveModulePathWithFs.js +159 -0
  122. package/loaderUtils/rewriteImports.d.ts +9 -0
  123. package/loaderUtils/rewriteImports.d.ts.map +1 -0
  124. package/loaderUtils/rewriteImports.js +57 -0
  125. package/package.json +20 -7
  126. package/parseSource/grammars.d.ts +2 -0
  127. package/parseSource/grammars.d.ts.map +1 -0
  128. package/parseSource/grammars.js +27 -0
  129. package/parseSource/index.d.ts +1 -0
  130. package/parseSource/index.d.ts.map +1 -0
  131. package/parseSource/index.js +1 -0
  132. package/parseSource/parseSource.d.ts +3 -0
  133. package/parseSource/parseSource.d.ts.map +1 -0
  134. package/parseSource/parseSource.js +37 -0
  135. package/transformRelativeMarkdownPaths/index.d.ts +2 -0
  136. package/transformRelativeMarkdownPaths/index.d.ts.map +1 -0
  137. package/transformRelativeMarkdownPaths/index.js +4 -0
  138. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +12 -0
  139. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +1 -0
  140. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +30 -0
  141. package/transformTsToJs/index.d.ts +1 -0
  142. package/transformTsToJs/index.d.ts.map +1 -0
  143. package/transformTsToJs/index.js +1 -0
  144. package/transformTsToJs/removeTypes.d.ts +13 -0
  145. package/transformTsToJs/removeTypes.d.ts.map +1 -0
  146. package/transformTsToJs/removeTypes.js +134 -0
  147. package/transformTsToJs/transformTsToJs.d.ts +3 -0
  148. package/transformTsToJs/transformTsToJs.d.ts.map +1 -0
  149. package/transformTsToJs/transformTsToJs.js +34 -0
  150. package/useCode/index.d.ts +1 -0
  151. package/useCode/index.d.ts.map +1 -0
  152. package/useCode/index.js +1 -0
  153. package/{esm/useDemo/index.d.ts → useCode/useCode.d.ts} +14 -28
  154. package/useCode/useCode.d.ts.map +1 -0
  155. package/useCode/useCode.js +393 -0
  156. package/useCopier/index.js +10 -18
  157. package/useDemo/index.d.ts +12 -24
  158. package/useDemo/index.d.ts.map +1 -0
  159. package/useDemo/index.js +14 -109
  160. package/useOnHydrate/index.d.ts +1 -0
  161. package/useOnHydrate/index.d.ts.map +1 -0
  162. package/useOnHydrate/index.js +1 -0
  163. package/useOnHydrate/useOnHydrate.d.ts +1 -0
  164. package/useOnHydrate/useOnHydrate.d.ts.map +1 -0
  165. package/useOnHydrate/useOnHydrate.js +18 -0
  166. package/useOnIdle/index.d.ts +1 -0
  167. package/useOnIdle/index.d.ts.map +1 -0
  168. package/useOnIdle/index.js +1 -0
  169. package/useOnIdle/useOnIdle.d.ts +1 -0
  170. package/useOnIdle/useOnIdle.d.ts.map +1 -0
  171. package/useOnIdle/useOnIdle.js +39 -0
  172. package/esm/package.json +0 -1
  173. package/esm/useCopier/index.d.ts +0 -15
  174. package/esm/useCopier/index.js +0 -62
  175. package/esm/useDemo/index.d.ts.map +0 -1
  176. package/esm/useDemo/index.js +0 -104
  177. /package/{esm/useCopier → useCopier}/index.d.ts.map +0 -0
@@ -0,0 +1,862 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
3
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
5
+ import { getFileNameFromUrl } from "./getFileNameFromUrl.js";
6
+
7
+ /**
8
+ * Isomorphic path joining function that works in both Node.js and browser environments.
9
+ * Uses string concatenation to handle path joining consistently across platforms.
10
+ */
11
+ function joinPath(basePath) {
12
+ // Start with the base path, ensuring it has a trailing slash for URL construction
13
+ var result = basePath.endsWith('/') ? basePath : "".concat(basePath, "/");
14
+
15
+ // Handle each segment
16
+ for (var i = 0; i < (arguments.length <= 1 ? 0 : arguments.length - 1); i += 1) {
17
+ var segment = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];
18
+ if (segment) {
19
+ // Remove leading slash from segment to avoid double slashes
20
+ var cleanSegment = segment.startsWith('/') ? segment.slice(1) : segment;
21
+ // Append segment
22
+ result += cleanSegment;
23
+ // Add trailing slash for intermediate segments
24
+ if (i < (arguments.length <= 1 ? 0 : arguments.length - 1) - 1) {
25
+ result += '/';
26
+ }
27
+ }
28
+ }
29
+ return result;
30
+ }
31
+
32
+ /**
33
+ * Default file extensions for JavaScript/TypeScript modules that can be resolved
34
+ */
35
+ export var JAVASCRIPT_MODULE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx'];
36
+
37
+ /**
38
+ * Checks if a file path or import path represents a JavaScript/TypeScript module
39
+ * @param path - The file path or import path to check
40
+ * @returns true if it's a JS/TS module, false otherwise
41
+ */
42
+ export function isJavaScriptModule(path) {
43
+ // If the path has an extension, check if it's one of the JS/TS extensions
44
+ if (/\.[^/]+$/.test(path)) {
45
+ return JAVASCRIPT_MODULE_EXTENSIONS.some(function (ext) {
46
+ return path.endsWith(ext);
47
+ });
48
+ }
49
+ // If no extension, assume it's a JS/TS module (will be resolved to one)
50
+ return true;
51
+ }
52
+ /**
53
+ * Resolves a module path by reading directory contents to find matching files.
54
+ * This is more efficient than checking each file individually with stat calls.
55
+ *
56
+ * Given a path like `/Code/mui-public/packages/docs-infra/docs/app/components/code-highlighter/demos/code/BasicCode`,
57
+ * this function will try to find the actual file by checking for:
58
+ * - `BasicCode.ts`, `BasicCode.tsx`, `BasicCode.js`, `BasicCode.jsx`
59
+ * - `BasicCode/index.ts`, `BasicCode/index.tsx`, `BasicCode/index.js`, `BasicCode/index.jsx`
60
+ *
61
+ * @param modulePath - The module path to resolve (without file extension)
62
+ * @param readDirectory - Function to read directory contents
63
+ * @param options - Configuration options
64
+ * @returns Promise<string> - The resolved file path, or throws if not found
65
+ */
66
+ export function resolveModulePath(_x, _x2) {
67
+ return _resolveModulePath.apply(this, arguments);
68
+ }
69
+
70
+ /**
71
+ * Resolves multiple module paths efficiently by grouping them by directory
72
+ * and performing batch directory lookups.
73
+ *
74
+ * @param modulePaths - Array of module paths to resolve (without file extensions)
75
+ * @param readDirectory - Function to read directory contents
76
+ * @param options - Configuration options
77
+ * @returns Promise<Map<string, string>> - Map from input path to resolved file path
78
+ */
79
+ function _resolveModulePath() {
80
+ _resolveModulePath = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(modulePath, readDirectory) {
81
+ var options,
82
+ _options$extensions,
83
+ extensions,
84
+ lastSlashIndex,
85
+ parentDir,
86
+ moduleName,
87
+ dirContents,
88
+ filesByBaseName,
89
+ _iterator,
90
+ _step,
91
+ _entry2,
92
+ _fileName,
93
+ _getFileNameFromUrl4,
94
+ _fileExt,
95
+ _fileBaseName,
96
+ matchingFiles,
97
+ _iterator2,
98
+ _step2,
99
+ ext,
100
+ _iterator3,
101
+ _step3,
102
+ entry,
103
+ _getFileNameFromUrl,
104
+ entryExt,
105
+ directoryMatches,
106
+ moduleDir,
107
+ moduleDirContents,
108
+ indexFilesByBaseName,
109
+ _iterator4,
110
+ _step4,
111
+ moduleFile,
112
+ fileName,
113
+ _getFileNameFromUrl3,
114
+ fileExt,
115
+ fileBaseName,
116
+ indexFiles,
117
+ _iterator5,
118
+ _step5,
119
+ _ext,
120
+ _iterator6,
121
+ _step6,
122
+ _entry,
123
+ _getFileNameFromUrl2,
124
+ _entryExt,
125
+ _args = arguments;
126
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
127
+ while (1) switch (_context.prev = _context.next) {
128
+ case 0:
129
+ options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
130
+ _options$extensions = options.extensions, extensions = _options$extensions === void 0 ? JAVASCRIPT_MODULE_EXTENSIONS : _options$extensions; // Extract the parent directory and the module name
131
+ lastSlashIndex = modulePath.lastIndexOf('/');
132
+ parentDir = modulePath.substring(0, lastSlashIndex);
133
+ moduleName = modulePath.substring(lastSlashIndex + 1);
134
+ _context.prev = 5;
135
+ _context.next = 8;
136
+ return readDirectory(parentDir);
137
+ case 8:
138
+ dirContents = _context.sent;
139
+ // Look for direct file matches in extension priority order
140
+ // Create a map of baseName -> files with that basename for efficient lookup
141
+ filesByBaseName = new Map();
142
+ _iterator = _createForOfIteratorHelper(dirContents);
143
+ try {
144
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
145
+ _entry2 = _step.value;
146
+ if (_entry2.isFile) {
147
+ _fileName = _entry2.name;
148
+ _getFileNameFromUrl4 = getFileNameFromUrl(_fileName), _fileExt = _getFileNameFromUrl4.extension;
149
+ _fileBaseName = _fileName.substring(0, _fileName.length - _fileExt.length);
150
+ if (!filesByBaseName.has(_fileBaseName)) {
151
+ filesByBaseName.set(_fileBaseName, []);
152
+ }
153
+ filesByBaseName.get(_fileBaseName).push(_entry2);
154
+ }
155
+ }
156
+
157
+ // Check for the module in extension priority order
158
+ } catch (err) {
159
+ _iterator.e(err);
160
+ } finally {
161
+ _iterator.f();
162
+ }
163
+ matchingFiles = filesByBaseName.get(moduleName);
164
+ if (!matchingFiles) {
165
+ _context.next = 47;
166
+ break;
167
+ }
168
+ _iterator2 = _createForOfIteratorHelper(extensions);
169
+ _context.prev = 15;
170
+ _iterator2.s();
171
+ case 17:
172
+ if ((_step2 = _iterator2.n()).done) {
173
+ _context.next = 39;
174
+ break;
175
+ }
176
+ ext = _step2.value;
177
+ _iterator3 = _createForOfIteratorHelper(matchingFiles);
178
+ _context.prev = 20;
179
+ _iterator3.s();
180
+ case 22:
181
+ if ((_step3 = _iterator3.n()).done) {
182
+ _context.next = 29;
183
+ break;
184
+ }
185
+ entry = _step3.value;
186
+ _getFileNameFromUrl = getFileNameFromUrl(entry.name), entryExt = _getFileNameFromUrl.extension;
187
+ if (!(entryExt === ext)) {
188
+ _context.next = 27;
189
+ break;
190
+ }
191
+ return _context.abrupt("return", joinPath(parentDir, entry.name));
192
+ case 27:
193
+ _context.next = 22;
194
+ break;
195
+ case 29:
196
+ _context.next = 34;
197
+ break;
198
+ case 31:
199
+ _context.prev = 31;
200
+ _context.t0 = _context["catch"](20);
201
+ _iterator3.e(_context.t0);
202
+ case 34:
203
+ _context.prev = 34;
204
+ _iterator3.f();
205
+ return _context.finish(34);
206
+ case 37:
207
+ _context.next = 17;
208
+ break;
209
+ case 39:
210
+ _context.next = 44;
211
+ break;
212
+ case 41:
213
+ _context.prev = 41;
214
+ _context.t1 = _context["catch"](15);
215
+ _iterator2.e(_context.t1);
216
+ case 44:
217
+ _context.prev = 44;
218
+ _iterator2.f();
219
+ return _context.finish(44);
220
+ case 47:
221
+ // Look for directory with index files
222
+ directoryMatches = dirContents.filter(function (entry) {
223
+ return entry.isDirectory && entry.name === moduleName;
224
+ });
225
+ if (!(directoryMatches.length > 0)) {
226
+ _context.next = 96;
227
+ break;
228
+ }
229
+ moduleDir = joinPath(parentDir, directoryMatches[0].name);
230
+ _context.prev = 50;
231
+ _context.next = 53;
232
+ return readDirectory(moduleDir);
233
+ case 53:
234
+ moduleDirContents = _context.sent;
235
+ // Look for index files in extension priority order
236
+ // Create a map of baseName -> files for efficient lookup
237
+ indexFilesByBaseName = new Map();
238
+ _iterator4 = _createForOfIteratorHelper(moduleDirContents);
239
+ try {
240
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
241
+ moduleFile = _step4.value;
242
+ if (moduleFile.isFile) {
243
+ fileName = moduleFile.name;
244
+ _getFileNameFromUrl3 = getFileNameFromUrl(fileName), fileExt = _getFileNameFromUrl3.extension;
245
+ fileBaseName = fileName.substring(0, fileName.length - fileExt.length);
246
+ if (!indexFilesByBaseName.has(fileBaseName)) {
247
+ indexFilesByBaseName.set(fileBaseName, []);
248
+ }
249
+ indexFilesByBaseName.get(fileBaseName).push(moduleFile);
250
+ }
251
+ }
252
+
253
+ // Check for index files in extension priority order
254
+ } catch (err) {
255
+ _iterator4.e(err);
256
+ } finally {
257
+ _iterator4.f();
258
+ }
259
+ indexFiles = indexFilesByBaseName.get('index');
260
+ if (!indexFiles) {
261
+ _context.next = 92;
262
+ break;
263
+ }
264
+ _iterator5 = _createForOfIteratorHelper(extensions);
265
+ _context.prev = 60;
266
+ _iterator5.s();
267
+ case 62:
268
+ if ((_step5 = _iterator5.n()).done) {
269
+ _context.next = 84;
270
+ break;
271
+ }
272
+ _ext = _step5.value;
273
+ _iterator6 = _createForOfIteratorHelper(indexFiles);
274
+ _context.prev = 65;
275
+ _iterator6.s();
276
+ case 67:
277
+ if ((_step6 = _iterator6.n()).done) {
278
+ _context.next = 74;
279
+ break;
280
+ }
281
+ _entry = _step6.value;
282
+ _getFileNameFromUrl2 = getFileNameFromUrl(_entry.name), _entryExt = _getFileNameFromUrl2.extension;
283
+ if (!(_entryExt === _ext)) {
284
+ _context.next = 72;
285
+ break;
286
+ }
287
+ return _context.abrupt("return", joinPath(moduleDir, _entry.name));
288
+ case 72:
289
+ _context.next = 67;
290
+ break;
291
+ case 74:
292
+ _context.next = 79;
293
+ break;
294
+ case 76:
295
+ _context.prev = 76;
296
+ _context.t2 = _context["catch"](65);
297
+ _iterator6.e(_context.t2);
298
+ case 79:
299
+ _context.prev = 79;
300
+ _iterator6.f();
301
+ return _context.finish(79);
302
+ case 82:
303
+ _context.next = 62;
304
+ break;
305
+ case 84:
306
+ _context.next = 89;
307
+ break;
308
+ case 86:
309
+ _context.prev = 86;
310
+ _context.t3 = _context["catch"](60);
311
+ _iterator5.e(_context.t3);
312
+ case 89:
313
+ _context.prev = 89;
314
+ _iterator5.f();
315
+ return _context.finish(89);
316
+ case 92:
317
+ _context.next = 96;
318
+ break;
319
+ case 94:
320
+ _context.prev = 94;
321
+ _context.t4 = _context["catch"](50);
322
+ case 96:
323
+ _context.next = 100;
324
+ break;
325
+ case 98:
326
+ _context.prev = 98;
327
+ _context.t5 = _context["catch"](5);
328
+ case 100:
329
+ throw new Error("Could not resolve module at path \"".concat(modulePath, "\". Tried extensions: ").concat(extensions.join(', ')));
330
+ case 101:
331
+ case "end":
332
+ return _context.stop();
333
+ }
334
+ }, _callee, null, [[5, 98], [15, 41, 44, 47], [20, 31, 34, 37], [50, 94], [60, 86, 89, 92], [65, 76, 79, 82]]);
335
+ }));
336
+ return _resolveModulePath.apply(this, arguments);
337
+ }
338
+ export function resolveModulePaths(_x3, _x4) {
339
+ return _resolveModulePaths.apply(this, arguments);
340
+ }
341
+
342
+ /**
343
+ * Resolves import result by separating JavaScript modules from static assets,
344
+ * only resolving JavaScript modules and returning a combined map.
345
+ * This function uses the resolveModulePaths function internally but requires
346
+ * a DirectoryReader to be provided.
347
+ *
348
+ * @param importResult - The result from resolveImports containing all imports
349
+ * @param readDirectory - Function to read directory contents
350
+ * @param options - Configuration options for module resolution
351
+ * @returns Promise<Map<string, string>> - Map from import path to resolved file path
352
+ */
353
+ function _resolveModulePaths() {
354
+ _resolveModulePaths = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(modulePaths, readDirectory) {
355
+ var options,
356
+ _options$extensions2,
357
+ extensions,
358
+ results,
359
+ pathsByDirectory,
360
+ _iterator7,
361
+ _step7,
362
+ modulePath,
363
+ lastSlashIndex,
364
+ parentDir,
365
+ moduleName,
366
+ directoryEntries,
367
+ directoryResults,
368
+ _iterator14,
369
+ _step14,
370
+ directoryResult,
371
+ _iterator15,
372
+ _step15,
373
+ _step15$value,
374
+ fullPath,
375
+ resolvedPath,
376
+ _args4 = arguments;
377
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
378
+ while (1) switch (_context4.prev = _context4.next) {
379
+ case 0:
380
+ options = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {};
381
+ _options$extensions2 = options.extensions, extensions = _options$extensions2 === void 0 ? ['.ts', '.tsx', '.js', '.jsx'] : _options$extensions2;
382
+ results = new Map(); // Group paths by their parent directory
383
+ pathsByDirectory = new Map();
384
+ _iterator7 = _createForOfIteratorHelper(modulePaths);
385
+ try {
386
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
387
+ modulePath = _step7.value;
388
+ lastSlashIndex = modulePath.lastIndexOf('/');
389
+ parentDir = modulePath.substring(0, lastSlashIndex);
390
+ moduleName = modulePath.substring(lastSlashIndex + 1);
391
+ if (!pathsByDirectory.has(parentDir)) {
392
+ pathsByDirectory.set(parentDir, []);
393
+ }
394
+ pathsByDirectory.get(parentDir).push({
395
+ fullPath: modulePath,
396
+ moduleName: moduleName
397
+ });
398
+ }
399
+
400
+ // Process each directory group
401
+ } catch (err) {
402
+ _iterator7.e(err);
403
+ } finally {
404
+ _iterator7.f();
405
+ }
406
+ directoryEntries = Array.from(pathsByDirectory.entries());
407
+ _context4.next = 9;
408
+ return Promise.all(directoryEntries.map(/*#__PURE__*/function () {
409
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref) {
410
+ var _ref3, parentDir, pathGroup, dirContents, unresolved, resolved, filesByBaseName, _iterator8, _step8, entry, fileName, _getFileNameFromUrl7, fileExt, fileBaseName, _iterator9, _step9, _step9$value, _fullPath, moduleName, foundMatch, matchingFiles, _iterator12, _step12, ext, _iterator13, _step13, _entry3, _getFileNameFromUrl8, entryExt, directories, indexResults, _iterator11, _step11, _step11$value, fullPath, resolvedPath;
411
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
412
+ while (1) switch (_context3.prev = _context3.next) {
413
+ case 0:
414
+ _ref3 = _slicedToArray(_ref, 2), parentDir = _ref3[0], pathGroup = _ref3[1];
415
+ _context3.prev = 1;
416
+ _context3.next = 4;
417
+ return readDirectory(parentDir);
418
+ case 4:
419
+ dirContents = _context3.sent;
420
+ unresolved = [];
421
+ resolved = []; // Look for direct file matches in extension priority order
422
+ // Create a map of baseName -> files for efficient lookup
423
+ filesByBaseName = new Map();
424
+ _iterator8 = _createForOfIteratorHelper(dirContents);
425
+ try {
426
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
427
+ entry = _step8.value;
428
+ if (entry.isFile) {
429
+ fileName = entry.name;
430
+ _getFileNameFromUrl7 = getFileNameFromUrl(fileName), fileExt = _getFileNameFromUrl7.extension;
431
+ fileBaseName = fileName.substring(0, fileName.length - fileExt.length);
432
+ if (!filesByBaseName.has(fileBaseName)) {
433
+ filesByBaseName.set(fileBaseName, []);
434
+ }
435
+ filesByBaseName.get(fileBaseName).push(entry);
436
+ }
437
+ }
438
+
439
+ // Check each module path against the file map
440
+ } catch (err) {
441
+ _iterator8.e(err);
442
+ } finally {
443
+ _iterator8.f();
444
+ }
445
+ _iterator9 = _createForOfIteratorHelper(pathGroup);
446
+ _context3.prev = 11;
447
+ _iterator9.s();
448
+ case 13:
449
+ if ((_step9 = _iterator9.n()).done) {
450
+ _context3.next = 58;
451
+ break;
452
+ }
453
+ _step9$value = _step9.value, _fullPath = _step9$value.fullPath, moduleName = _step9$value.moduleName;
454
+ foundMatch = false;
455
+ matchingFiles = filesByBaseName.get(moduleName);
456
+ if (!matchingFiles) {
457
+ _context3.next = 55;
458
+ break;
459
+ }
460
+ _iterator12 = _createForOfIteratorHelper(extensions);
461
+ _context3.prev = 19;
462
+ _iterator12.s();
463
+ case 21:
464
+ if ((_step12 = _iterator12.n()).done) {
465
+ _context3.next = 47;
466
+ break;
467
+ }
468
+ ext = _step12.value;
469
+ _iterator13 = _createForOfIteratorHelper(matchingFiles);
470
+ _context3.prev = 24;
471
+ _iterator13.s();
472
+ case 26:
473
+ if ((_step13 = _iterator13.n()).done) {
474
+ _context3.next = 35;
475
+ break;
476
+ }
477
+ _entry3 = _step13.value;
478
+ _getFileNameFromUrl8 = getFileNameFromUrl(_entry3.name), entryExt = _getFileNameFromUrl8.extension;
479
+ if (!(entryExt === ext)) {
480
+ _context3.next = 33;
481
+ break;
482
+ }
483
+ resolved.push({
484
+ fullPath: _fullPath,
485
+ resolvedPath: joinPath(parentDir, _entry3.name)
486
+ });
487
+ foundMatch = true;
488
+ return _context3.abrupt("break", 35);
489
+ case 33:
490
+ _context3.next = 26;
491
+ break;
492
+ case 35:
493
+ _context3.next = 40;
494
+ break;
495
+ case 37:
496
+ _context3.prev = 37;
497
+ _context3.t0 = _context3["catch"](24);
498
+ _iterator13.e(_context3.t0);
499
+ case 40:
500
+ _context3.prev = 40;
501
+ _iterator13.f();
502
+ return _context3.finish(40);
503
+ case 43:
504
+ if (!foundMatch) {
505
+ _context3.next = 45;
506
+ break;
507
+ }
508
+ return _context3.abrupt("break", 47);
509
+ case 45:
510
+ _context3.next = 21;
511
+ break;
512
+ case 47:
513
+ _context3.next = 52;
514
+ break;
515
+ case 49:
516
+ _context3.prev = 49;
517
+ _context3.t1 = _context3["catch"](19);
518
+ _iterator12.e(_context3.t1);
519
+ case 52:
520
+ _context3.prev = 52;
521
+ _iterator12.f();
522
+ return _context3.finish(52);
523
+ case 55:
524
+ if (!foundMatch) {
525
+ unresolved.push({
526
+ fullPath: _fullPath,
527
+ moduleName: moduleName
528
+ });
529
+ }
530
+ case 56:
531
+ _context3.next = 13;
532
+ break;
533
+ case 58:
534
+ _context3.next = 63;
535
+ break;
536
+ case 60:
537
+ _context3.prev = 60;
538
+ _context3.t2 = _context3["catch"](11);
539
+ _iterator9.e(_context3.t2);
540
+ case 63:
541
+ _context3.prev = 63;
542
+ _iterator9.f();
543
+ return _context3.finish(63);
544
+ case 66:
545
+ if (!(unresolved.length > 0)) {
546
+ _context3.next = 73;
547
+ break;
548
+ }
549
+ directories = new Set(dirContents.filter(function (entry) {
550
+ return entry.isDirectory;
551
+ }).map(function (entry) {
552
+ return entry.name;
553
+ }));
554
+ _context3.next = 70;
555
+ return Promise.all(unresolved.map(/*#__PURE__*/function () {
556
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref4) {
557
+ var fullPath, moduleName, moduleDir, moduleDirContents, indexFilesByBaseName, _iterator0, _step0, moduleFile, fileName, _getFileNameFromUrl6, fileExt, fileBaseName, indexFiles, _iterator1, _step1, ext, _iterator10, _step10, entry, _getFileNameFromUrl5, entryExt;
558
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
559
+ while (1) switch (_context2.prev = _context2.next) {
560
+ case 0:
561
+ fullPath = _ref4.fullPath, moduleName = _ref4.moduleName;
562
+ if (!directories.has(moduleName)) {
563
+ _context2.next = 49;
564
+ break;
565
+ }
566
+ moduleDir = joinPath(parentDir, moduleName);
567
+ _context2.prev = 3;
568
+ _context2.next = 6;
569
+ return readDirectory(moduleDir);
570
+ case 6:
571
+ moduleDirContents = _context2.sent;
572
+ // Look for index files in extension priority order
573
+ // Create a map of baseName -> files for efficient lookup
574
+ indexFilesByBaseName = new Map();
575
+ _iterator0 = _createForOfIteratorHelper(moduleDirContents);
576
+ try {
577
+ for (_iterator0.s(); !(_step0 = _iterator0.n()).done;) {
578
+ moduleFile = _step0.value;
579
+ if (moduleFile.isFile) {
580
+ fileName = moduleFile.name;
581
+ _getFileNameFromUrl6 = getFileNameFromUrl(fileName), fileExt = _getFileNameFromUrl6.extension;
582
+ fileBaseName = fileName.substring(0, fileName.length - fileExt.length);
583
+ if (!indexFilesByBaseName.has(fileBaseName)) {
584
+ indexFilesByBaseName.set(fileBaseName, []);
585
+ }
586
+ indexFilesByBaseName.get(fileBaseName).push(moduleFile);
587
+ }
588
+ }
589
+
590
+ // Check for index files in extension priority order
591
+ } catch (err) {
592
+ _iterator0.e(err);
593
+ } finally {
594
+ _iterator0.f();
595
+ }
596
+ indexFiles = indexFilesByBaseName.get('index');
597
+ if (!indexFiles) {
598
+ _context2.next = 45;
599
+ break;
600
+ }
601
+ _iterator1 = _createForOfIteratorHelper(extensions);
602
+ _context2.prev = 13;
603
+ _iterator1.s();
604
+ case 15:
605
+ if ((_step1 = _iterator1.n()).done) {
606
+ _context2.next = 37;
607
+ break;
608
+ }
609
+ ext = _step1.value;
610
+ _iterator10 = _createForOfIteratorHelper(indexFiles);
611
+ _context2.prev = 18;
612
+ _iterator10.s();
613
+ case 20:
614
+ if ((_step10 = _iterator10.n()).done) {
615
+ _context2.next = 27;
616
+ break;
617
+ }
618
+ entry = _step10.value;
619
+ _getFileNameFromUrl5 = getFileNameFromUrl(entry.name), entryExt = _getFileNameFromUrl5.extension;
620
+ if (!(entryExt === ext)) {
621
+ _context2.next = 25;
622
+ break;
623
+ }
624
+ return _context2.abrupt("return", {
625
+ fullPath: fullPath,
626
+ resolvedPath: joinPath(moduleDir, entry.name)
627
+ });
628
+ case 25:
629
+ _context2.next = 20;
630
+ break;
631
+ case 27:
632
+ _context2.next = 32;
633
+ break;
634
+ case 29:
635
+ _context2.prev = 29;
636
+ _context2.t0 = _context2["catch"](18);
637
+ _iterator10.e(_context2.t0);
638
+ case 32:
639
+ _context2.prev = 32;
640
+ _iterator10.f();
641
+ return _context2.finish(32);
642
+ case 35:
643
+ _context2.next = 15;
644
+ break;
645
+ case 37:
646
+ _context2.next = 42;
647
+ break;
648
+ case 39:
649
+ _context2.prev = 39;
650
+ _context2.t1 = _context2["catch"](13);
651
+ _iterator1.e(_context2.t1);
652
+ case 42:
653
+ _context2.prev = 42;
654
+ _iterator1.f();
655
+ return _context2.finish(42);
656
+ case 45:
657
+ _context2.next = 49;
658
+ break;
659
+ case 47:
660
+ _context2.prev = 47;
661
+ _context2.t2 = _context2["catch"](3);
662
+ case 49:
663
+ return _context2.abrupt("return", {
664
+ fullPath: fullPath,
665
+ resolvedPath: null
666
+ });
667
+ case 50:
668
+ case "end":
669
+ return _context2.stop();
670
+ }
671
+ }, _callee2, null, [[3, 47], [13, 39, 42, 45], [18, 29, 32, 35]]);
672
+ }));
673
+ return function (_x0) {
674
+ return _ref5.apply(this, arguments);
675
+ };
676
+ }()));
677
+ case 70:
678
+ indexResults = _context3.sent;
679
+ _iterator11 = _createForOfIteratorHelper(indexResults);
680
+ try {
681
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
682
+ _step11$value = _step11.value, fullPath = _step11$value.fullPath, resolvedPath = _step11$value.resolvedPath;
683
+ if (resolvedPath) {
684
+ resolved.push({
685
+ fullPath: fullPath,
686
+ resolvedPath: resolvedPath
687
+ });
688
+ }
689
+ }
690
+ } catch (err) {
691
+ _iterator11.e(err);
692
+ } finally {
693
+ _iterator11.f();
694
+ }
695
+ case 73:
696
+ return _context3.abrupt("return", resolved);
697
+ case 76:
698
+ _context3.prev = 76;
699
+ _context3.t3 = _context3["catch"](1);
700
+ return _context3.abrupt("return", []);
701
+ case 79:
702
+ case "end":
703
+ return _context3.stop();
704
+ }
705
+ }, _callee3, null, [[1, 76], [11, 60, 63, 66], [19, 49, 52, 55], [24, 37, 40, 43]]);
706
+ }));
707
+ return function (_x9) {
708
+ return _ref2.apply(this, arguments);
709
+ };
710
+ }()));
711
+ case 9:
712
+ directoryResults = _context4.sent;
713
+ // Collect all resolved paths
714
+ _iterator14 = _createForOfIteratorHelper(directoryResults);
715
+ try {
716
+ for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
717
+ directoryResult = _step14.value;
718
+ _iterator15 = _createForOfIteratorHelper(directoryResult);
719
+ try {
720
+ for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
721
+ _step15$value = _step15.value, fullPath = _step15$value.fullPath, resolvedPath = _step15$value.resolvedPath;
722
+ results.set(fullPath, resolvedPath);
723
+ }
724
+ } catch (err) {
725
+ _iterator15.e(err);
726
+ } finally {
727
+ _iterator15.f();
728
+ }
729
+ }
730
+ } catch (err) {
731
+ _iterator14.e(err);
732
+ } finally {
733
+ _iterator14.f();
734
+ }
735
+ return _context4.abrupt("return", results);
736
+ case 13:
737
+ case "end":
738
+ return _context4.stop();
739
+ }
740
+ }, _callee4);
741
+ }));
742
+ return _resolveModulePaths.apply(this, arguments);
743
+ }
744
+ export function resolveImportResult(_x5, _x6) {
745
+ return _resolveImportResult.apply(this, arguments);
746
+ }
747
+
748
+ /**
749
+ * Resolves variant paths from a variants object mapping variant names to their file paths.
750
+ * This function extracts the paths, resolves them using resolveModulePaths, and returns
751
+ * a map from variant name to resolved file URL.
752
+ *
753
+ * @param variants - Object mapping variant names to their file paths
754
+ * @param readDirectory - Function to read directory contents
755
+ * @param options - Configuration options for module resolution
756
+ * @returns Promise<Map<string, string>> - Map from variant name to resolved file URL
757
+ */
758
+ function _resolveImportResult() {
759
+ _resolveImportResult = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(importResult, readDirectory) {
760
+ var options,
761
+ resolvedPathsMap,
762
+ jsImportPaths,
763
+ staticAssetPaths,
764
+ resolvedJsMap,
765
+ _args5 = arguments;
766
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
767
+ while (1) switch (_context5.prev = _context5.next) {
768
+ case 0:
769
+ options = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {};
770
+ resolvedPathsMap = new Map(); // Separate JS/TS imports from static asset imports
771
+ jsImportPaths = [];
772
+ staticAssetPaths = [];
773
+ Object.entries(importResult).forEach(function (_ref6) {
774
+ var _ref7 = _slicedToArray(_ref6, 2),
775
+ importPath = _ref7[0],
776
+ path = _ref7[1].path;
777
+ if (isJavaScriptModule(importPath)) {
778
+ // If the import path already has a JS/TS extension, use it as-is
779
+ if (JAVASCRIPT_MODULE_EXTENSIONS.some(function (ext) {
780
+ return importPath.endsWith(ext);
781
+ })) {
782
+ resolvedPathsMap.set(path, path);
783
+ } else {
784
+ // Otherwise, it needs to be resolved (extensionless import)
785
+ jsImportPaths.push(path);
786
+ }
787
+ } else {
788
+ staticAssetPaths.push(path);
789
+ }
790
+ });
791
+
792
+ // Resolve JS/TS import paths using the provided directory reader
793
+ if (!(jsImportPaths.length > 0)) {
794
+ _context5.next = 10;
795
+ break;
796
+ }
797
+ _context5.next = 8;
798
+ return resolveModulePaths(jsImportPaths, readDirectory, options);
799
+ case 8:
800
+ resolvedJsMap = _context5.sent;
801
+ resolvedJsMap.forEach(function (resolvedPath, importPath) {
802
+ resolvedPathsMap.set(importPath, resolvedPath);
803
+ });
804
+ case 10:
805
+ // For static assets, use the path as-is since they already have extensions
806
+ staticAssetPaths.forEach(function (path) {
807
+ resolvedPathsMap.set(path, path);
808
+ });
809
+ return _context5.abrupt("return", resolvedPathsMap);
810
+ case 12:
811
+ case "end":
812
+ return _context5.stop();
813
+ }
814
+ }, _callee5);
815
+ }));
816
+ return _resolveImportResult.apply(this, arguments);
817
+ }
818
+ export function resolveVariantPaths(_x7, _x8) {
819
+ return _resolveVariantPaths.apply(this, arguments);
820
+ }
821
+ function _resolveVariantPaths() {
822
+ _resolveVariantPaths = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(variants, readDirectory) {
823
+ var options,
824
+ variantPaths,
825
+ resolvedVariantPaths,
826
+ variantMap,
827
+ _i,
828
+ _Object$entries,
829
+ _Object$entries$_i,
830
+ variantName,
831
+ variantPath,
832
+ resolvedVariantPath,
833
+ _args6 = arguments;
834
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
835
+ while (1) switch (_context6.prev = _context6.next) {
836
+ case 0:
837
+ options = _args6.length > 2 && _args6[2] !== undefined ? _args6[2] : {};
838
+ // Extract the variant paths and resolve them
839
+ variantPaths = Object.values(variants);
840
+ _context6.next = 4;
841
+ return resolveModulePaths(variantPaths, readDirectory, options);
842
+ case 4:
843
+ resolvedVariantPaths = _context6.sent;
844
+ // Build a map from variant name to resolved file URL
845
+ variantMap = new Map();
846
+ for (_i = 0, _Object$entries = Object.entries(variants); _i < _Object$entries.length; _i++) {
847
+ _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), variantName = _Object$entries$_i[0], variantPath = _Object$entries$_i[1];
848
+ resolvedVariantPath = resolvedVariantPaths.get(variantPath);
849
+ if (resolvedVariantPath) {
850
+ // Store as a file URL
851
+ variantMap.set(variantName, "file://".concat(resolvedVariantPath));
852
+ }
853
+ }
854
+ return _context6.abrupt("return", variantMap);
855
+ case 8:
856
+ case "end":
857
+ return _context6.stop();
858
+ }
859
+ }, _callee6);
860
+ }));
861
+ return _resolveVariantPaths.apply(this, arguments);
862
+ }