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

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 (288) hide show
  1. package/CodeControllerContext/CodeControllerContext.d.ts +1 -1
  2. package/CodeControllerContext/CodeControllerContext.d.ts.map +1 -1
  3. package/CodeControllerContext/index.d.ts.map +1 -1
  4. package/CodeExternalsContext/CodeExternalsContext.d.ts +8 -0
  5. package/CodeExternalsContext/CodeExternalsContext.d.ts.map +1 -0
  6. package/CodeExternalsContext/CodeExternalsContext.js +7 -0
  7. package/CodeExternalsContext/index.d.ts +1 -0
  8. package/CodeExternalsContext/index.d.ts.map +1 -0
  9. package/CodeExternalsContext/index.js +1 -0
  10. package/CodeHighlighter/CodeHighlighter.d.ts +1 -1
  11. package/CodeHighlighter/CodeHighlighter.d.ts.map +1 -1
  12. package/CodeHighlighter/CodeHighlighter.js +235 -86
  13. package/CodeHighlighter/CodeHighlighterClient.d.ts.map +1 -1
  14. package/CodeHighlighter/CodeHighlighterClient.js +500 -62
  15. package/CodeHighlighter/CodeHighlighterContext.d.ts +2 -0
  16. package/CodeHighlighter/CodeHighlighterContext.d.ts.map +1 -1
  17. package/CodeHighlighter/CodeHighlighterFallbackContext.d.ts.map +1 -1
  18. package/CodeHighlighter/CodeHighlighterFallbackContext.js +3 -1
  19. package/CodeHighlighter/applyTransform.d.ts.map +1 -1
  20. package/CodeHighlighter/codeToFallbackProps.d.ts +2 -2
  21. package/CodeHighlighter/codeToFallbackProps.d.ts.map +1 -1
  22. package/CodeHighlighter/codeToFallbackProps.js +8 -5
  23. package/CodeHighlighter/errors.d.ts.map +1 -1
  24. package/CodeHighlighter/hasAllVariants.d.ts.map +1 -1
  25. package/CodeHighlighter/index.d.ts.map +1 -1
  26. package/CodeHighlighter/loadFallbackCode.d.ts +3 -2
  27. package/CodeHighlighter/loadFallbackCode.d.ts.map +1 -1
  28. package/CodeHighlighter/loadFallbackCode.js +325 -161
  29. package/CodeHighlighter/loadVariant.d.ts +3 -2
  30. package/CodeHighlighter/loadVariant.d.ts.map +1 -1
  31. package/CodeHighlighter/loadVariant.js +604 -229
  32. package/CodeHighlighter/maybeInitialData.d.ts +1 -1
  33. package/CodeHighlighter/maybeInitialData.d.ts.map +1 -1
  34. package/CodeHighlighter/parseCode.d.ts.map +1 -1
  35. package/CodeHighlighter/parseCode.js +14 -2
  36. package/CodeHighlighter/parseControlledCode.d.ts.map +1 -1
  37. package/CodeHighlighter/parseControlledCode.js +12 -1
  38. package/CodeHighlighter/transformCode.d.ts +1 -0
  39. package/CodeHighlighter/transformCode.d.ts.map +1 -1
  40. package/CodeHighlighter/transformCode.js +43 -3
  41. package/CodeHighlighter/transformParsedSource.d.ts.map +1 -1
  42. package/CodeHighlighter/transformSource.d.ts.map +1 -1
  43. package/CodeHighlighter/types.d.ts +39 -17
  44. package/CodeHighlighter/types.d.ts.map +1 -1
  45. package/CodeProvider/CodeContext.d.ts.map +1 -1
  46. package/CodeProvider/CodeProvider.d.ts.map +1 -1
  47. package/CodeProvider/CodeProvider.js +21 -6
  48. package/CodeProvider/index.d.ts +1 -2
  49. package/CodeProvider/index.d.ts.map +1 -1
  50. package/CodeProvider/index.js +1 -2
  51. package/abstractCreateDemo/abstractCreateDemo.d.ts +35 -0
  52. package/abstractCreateDemo/abstractCreateDemo.d.ts.map +1 -0
  53. package/abstractCreateDemo/abstractCreateDemo.js +91 -0
  54. package/abstractCreateDemo/index.d.ts +1 -0
  55. package/abstractCreateDemo/index.d.ts.map +1 -0
  56. package/abstractCreateDemo/index.js +1 -0
  57. package/createDemoData/createDemoData.d.ts +44 -0
  58. package/createDemoData/createDemoData.d.ts.map +1 -0
  59. package/createDemoData/createDemoData.js +75 -0
  60. package/createDemoData/index.d.ts +1 -0
  61. package/createDemoData/index.d.ts.map +1 -0
  62. package/createDemoData/index.js +1 -0
  63. package/createDemoData/types.d.ts +28 -0
  64. package/createDemoData/types.d.ts.map +1 -0
  65. package/createDemoData/types.js +1 -0
  66. package/package.json +15 -9
  67. package/pipeline/hastUtils/hastUtils.d.ts.map +1 -0
  68. package/{hast/hast.js → pipeline/hastUtils/hastUtils.js} +2 -1
  69. package/pipeline/hastUtils/index.d.ts +1 -0
  70. package/pipeline/hastUtils/index.d.ts.map +1 -0
  71. package/pipeline/hastUtils/index.js +1 -0
  72. package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.d.ts +54 -0
  73. package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.d.ts.map +1 -0
  74. package/pipeline/loadPrecomputedCodeHighlighter/emitExternalsProvider.js +465 -0
  75. package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.d.ts +15 -0
  76. package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.d.ts.map +1 -0
  77. package/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.js +253 -0
  78. package/pipeline/loadPrecomputedCodeHighlighter/index.d.ts.map +1 -0
  79. package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +20 -0
  80. package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +1 -0
  81. package/pipeline/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +228 -0
  82. package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/parseCreateFactoryCall.d.ts +12 -1
  83. package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +1 -0
  84. package/pipeline/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +433 -0
  85. package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/parseFunctionParameters.d.ts +5 -1
  86. package/pipeline/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +1 -0
  87. package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/parseFunctionParameters.js +1 -1
  88. package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +25 -0
  89. package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +1 -0
  90. package/pipeline/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +73 -0
  91. package/pipeline/loadServerCodeMeta/index.d.ts +1 -0
  92. package/pipeline/loadServerCodeMeta/index.d.ts.map +1 -0
  93. package/pipeline/loadServerCodeMeta/index.js +1 -0
  94. package/{loadServerCodeMeta/serverLoadCodeMeta.d.ts → pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts} +4 -4
  95. package/pipeline/loadServerCodeMeta/loadServerCodeMeta.d.ts.map +1 -0
  96. package/{loadServerCodeMeta/serverLoadCodeMeta.js → pipeline/loadServerCodeMeta/loadServerCodeMeta.js} +18 -3
  97. package/pipeline/loadServerSource/index.d.ts +1 -0
  98. package/pipeline/loadServerSource/index.d.ts.map +1 -0
  99. package/pipeline/loadServerSource/index.js +1 -0
  100. package/{loadServerSource/serverLoadSource.d.ts → pipeline/loadServerSource/loadServerSource.d.ts} +5 -5
  101. package/pipeline/loadServerSource/loadServerSource.d.ts.map +1 -0
  102. package/pipeline/loadServerSource/loadServerSource.js +135 -0
  103. package/pipeline/loaderUtils/externalsToPackages.d.ts +1 -0
  104. package/pipeline/loaderUtils/externalsToPackages.d.ts.map +1 -0
  105. package/pipeline/loaderUtils/externalsToPackages.js +46 -0
  106. package/pipeline/loaderUtils/extractNameAndSlugFromUrl.d.ts +34 -0
  107. package/pipeline/loaderUtils/extractNameAndSlugFromUrl.d.ts.map +1 -0
  108. package/pipeline/loaderUtils/extractNameAndSlugFromUrl.js +161 -0
  109. package/{loaderUtils → pipeline/loaderUtils}/getFileNameFromUrl.d.ts +1 -0
  110. package/pipeline/loaderUtils/getFileNameFromUrl.d.ts.map +1 -0
  111. package/pipeline/loaderUtils/getFileNameFromUrl.js +66 -0
  112. package/pipeline/loaderUtils/index.d.ts +7 -0
  113. package/pipeline/loaderUtils/index.d.ts.map +1 -0
  114. package/pipeline/loaderUtils/index.js +7 -0
  115. package/pipeline/loaderUtils/mergeExternals.d.ts +32 -0
  116. package/pipeline/loaderUtils/mergeExternals.d.ts.map +1 -0
  117. package/pipeline/loaderUtils/mergeExternals.js +72 -0
  118. package/pipeline/loaderUtils/parseImports.d.ts +20 -0
  119. package/pipeline/loaderUtils/parseImports.d.ts.map +1 -0
  120. package/pipeline/loaderUtils/parseImports.js +307 -0
  121. package/{loaderUtils/processImports.d.ts → pipeline/loaderUtils/processRelativeImports.d.ts} +2 -2
  122. package/pipeline/loaderUtils/processRelativeImports.d.ts.map +1 -0
  123. package/pipeline/loaderUtils/processRelativeImports.js +352 -0
  124. package/{loaderUtils → pipeline/loaderUtils}/resolveModulePath.d.ts +19 -6
  125. package/pipeline/loaderUtils/resolveModulePath.d.ts.map +1 -0
  126. package/pipeline/loaderUtils/resolveModulePath.js +1449 -0
  127. package/{loaderUtils → pipeline/loaderUtils}/resolveModulePathWithFs.d.ts +6 -3
  128. package/pipeline/loaderUtils/resolveModulePathWithFs.d.ts.map +1 -0
  129. package/{loaderUtils → pipeline/loaderUtils}/resolveModulePathWithFs.js +8 -4
  130. package/pipeline/loaderUtils/rewriteImports.d.ts +9 -0
  131. package/pipeline/loaderUtils/rewriteImports.d.ts.map +1 -0
  132. package/pipeline/loaderUtils/rewriteImports.js +35 -0
  133. package/pipeline/parseSource/grammars.d.ts.map +1 -0
  134. package/pipeline/parseSource/index.d.ts.map +1 -0
  135. package/pipeline/parseSource/parseSource.d.ts +3 -0
  136. package/pipeline/parseSource/parseSource.d.ts.map +1 -0
  137. package/{parseSource → pipeline/parseSource}/parseSource.js +15 -5
  138. package/pipeline/transformHtmlCode/index.d.ts +2 -0
  139. package/pipeline/transformHtmlCode/index.d.ts.map +1 -0
  140. package/pipeline/transformHtmlCode/index.js +4 -0
  141. package/pipeline/transformHtmlCode/transformHtmlCode.d.ts +13 -0
  142. package/pipeline/transformHtmlCode/transformHtmlCode.d.ts.map +1 -0
  143. package/pipeline/transformHtmlCode/transformHtmlCode.js +303 -0
  144. package/pipeline/transformMarkdownCode/index.d.ts +2 -0
  145. package/pipeline/transformMarkdownCode/index.d.ts.map +1 -0
  146. package/pipeline/transformMarkdownCode/index.js +4 -0
  147. package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts +2 -0
  148. package/pipeline/transformMarkdownCode/transformMarkdownCode.d.ts.map +1 -0
  149. package/pipeline/transformMarkdownCode/transformMarkdownCode.js +514 -0
  150. package/pipeline/transformTypescriptToJavascript/index.d.ts +1 -0
  151. package/pipeline/transformTypescriptToJavascript/index.d.ts.map +1 -0
  152. package/pipeline/transformTypescriptToJavascript/index.js +1 -0
  153. package/pipeline/transformTypescriptToJavascript/removeTypes.d.ts.map +1 -0
  154. package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts +3 -0
  155. package/pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.d.ts.map +1 -0
  156. package/{transformTsToJs/transformTsToJs.js → pipeline/transformTypescriptToJavascript/transformTypescriptToJavascript.js} +4 -4
  157. package/useCode/index.d.ts.map +1 -1
  158. package/useCode/useCode.d.ts +14 -11
  159. package/useCode/useCode.d.ts.map +1 -1
  160. package/useCode/useCode.js +94 -364
  161. package/useCode/useCodeUtils.d.ts +45 -0
  162. package/useCode/useCodeUtils.d.ts.map +1 -0
  163. package/useCode/useCodeUtils.js +240 -0
  164. package/useCode/useCopyFunctionality.d.ts +17 -0
  165. package/useCode/useCopyFunctionality.d.ts.map +1 -0
  166. package/useCode/useCopyFunctionality.js +28 -0
  167. package/useCode/useFileNavigation.d.ts +49 -0
  168. package/useCode/useFileNavigation.d.ts.map +1 -0
  169. package/useCode/useFileNavigation.js +398 -0
  170. package/useCode/useSourceEditing.d.ts +19 -0
  171. package/useCode/useSourceEditing.d.ts.map +1 -0
  172. package/useCode/useSourceEditing.js +32 -0
  173. package/useCode/useTransformManagement.d.ts +28 -0
  174. package/useCode/useTransformManagement.d.ts.map +1 -0
  175. package/useCode/useTransformManagement.js +82 -0
  176. package/useCode/useUIState.d.ts +16 -0
  177. package/useCode/useUIState.d.ts.map +1 -0
  178. package/useCode/useUIState.js +21 -0
  179. package/useCode/useVariantSelection.d.ts +21 -0
  180. package/useCode/useVariantSelection.d.ts.map +1 -0
  181. package/useCode/useVariantSelection.js +84 -0
  182. package/useCopier/index.d.ts +1 -1
  183. package/useCopier/index.d.ts.map +1 -1
  184. package/useCopier/index.js +5 -5
  185. package/useDemo/createCodeSandbox.d.ts +18 -0
  186. package/useDemo/createCodeSandbox.d.ts.map +1 -0
  187. package/useDemo/createCodeSandbox.js +48 -0
  188. package/useDemo/createStackBlitz.d.ts +22 -0
  189. package/useDemo/createStackBlitz.d.ts.map +1 -0
  190. package/useDemo/createStackBlitz.js +38 -0
  191. package/useDemo/examineVariant.d.ts +25 -0
  192. package/useDemo/examineVariant.d.ts.map +1 -0
  193. package/useDemo/examineVariant.js +134 -0
  194. package/useDemo/exportVariant.d.ts +110 -0
  195. package/useDemo/exportVariant.d.ts.map +1 -0
  196. package/useDemo/exportVariant.js +320 -0
  197. package/useDemo/exportVariantAsCra.d.ts +15 -0
  198. package/useDemo/exportVariantAsCra.d.ts.map +1 -0
  199. package/useDemo/exportVariantAsCra.js +56 -0
  200. package/useDemo/flattenVariant.d.ts +17 -0
  201. package/useDemo/flattenVariant.d.ts.map +1 -0
  202. package/useDemo/flattenVariant.js +206 -0
  203. package/useDemo/index.d.ts +6 -39
  204. package/useDemo/index.d.ts.map +1 -1
  205. package/useDemo/index.js +6 -17
  206. package/useDemo/useDemo.d.ts +79 -0
  207. package/useDemo/useDemo.d.ts.map +1 -0
  208. package/useDemo/useDemo.js +174 -0
  209. package/useLocalStorageState/index.d.ts +2 -0
  210. package/useLocalStorageState/index.d.ts.map +1 -0
  211. package/useLocalStorageState/index.js +2 -0
  212. package/useLocalStorageState/useLocalStorageState.d.ts +14 -0
  213. package/useLocalStorageState/useLocalStorageState.d.ts.map +1 -0
  214. package/useLocalStorageState/useLocalStorageState.js +128 -0
  215. package/useOnHydrate/index.d.ts.map +1 -1
  216. package/useOnHydrate/useOnHydrate.d.ts.map +1 -1
  217. package/useOnIdle/index.d.ts.map +1 -1
  218. package/useOnIdle/useOnIdle.d.ts.map +1 -1
  219. package/useUrlHashState/index.d.ts +1 -0
  220. package/useUrlHashState/index.d.ts.map +1 -0
  221. package/useUrlHashState/index.js +1 -0
  222. package/useUrlHashState/useUrlHashState.d.ts +50 -0
  223. package/useUrlHashState/useUrlHashState.d.ts.map +1 -0
  224. package/useUrlHashState/useUrlHashState.js +113 -0
  225. package/hast/hast.d.ts.map +0 -1
  226. package/hast/index.d.ts +0 -1
  227. package/hast/index.d.ts.map +0 -1
  228. package/hast/index.js +0 -1
  229. package/loadPrecomputedCodeHighlighter/index.d.ts.map +0 -1
  230. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts +0 -57
  231. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.d.ts.map +0 -1
  232. package/loadPrecomputedCodeHighlighter/loadPrecomputedCodeHighlighter.js +0 -194
  233. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.d.ts.map +0 -1
  234. package/loadPrecomputedCodeHighlighter/parseCreateFactoryCall.js +0 -243
  235. package/loadPrecomputedCodeHighlighter/parseFunctionParameters.d.ts.map +0 -1
  236. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts +0 -27
  237. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.d.ts.map +0 -1
  238. package/loadPrecomputedCodeHighlighter/replacePrecomputeValue.js +0 -37
  239. package/loadServerCodeMeta/index.d.ts +0 -1
  240. package/loadServerCodeMeta/index.d.ts.map +0 -1
  241. package/loadServerCodeMeta/index.js +0 -1
  242. package/loadServerCodeMeta/serverLoadCodeMeta.d.ts.map +0 -1
  243. package/loadServerSource/index.d.ts +0 -1
  244. package/loadServerSource/index.d.ts.map +0 -1
  245. package/loadServerSource/index.js +0 -1
  246. package/loadServerSource/serverLoadSource.d.ts.map +0 -1
  247. package/loadServerSource/serverLoadSource.js +0 -100
  248. package/loaderUtils/getFileNameFromUrl.d.ts.map +0 -1
  249. package/loaderUtils/getFileNameFromUrl.js +0 -32
  250. package/loaderUtils/index.d.ts +0 -5
  251. package/loaderUtils/index.d.ts.map +0 -1
  252. package/loaderUtils/index.js +0 -5
  253. package/loaderUtils/processImports.d.ts.map +0 -1
  254. package/loaderUtils/processImports.js +0 -82
  255. package/loaderUtils/resolveImports.d.ts +0 -4
  256. package/loaderUtils/resolveImports.d.ts.map +0 -1
  257. package/loaderUtils/resolveImports.js +0 -71
  258. package/loaderUtils/resolveModulePath.d.ts.map +0 -1
  259. package/loaderUtils/resolveModulePath.js +0 -862
  260. package/loaderUtils/resolveModulePathWithFs.d.ts.map +0 -1
  261. package/loaderUtils/rewriteImports.d.ts +0 -9
  262. package/loaderUtils/rewriteImports.d.ts.map +0 -1
  263. package/loaderUtils/rewriteImports.js +0 -57
  264. package/parseSource/grammars.d.ts.map +0 -1
  265. package/parseSource/index.d.ts.map +0 -1
  266. package/parseSource/parseSource.d.ts +0 -3
  267. package/parseSource/parseSource.d.ts.map +0 -1
  268. package/transformRelativeMarkdownPaths/index.d.ts +0 -2
  269. package/transformRelativeMarkdownPaths/index.d.ts.map +0 -1
  270. package/transformRelativeMarkdownPaths/index.js +0 -4
  271. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts +0 -12
  272. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.d.ts.map +0 -1
  273. package/transformRelativeMarkdownPaths/transformRelativeMarkdownPaths.js +0 -30
  274. package/transformTsToJs/index.d.ts +0 -1
  275. package/transformTsToJs/index.d.ts.map +0 -1
  276. package/transformTsToJs/index.js +0 -1
  277. package/transformTsToJs/removeTypes.d.ts.map +0 -1
  278. package/transformTsToJs/transformTsToJs.d.ts +0 -3
  279. package/transformTsToJs/transformTsToJs.d.ts.map +0 -1
  280. /package/{hast/hast.d.ts → pipeline/hastUtils/hastUtils.d.ts} +0 -0
  281. /package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/index.d.ts +0 -0
  282. /package/{loadPrecomputedCodeHighlighter → pipeline/loadPrecomputedCodeHighlighter}/index.js +0 -0
  283. /package/{parseSource → pipeline/parseSource}/grammars.d.ts +0 -0
  284. /package/{parseSource → pipeline/parseSource}/grammars.js +0 -0
  285. /package/{parseSource → pipeline/parseSource}/index.d.ts +0 -0
  286. /package/{parseSource → pipeline/parseSource}/index.js +0 -0
  287. /package/{transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.d.ts +0 -0
  288. /package/{transformTsToJs → pipeline/transformTypescriptToJavascript}/removeTypes.js +0 -0
@@ -0,0 +1,465 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ import { writeFile, mkdir, access, readFile, constants } from 'fs/promises';
4
+ import { dirname, join, relative, basename, parse } from 'path';
5
+ /**
6
+ * Creates a relative import path from source file to target file
7
+ */
8
+ function createRelativePath(fromFile, toFile) {
9
+ var relativePath = relative(dirname(fromFile), toFile);
10
+ // Ensure the path starts with ./ for relative imports
11
+ return relativePath.startsWith('.') ? relativePath : "./".concat(relativePath);
12
+ }
13
+
14
+ /**
15
+ * Creates a structured path for generated externals files based on the source file location
16
+ * Example: app/components/checkbox/demos/basic/index.ts -> generated/demo-externals/app/components/checkbox/demos/basic.tsx
17
+ */
18
+ function createGeneratedFilePath(_x, _x2) {
19
+ return _createGeneratedFilePath.apply(this, arguments);
20
+ }
21
+ /**
22
+ * Determines the appropriate build directory for temporary files
23
+ * to avoid checking generated files into source control.
24
+ */
25
+ function _createGeneratedFilePath() {
26
+ _createGeneratedFilePath = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(resourcePath, projectRoot) {
27
+ var relativePath, parsedPath, targetFilename, targetDir, parentDir, generatedFilePath, relativeImportPath;
28
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
29
+ while (1) switch (_context.prev = _context.next) {
30
+ case 0:
31
+ // Remove the project root from the resource path to get the relative path
32
+ relativePath = resourcePath.replace(projectRoot, '').replace(/^\//, ''); // Parse the path to determine the target filename
33
+ parsedPath = parse(relativePath);
34
+ // If the file is named 'index', use the parent directory name instead
35
+ if (parsedPath.name === 'index') {
36
+ parentDir = basename(parsedPath.dir);
37
+ targetFilename = "".concat(parentDir, ".tsx");
38
+ // Remove the last directory level since we're using it as the filename
39
+ targetDir = dirname(parsedPath.dir);
40
+ } else {
41
+ targetFilename = "".concat(parsedPath.name, ".tsx");
42
+ targetDir = parsedPath.dir;
43
+ }
44
+
45
+ // Create the generated file path
46
+ generatedFilePath = join(projectRoot, 'generated', 'demo-externals', targetDir, targetFilename); // Create relative import path from source file to generated file
47
+ relativeImportPath = createRelativePath(resourcePath, generatedFilePath);
48
+ return _context.abrupt("return", {
49
+ filePath: generatedFilePath,
50
+ relativePath: relativeImportPath
51
+ });
52
+ case 6:
53
+ case "end":
54
+ return _context.stop();
55
+ }
56
+ }, _callee);
57
+ }));
58
+ return _createGeneratedFilePath.apply(this, arguments);
59
+ }
60
+ function getBuildDirectory(_x3) {
61
+ return _getBuildDirectory.apply(this, arguments);
62
+ }
63
+ /**
64
+ * Finds the project root by looking for 'app' directory or common project markers
65
+ */
66
+ function _getBuildDirectory() {
67
+ _getBuildDirectory = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(resourcePath) {
68
+ var projectRoot, buildDirs, _tryDirectories, result, fallbackDir;
69
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
70
+ while (1) switch (_context3.prev = _context3.next) {
71
+ case 0:
72
+ _context3.next = 2;
73
+ return findProjectRoot(resourcePath);
74
+ case 2:
75
+ projectRoot = _context3.sent;
76
+ // Common build directory patterns, in order of preference
77
+ buildDirs = ['.next/cache/externals',
78
+ // Next.js cache directory
79
+ '.turbo/cache/externals',
80
+ // Turbopack cache directory
81
+ 'node_modules/.cache/mui-docs-infra/externals',
82
+ // Node modules cache
83
+ '.cache/mui-docs-infra/externals' // Generic cache directory
84
+ ]; // Recursive function to try each directory
85
+ _tryDirectories = /*#__PURE__*/function () {
86
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(dirs) {
87
+ var index,
88
+ buildDir,
89
+ fullPath,
90
+ _args2 = arguments;
91
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
92
+ while (1) switch (_context2.prev = _context2.next) {
93
+ case 0:
94
+ index = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 0;
95
+ if (!(index >= dirs.length)) {
96
+ _context2.next = 3;
97
+ break;
98
+ }
99
+ return _context2.abrupt("return", null);
100
+ case 3:
101
+ buildDir = dirs[index];
102
+ fullPath = join(projectRoot, buildDir);
103
+ _context2.prev = 5;
104
+ _context2.next = 8;
105
+ return mkdir(fullPath, {
106
+ recursive: true
107
+ });
108
+ case 8:
109
+ return _context2.abrupt("return", fullPath);
110
+ case 11:
111
+ _context2.prev = 11;
112
+ _context2.t0 = _context2["catch"](5);
113
+ return _context2.abrupt("return", _tryDirectories(dirs, index + 1));
114
+ case 14:
115
+ case "end":
116
+ return _context2.stop();
117
+ }
118
+ }, _callee2, null, [[5, 11]]);
119
+ }));
120
+ return function tryDirectories(_x8) {
121
+ return _ref.apply(this, arguments);
122
+ };
123
+ }(); // Try each directory in sequence
124
+ _context3.next = 7;
125
+ return _tryDirectories(buildDirs);
126
+ case 7:
127
+ result = _context3.sent;
128
+ if (!result) {
129
+ _context3.next = 10;
130
+ break;
131
+ }
132
+ return _context3.abrupt("return", result);
133
+ case 10:
134
+ // Fallback to .cache directory in project root
135
+ fallbackDir = join(projectRoot, '.cache/mui-docs-infra/externals');
136
+ _context3.next = 13;
137
+ return mkdir(fallbackDir, {
138
+ recursive: true
139
+ });
140
+ case 13:
141
+ return _context3.abrupt("return", fallbackDir);
142
+ case 14:
143
+ case "end":
144
+ return _context3.stop();
145
+ }
146
+ }, _callee3);
147
+ }));
148
+ return _getBuildDirectory.apply(this, arguments);
149
+ }
150
+ function findProjectRoot(_x4) {
151
+ return _findProjectRoot.apply(this, arguments);
152
+ }
153
+ /**
154
+ * Ensures that the generated demo externals directory is added to .gitignore
155
+ * to prevent accidentally committing these generated files.
156
+ */
157
+ function _findProjectRoot() {
158
+ _findProjectRoot = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(startPath) {
159
+ var rootDir, pathExists, _searchUpwards, startDir, appDirResult, markersResult;
160
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
161
+ while (1) switch (_context8.prev = _context8.next) {
162
+ case 0:
163
+ rootDir = '/'; // Unix filesystem root
164
+ // Helper function to check if a path exists
165
+ pathExists = /*#__PURE__*/function () {
166
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(path) {
167
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
168
+ while (1) switch (_context4.prev = _context4.next) {
169
+ case 0:
170
+ _context4.prev = 0;
171
+ _context4.next = 3;
172
+ return access(path, constants.F_OK);
173
+ case 3:
174
+ return _context4.abrupt("return", true);
175
+ case 6:
176
+ _context4.prev = 6;
177
+ _context4.t0 = _context4["catch"](0);
178
+ return _context4.abrupt("return", false);
179
+ case 9:
180
+ case "end":
181
+ return _context4.stop();
182
+ }
183
+ }, _callee4, null, [[0, 6]]);
184
+ }));
185
+ return function pathExists(_x9) {
186
+ return _ref2.apply(this, arguments);
187
+ };
188
+ }(); // Recursive function to search upwards
189
+ _searchUpwards = /*#__PURE__*/function () {
190
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(currentDir, searchFn) {
191
+ var parentDir;
192
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
193
+ while (1) switch (_context5.prev = _context5.next) {
194
+ case 0:
195
+ if (!(currentDir === rootDir)) {
196
+ _context5.next = 2;
197
+ break;
198
+ }
199
+ return _context5.abrupt("return", null);
200
+ case 2:
201
+ _context5.next = 4;
202
+ return searchFn(currentDir);
203
+ case 4:
204
+ if (!_context5.sent) {
205
+ _context5.next = 6;
206
+ break;
207
+ }
208
+ return _context5.abrupt("return", currentDir);
209
+ case 6:
210
+ parentDir = dirname(currentDir);
211
+ if (!(parentDir === currentDir)) {
212
+ _context5.next = 9;
213
+ break;
214
+ }
215
+ return _context5.abrupt("return", null);
216
+ case 9:
217
+ return _context5.abrupt("return", _searchUpwards(parentDir, searchFn));
218
+ case 10:
219
+ case "end":
220
+ return _context5.stop();
221
+ }
222
+ }, _callee5);
223
+ }));
224
+ return function searchUpwards(_x0, _x1) {
225
+ return _ref3.apply(this, arguments);
226
+ };
227
+ }();
228
+ startDir = dirname(startPath); // First, try to find the 'app' directory
229
+ _context8.next = 6;
230
+ return _searchUpwards(startDir, /*#__PURE__*/function () {
231
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(dir) {
232
+ var appPath;
233
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
234
+ while (1) switch (_context6.prev = _context6.next) {
235
+ case 0:
236
+ appPath = join(dir, 'app');
237
+ return _context6.abrupt("return", pathExists(appPath));
238
+ case 2:
239
+ case "end":
240
+ return _context6.stop();
241
+ }
242
+ }, _callee6);
243
+ }));
244
+ return function (_x10) {
245
+ return _ref4.apply(this, arguments);
246
+ };
247
+ }());
248
+ case 6:
249
+ appDirResult = _context8.sent;
250
+ if (!appDirResult) {
251
+ _context8.next = 9;
252
+ break;
253
+ }
254
+ return _context8.abrupt("return", appDirResult);
255
+ case 9:
256
+ _context8.next = 11;
257
+ return _searchUpwards(startDir, /*#__PURE__*/function () {
258
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(dir) {
259
+ var markers, checks;
260
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
261
+ while (1) switch (_context7.prev = _context7.next) {
262
+ case 0:
263
+ markers = ['package.json', '.git', 'next.config.js', 'next.config.mjs', 'turbo.json']; // Check if any marker exists in this directory
264
+ _context7.next = 3;
265
+ return Promise.all(markers.map(function (marker) {
266
+ return pathExists(join(dir, marker));
267
+ }));
268
+ case 3:
269
+ checks = _context7.sent;
270
+ return _context7.abrupt("return", checks.some(function (exists) {
271
+ return exists;
272
+ }));
273
+ case 5:
274
+ case "end":
275
+ return _context7.stop();
276
+ }
277
+ }, _callee7);
278
+ }));
279
+ return function (_x11) {
280
+ return _ref5.apply(this, arguments);
281
+ };
282
+ }());
283
+ case 11:
284
+ markersResult = _context8.sent;
285
+ if (!markersResult) {
286
+ _context8.next = 14;
287
+ break;
288
+ }
289
+ return _context8.abrupt("return", markersResult);
290
+ case 14:
291
+ return _context8.abrupt("return", dirname(startPath));
292
+ case 15:
293
+ case "end":
294
+ return _context8.stop();
295
+ }
296
+ }, _callee8);
297
+ }));
298
+ return _findProjectRoot.apply(this, arguments);
299
+ }
300
+ function ensureGitignoreEntry(_x5) {
301
+ return _ensureGitignoreEntry.apply(this, arguments);
302
+ }
303
+ /**
304
+ * Emits an externals provider file using the best available method:
305
+ * 1. Use emitFile if available (webpack)
306
+ * 2. Fall back to structured filesystem writing to generated/demo-externals/ (turbopack/other bundlers)
307
+ *
308
+ * @param loaderContext - The loader context with emitFile capability
309
+ * @param externalsProviderInfo - The externals provider file information
310
+ * @returns The import path to use for the generated file
311
+ */
312
+ function _ensureGitignoreEntry() {
313
+ _ensureGitignoreEntry = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(projectRoot) {
314
+ var gitignorePath, entryToAdd, whitelistPattern, whitelistComment, gitignoreContent, needsUpdate, isExplicitlyWhitelisted, gitignoreExists, lines, hasIgnoreEntry, newContent;
315
+ return _regeneratorRuntime().wrap(function _callee9$(_context9) {
316
+ while (1) switch (_context9.prev = _context9.next) {
317
+ case 0:
318
+ gitignorePath = join(projectRoot, '.gitignore');
319
+ entryToAdd = '/generated/demo-externals';
320
+ whitelistPattern = '!/generated/demo-externals';
321
+ whitelistComment = '# mui-docs-infra: allow generated demo externals';
322
+ gitignoreContent = '';
323
+ needsUpdate = false;
324
+ isExplicitlyWhitelisted = false; // Check if .gitignore exists and read it
325
+ gitignoreExists = false;
326
+ _context9.prev = 8;
327
+ _context9.next = 11;
328
+ return access(gitignorePath, constants.F_OK);
329
+ case 11:
330
+ gitignoreExists = true;
331
+ _context9.next = 17;
332
+ break;
333
+ case 14:
334
+ _context9.prev = 14;
335
+ _context9.t0 = _context9["catch"](8);
336
+ // File doesn't exist
337
+ gitignoreExists = false;
338
+ case 17:
339
+ if (!gitignoreExists) {
340
+ _context9.next = 32;
341
+ break;
342
+ }
343
+ _context9.prev = 18;
344
+ _context9.next = 21;
345
+ return readFile(gitignorePath, 'utf8');
346
+ case 21:
347
+ gitignoreContent = _context9.sent;
348
+ // Check if the user has explicitly whitelisted the directory
349
+ lines = gitignoreContent.split('\n');
350
+ isExplicitlyWhitelisted = lines.some(function (line) {
351
+ var trimmed = line.trim();
352
+ return trimmed === whitelistPattern || trimmed === whitelistComment || trimmed.includes('mui-docs-infra: allow generated demo externals');
353
+ });
354
+ if (!isExplicitlyWhitelisted) {
355
+ // Check if the ignore entry already exists
356
+ hasIgnoreEntry = lines.some(function (line) {
357
+ var trimmed = line.trim();
358
+ return trimmed === entryToAdd || trimmed === 'generated/demo-externals' || trimmed === '/generated/demo-externals/' || trimmed === 'generated/demo-externals/';
359
+ });
360
+ if (!hasIgnoreEntry) {
361
+ needsUpdate = true;
362
+ }
363
+ }
364
+ _context9.next = 30;
365
+ break;
366
+ case 27:
367
+ _context9.prev = 27;
368
+ _context9.t1 = _context9["catch"](18);
369
+ // If we can't read the file, we'll create a new one (unless explicitly whitelisted)
370
+ if (!isExplicitlyWhitelisted) {
371
+ needsUpdate = true;
372
+ }
373
+ case 30:
374
+ _context9.next = 33;
375
+ break;
376
+ case 32:
377
+ // No .gitignore exists, we need to create one
378
+ needsUpdate = true;
379
+ case 33:
380
+ if (!(needsUpdate && !isExplicitlyWhitelisted)) {
381
+ _context9.next = 44;
382
+ break;
383
+ }
384
+ // Add the entry to .gitignore
385
+ newContent = gitignoreContent ? "".concat(gitignoreContent.endsWith('\n') ? '' : '\n').concat(entryToAdd, "\n") : "".concat(entryToAdd, "\n");
386
+ _context9.prev = 35;
387
+ _context9.next = 38;
388
+ return writeFile(gitignorePath, gitignoreContent + newContent);
389
+ case 38:
390
+ console.warn("[mui-docs-infra] Added '".concat(entryToAdd, "' to .gitignore to prevent committing generated externals files. ") + "If you want to commit these files, add '".concat(whitelistPattern, "' or '").concat(whitelistComment, "' to your .gitignore."));
391
+ _context9.next = 44;
392
+ break;
393
+ case 41:
394
+ _context9.prev = 41;
395
+ _context9.t2 = _context9["catch"](35);
396
+ console.warn("[mui-docs-infra] Could not update .gitignore file at ".concat(gitignorePath, ". ") + "Consider manually adding '".concat(entryToAdd, "' to prevent committing generated files. Error: ").concat(_context9.t2));
397
+ case 44:
398
+ case "end":
399
+ return _context9.stop();
400
+ }
401
+ }, _callee9, null, [[8, 14], [18, 27], [35, 41]]);
402
+ }));
403
+ return _ensureGitignoreEntry.apply(this, arguments);
404
+ }
405
+ export function emitExternalsProvider(_x6, _x7) {
406
+ return _emitExternalsProvider.apply(this, arguments);
407
+ }
408
+
409
+ // Export helper functions for testing
410
+ function _emitExternalsProvider() {
411
+ _emitExternalsProvider = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee0(loaderContext, externalsProviderInfo) {
412
+ var fileName, projectRoot, _yield$createGenerate, generatedFilePath, relativePath;
413
+ return _regeneratorRuntime().wrap(function _callee0$(_context0) {
414
+ while (1) switch (_context0.prev = _context0.next) {
415
+ case 0:
416
+ if (!loaderContext.emitFile) {
417
+ _context0.next = 4;
418
+ break;
419
+ }
420
+ // Extract just the filename from the full path
421
+ fileName = externalsProviderInfo.fileName.split('/').pop() || externalsProviderInfo.fileName;
422
+ loaderContext.emitFile(fileName, externalsProviderInfo.content);
423
+
424
+ // Return the relative path for import
425
+ return _context0.abrupt("return", externalsProviderInfo.relativePath);
426
+ case 4:
427
+ _context0.next = 6;
428
+ return findProjectRoot(loaderContext.resourcePath);
429
+ case 6:
430
+ projectRoot = _context0.sent;
431
+ _context0.next = 9;
432
+ return createGeneratedFilePath(loaderContext.resourcePath, projectRoot);
433
+ case 9:
434
+ _yield$createGenerate = _context0.sent;
435
+ generatedFilePath = _yield$createGenerate.filePath;
436
+ relativePath = _yield$createGenerate.relativePath;
437
+ _context0.next = 14;
438
+ return mkdir(dirname(generatedFilePath), {
439
+ recursive: true
440
+ });
441
+ case 14:
442
+ _context0.next = 16;
443
+ return ensureGitignoreEntry(projectRoot);
444
+ case 16:
445
+ _context0.next = 18;
446
+ return writeFile(generatedFilePath, externalsProviderInfo.content);
447
+ case 18:
448
+ // Add dependency so bundler watches for changes
449
+ loaderContext.addDependency(generatedFilePath);
450
+ return _context0.abrupt("return", relativePath);
451
+ case 20:
452
+ case "end":
453
+ return _context0.stop();
454
+ }
455
+ }, _callee0);
456
+ }));
457
+ return _emitExternalsProvider.apply(this, arguments);
458
+ }
459
+ export var testHelpers = {
460
+ createRelativePath: createRelativePath,
461
+ createGeneratedFilePath: createGeneratedFilePath,
462
+ getBuildDirectory: getBuildDirectory,
463
+ findProjectRoot: findProjectRoot,
464
+ ensureGitignoreEntry: ensureGitignoreEntry
465
+ };
@@ -0,0 +1,15 @@
1
+ import type { Externals } from "../../CodeHighlighter/types.js";
2
+ /**
3
+ * Generates the content for the CodeExternalsProvider file
4
+ */
5
+ export declare function generateExternalsProviderContent(externals: Externals): string;
6
+ /**
7
+ * Creates externals provider file information.
8
+ * Returns the filename, content, and relative path for import.
9
+ * If no externals exist, returns undefined.
10
+ */
11
+ export declare function createExternalsProvider(externals: Externals, resourcePath: string): {
12
+ relativePath: string;
13
+ fileName: string;
14
+ content: string;
15
+ } | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateExternalsProvider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/loadPrecomputedCodeHighlighter/generateExternalsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AA4L7D;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAuC7E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,GACnB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA2BzE"}