@mintlify/scraping 3.0.187 → 3.0.189

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 (345) hide show
  1. package/README.md +0 -5
  2. package/bin/assert.d.ts +5 -0
  3. package/bin/assert.js +13 -0
  4. package/bin/assert.js.map +1 -0
  5. package/bin/cli.js +43 -72
  6. package/bin/cli.js.map +1 -1
  7. package/bin/components/Accordion.d.ts +5 -0
  8. package/bin/components/Accordion.js +54 -0
  9. package/bin/components/Accordion.js.map +1 -0
  10. package/bin/components/AccordionGroup.d.ts +5 -0
  11. package/bin/components/AccordionGroup.js +52 -0
  12. package/bin/components/AccordionGroup.js.map +1 -0
  13. package/bin/components/Callout.d.ts +5 -0
  14. package/bin/components/Callout.js +114 -0
  15. package/bin/components/Callout.js.map +1 -0
  16. package/bin/components/Card.d.ts +5 -0
  17. package/bin/components/Card.js +135 -0
  18. package/bin/components/Card.js.map +1 -0
  19. package/bin/components/CardGroup.d.ts +5 -0
  20. package/bin/components/CardGroup.js +52 -0
  21. package/bin/components/CardGroup.js.map +1 -0
  22. package/bin/components/CodeGroup.d.ts +5 -0
  23. package/bin/components/CodeGroup.js +166 -0
  24. package/bin/components/CodeGroup.js.map +1 -0
  25. package/bin/components/Frame.d.ts +5 -0
  26. package/bin/components/Frame.js +51 -0
  27. package/bin/components/Frame.js.map +1 -0
  28. package/bin/components/Tabs.d.ts +5 -0
  29. package/bin/components/Tabs.js +122 -0
  30. package/bin/components/Tabs.js.map +1 -0
  31. package/bin/components/link.d.ts +2 -0
  32. package/bin/components/link.js +16 -0
  33. package/bin/components/link.js.map +1 -0
  34. package/bin/constants.d.ts +6 -7
  35. package/bin/constants.js +31 -12
  36. package/bin/constants.js.map +1 -1
  37. package/bin/customComponents/create.d.ts +10 -0
  38. package/bin/customComponents/create.js +69 -0
  39. package/bin/customComponents/create.js.map +1 -0
  40. package/bin/customComponents/plugin.d.ts +2 -0
  41. package/bin/customComponents/plugin.js +26 -0
  42. package/bin/customComponents/plugin.js.map +1 -0
  43. package/bin/customComponents/selective.d.ts +6 -0
  44. package/bin/customComponents/selective.js +29 -0
  45. package/bin/customComponents/selective.js.map +1 -0
  46. package/bin/nav/iterate.d.ts +2 -0
  47. package/bin/nav/iterate.js +15 -0
  48. package/bin/nav/iterate.js.map +1 -0
  49. package/bin/nav/listItems.d.ts +8 -0
  50. package/bin/nav/listItems.js +62 -0
  51. package/bin/nav/listItems.js.map +1 -0
  52. package/bin/nav/retrieve.d.ts +3 -0
  53. package/bin/nav/retrieve.js +75 -0
  54. package/bin/nav/retrieve.js.map +1 -0
  55. package/bin/nav/root.d.ts +2 -0
  56. package/bin/nav/root.js +40 -0
  57. package/bin/nav/root.js.map +1 -0
  58. package/bin/openapi/generateOpenApiPages.js +2 -2
  59. package/bin/openapi/generateOpenApiPages.js.map +1 -1
  60. package/bin/root/retrieve.d.ts +2 -0
  61. package/bin/root/retrieve.js +46 -0
  62. package/bin/root/retrieve.js.map +1 -0
  63. package/bin/scrapingPipeline/group.d.ts +5 -0
  64. package/bin/scrapingPipeline/group.js +46 -0
  65. package/bin/scrapingPipeline/group.js.map +1 -0
  66. package/bin/scrapingPipeline/icon.d.ts +2 -0
  67. package/bin/scrapingPipeline/icon.js +22 -0
  68. package/bin/scrapingPipeline/icon.js.map +1 -0
  69. package/bin/scrapingPipeline/images.d.ts +3 -0
  70. package/bin/scrapingPipeline/images.js +50 -0
  71. package/bin/scrapingPipeline/images.js.map +1 -0
  72. package/bin/scrapingPipeline/logo.d.ts +5 -0
  73. package/bin/scrapingPipeline/logo.js +92 -0
  74. package/bin/scrapingPipeline/logo.js.map +1 -0
  75. package/bin/scrapingPipeline/page.d.ts +6 -0
  76. package/bin/scrapingPipeline/page.js +102 -0
  77. package/bin/scrapingPipeline/page.js.map +1 -0
  78. package/bin/scrapingPipeline/root.d.ts +2 -0
  79. package/bin/scrapingPipeline/root.js +8 -0
  80. package/bin/scrapingPipeline/root.js.map +1 -0
  81. package/bin/scrapingPipeline/site.d.ts +7 -0
  82. package/bin/scrapingPipeline/site.js +129 -0
  83. package/bin/scrapingPipeline/site.js.map +1 -0
  84. package/bin/scrapingPipeline/tabs.d.ts +3 -0
  85. package/bin/scrapingPipeline/tabs.js +67 -0
  86. package/bin/scrapingPipeline/tabs.js.map +1 -0
  87. package/bin/tabs/retrieveReadme.d.ts +3 -0
  88. package/bin/tabs/retrieveReadme.js +78 -0
  89. package/bin/tabs/retrieveReadme.js.map +1 -0
  90. package/bin/tsconfig.build.tsbuildinfo +1 -1
  91. package/bin/types/components.d.ts +2 -0
  92. package/bin/types/components.js +2 -0
  93. package/bin/types/components.js.map +1 -0
  94. package/bin/types/framework.d.ts +8 -0
  95. package/bin/types/framework.js +3 -0
  96. package/bin/types/framework.js.map +1 -0
  97. package/bin/types/hast.d.ts +6 -0
  98. package/bin/types/hast.js +2 -0
  99. package/bin/types/hast.js.map +1 -0
  100. package/bin/types/result.d.ts +7 -0
  101. package/bin/types/result.js +2 -0
  102. package/bin/types/result.js.map +1 -0
  103. package/bin/types/scrapeFunc.d.ts +3 -0
  104. package/bin/types/scrapeFunc.js +2 -0
  105. package/bin/types/scrapeFunc.js.map +1 -0
  106. package/bin/utils/append.d.ts +1 -0
  107. package/bin/utils/append.js +12 -0
  108. package/bin/utils/append.js.map +1 -0
  109. package/bin/utils/children.d.ts +5 -0
  110. package/bin/utils/children.js +35 -0
  111. package/bin/utils/children.js.map +1 -0
  112. package/bin/utils/className.d.ts +3 -0
  113. package/bin/utils/className.js +13 -0
  114. package/bin/utils/className.js.map +1 -0
  115. package/bin/utils/detectFramework.d.ts +4 -0
  116. package/bin/utils/detectFramework.js +60 -0
  117. package/bin/utils/detectFramework.js.map +1 -0
  118. package/bin/utils/emptyParagraphs.d.ts +3 -0
  119. package/bin/utils/emptyParagraphs.js +19 -0
  120. package/bin/utils/emptyParagraphs.js.map +1 -0
  121. package/bin/utils/errors.d.ts +3 -0
  122. package/bin/utils/errors.js +16 -0
  123. package/bin/utils/errors.js.map +1 -0
  124. package/bin/utils/escape.d.ts +2 -0
  125. package/bin/utils/escape.js +25 -0
  126. package/bin/utils/escape.js.map +1 -0
  127. package/bin/utils/extension.d.ts +3 -0
  128. package/bin/utils/extension.js +18 -0
  129. package/bin/utils/extension.js.map +1 -0
  130. package/bin/utils/file.d.ts +4 -0
  131. package/bin/utils/file.js +43 -0
  132. package/bin/utils/file.js.map +1 -0
  133. package/bin/utils/firstChild.d.ts +2 -0
  134. package/bin/utils/firstChild.js +12 -0
  135. package/bin/utils/firstChild.js.map +1 -0
  136. package/bin/utils/images.d.ts +5 -0
  137. package/bin/utils/images.js +86 -0
  138. package/bin/utils/images.js.map +1 -0
  139. package/bin/utils/img.d.ts +2 -0
  140. package/bin/utils/img.js +15 -0
  141. package/bin/utils/img.js.map +1 -0
  142. package/bin/utils/log.d.ts +18 -0
  143. package/bin/utils/log.js +68 -0
  144. package/bin/utils/log.js.map +1 -0
  145. package/bin/utils/nestedRoots.d.ts +7 -0
  146. package/bin/utils/nestedRoots.js +19 -0
  147. package/bin/utils/nestedRoots.js.map +1 -0
  148. package/bin/utils/network.d.ts +5 -0
  149. package/bin/utils/network.js +82 -0
  150. package/bin/utils/network.js.map +1 -0
  151. package/bin/utils/path.d.ts +1 -0
  152. package/bin/utils/path.js +22 -0
  153. package/bin/utils/path.js.map +1 -0
  154. package/bin/utils/position.d.ts +3 -0
  155. package/bin/utils/position.js +12 -0
  156. package/bin/utils/position.js.map +1 -0
  157. package/bin/utils/reservedNames.d.ts +4 -0
  158. package/bin/utils/reservedNames.js +27 -0
  159. package/bin/utils/reservedNames.js.map +1 -0
  160. package/bin/utils/strings.d.ts +2 -0
  161. package/bin/utils/strings.js +7 -0
  162. package/bin/utils/strings.js.map +1 -0
  163. package/bin/utils/text.d.ts +2 -0
  164. package/bin/utils/text.js +11 -0
  165. package/bin/utils/text.js.map +1 -0
  166. package/bin/utils/title.d.ts +10 -0
  167. package/bin/utils/title.js +58 -0
  168. package/bin/utils/title.js.map +1 -0
  169. package/bin/utils/url.d.ts +3 -0
  170. package/bin/utils/url.js +10 -0
  171. package/bin/utils/url.js.map +1 -0
  172. package/package.json +20 -11
  173. package/src/assert.ts +15 -0
  174. package/src/cli.ts +53 -90
  175. package/src/components/Accordion.ts +84 -0
  176. package/src/components/AccordionGroup.ts +69 -0
  177. package/src/components/Callout.ts +159 -0
  178. package/src/components/Card.ts +168 -0
  179. package/src/components/CardGroup.ts +69 -0
  180. package/src/components/CodeGroup.ts +209 -0
  181. package/src/components/Frame.ts +86 -0
  182. package/src/components/Tabs.ts +154 -0
  183. package/src/components/link.ts +17 -0
  184. package/src/constants.ts +37 -19
  185. package/src/customComponents/create.ts +106 -0
  186. package/src/customComponents/plugin.ts +31 -0
  187. package/src/customComponents/selective.ts +37 -0
  188. package/src/nav/iterate.ts +18 -0
  189. package/src/nav/listItems.ts +82 -0
  190. package/src/nav/retrieve.ts +88 -0
  191. package/src/nav/root.ts +47 -0
  192. package/src/openapi/generateOpenApiPages.ts +2 -2
  193. package/src/root/retrieve.ts +52 -0
  194. package/src/scrapingPipeline/group.ts +62 -0
  195. package/src/scrapingPipeline/icon.ts +26 -0
  196. package/src/scrapingPipeline/images.ts +67 -0
  197. package/src/scrapingPipeline/logo.ts +127 -0
  198. package/src/scrapingPipeline/page.ts +130 -0
  199. package/src/scrapingPipeline/root.ts +10 -0
  200. package/src/scrapingPipeline/site.ts +161 -0
  201. package/src/scrapingPipeline/tabs.ts +87 -0
  202. package/src/tabs/retrieveReadme.ts +99 -0
  203. package/src/types/components.ts +3 -0
  204. package/src/types/framework.ts +10 -0
  205. package/src/types/hast.ts +12 -0
  206. package/src/types/result.ts +1 -0
  207. package/src/types/scrapeFunc.ts +9 -0
  208. package/src/utils/append.ts +9 -0
  209. package/src/utils/children.ts +51 -0
  210. package/src/utils/className.ts +14 -0
  211. package/src/utils/detectFramework.ts +72 -0
  212. package/src/utils/emptyParagraphs.ts +21 -0
  213. package/src/utils/errors.ts +24 -0
  214. package/src/utils/escape.ts +30 -0
  215. package/src/utils/extension.ts +19 -0
  216. package/src/utils/file.ts +58 -0
  217. package/src/utils/firstChild.ts +13 -0
  218. package/src/utils/images.ts +101 -0
  219. package/src/utils/img.ts +17 -0
  220. package/src/utils/log.ts +82 -0
  221. package/src/utils/nestedRoots.ts +20 -0
  222. package/src/utils/network.ts +95 -0
  223. package/src/utils/path.ts +27 -0
  224. package/src/utils/position.ts +14 -0
  225. package/src/utils/reservedNames.ts +31 -0
  226. package/src/utils/strings.ts +7 -0
  227. package/src/utils/text.ts +11 -0
  228. package/src/utils/title.ts +68 -0
  229. package/src/utils/url.ts +8 -0
  230. package/bin/browser.d.ts +0 -2
  231. package/bin/browser.js +0 -24
  232. package/bin/browser.js.map +0 -1
  233. package/bin/checks.d.ts +0 -8
  234. package/bin/checks.js +0 -24
  235. package/bin/checks.js.map +0 -1
  236. package/bin/downloadImage.d.ts +0 -5
  237. package/bin/downloadImage.js +0 -88
  238. package/bin/downloadImage.js.map +0 -1
  239. package/bin/scraping/combineNavWithEmptyGroupTitles.d.ts +0 -2
  240. package/bin/scraping/combineNavWithEmptyGroupTitles.js +0 -20
  241. package/bin/scraping/combineNavWithEmptyGroupTitles.js.map +0 -1
  242. package/bin/scraping/detectFramework.d.ts +0 -9
  243. package/bin/scraping/detectFramework.js +0 -36
  244. package/bin/scraping/detectFramework.js.map +0 -1
  245. package/bin/scraping/downloadAllImages.d.ts +0 -4
  246. package/bin/scraping/downloadAllImages.js +0 -36
  247. package/bin/scraping/downloadAllImages.js.map +0 -1
  248. package/bin/scraping/downloadLogoImage.d.ts +0 -1
  249. package/bin/scraping/downloadLogoImage.js +0 -12
  250. package/bin/scraping/downloadLogoImage.js.map +0 -1
  251. package/bin/scraping/replaceImagePaths.d.ts +0 -1
  252. package/bin/scraping/replaceImagePaths.js +0 -14
  253. package/bin/scraping/replaceImagePaths.js.map +0 -1
  254. package/bin/scraping/scrapeFileGettingFileNameFromUrl.d.ts +0 -6
  255. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js +0 -46
  256. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js.map +0 -1
  257. package/bin/scraping/scrapeGettingFileNameFromUrl.d.ts +0 -6
  258. package/bin/scraping/scrapeGettingFileNameFromUrl.js +0 -13
  259. package/bin/scraping/scrapeGettingFileNameFromUrl.js.map +0 -1
  260. package/bin/scraping/scrapePage.d.ts +0 -8
  261. package/bin/scraping/scrapePage.js +0 -10
  262. package/bin/scraping/scrapePage.js.map +0 -1
  263. package/bin/scraping/scrapePageCommands.d.ts +0 -7
  264. package/bin/scraping/scrapePageCommands.js +0 -50
  265. package/bin/scraping/scrapePageCommands.js.map +0 -1
  266. package/bin/scraping/scrapeSection.d.ts +0 -3
  267. package/bin/scraping/scrapeSection.js +0 -12
  268. package/bin/scraping/scrapeSection.js.map +0 -1
  269. package/bin/scraping/scrapeSectionCommands.d.ts +0 -6
  270. package/bin/scraping/scrapeSectionCommands.js +0 -63
  271. package/bin/scraping/scrapeSectionCommands.js.map +0 -1
  272. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.d.ts +0 -5
  273. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.js +0 -29
  274. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.js.map +0 -1
  275. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.d.ts +0 -2
  276. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.js +0 -31
  277. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.js.map +0 -1
  278. package/bin/scraping/site-scrapers/alternateGroupTitle.d.ts +0 -3
  279. package/bin/scraping/site-scrapers/alternateGroupTitle.js +0 -9
  280. package/bin/scraping/site-scrapers/alternateGroupTitle.js.map +0 -1
  281. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.d.ts +0 -5
  282. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.js +0 -33
  283. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.js.map +0 -1
  284. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.d.ts +0 -3
  285. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.js +0 -35
  286. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.js.map +0 -1
  287. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.d.ts +0 -3
  288. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.js +0 -33
  289. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.js.map +0 -1
  290. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.d.ts +0 -2
  291. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.js +0 -30
  292. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.js.map +0 -1
  293. package/bin/scraping/site-scrapers/openNestedGitbookMenus.d.ts +0 -2
  294. package/bin/scraping/site-scrapers/openNestedGitbookMenus.js +0 -21
  295. package/bin/scraping/site-scrapers/openNestedGitbookMenus.js.map +0 -1
  296. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.d.ts +0 -5
  297. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.js +0 -53
  298. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.js.map +0 -1
  299. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.d.ts +0 -2
  300. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js +0 -32
  301. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js.map +0 -1
  302. package/bin/scraping/site-scrapers/scrapeGitBookPage.d.ts +0 -5
  303. package/bin/scraping/site-scrapers/scrapeGitBookPage.js +0 -56
  304. package/bin/scraping/site-scrapers/scrapeGitBookPage.js.map +0 -1
  305. package/bin/scraping/site-scrapers/scrapeGitBookSection.d.ts +0 -2
  306. package/bin/scraping/site-scrapers/scrapeGitBookSection.js +0 -42
  307. package/bin/scraping/site-scrapers/scrapeGitBookSection.js.map +0 -1
  308. package/bin/scraping/site-scrapers/scrapeReadMePage.d.ts +0 -5
  309. package/bin/scraping/site-scrapers/scrapeReadMePage.js +0 -38
  310. package/bin/scraping/site-scrapers/scrapeReadMePage.js.map +0 -1
  311. package/bin/scraping/site-scrapers/scrapeReadMeSection.d.ts +0 -2
  312. package/bin/scraping/site-scrapers/scrapeReadMeSection.js +0 -39
  313. package/bin/scraping/site-scrapers/scrapeReadMeSection.js.map +0 -1
  314. package/bin/util.d.ts +0 -29
  315. package/bin/util.js +0 -97
  316. package/bin/util.js.map +0 -1
  317. package/src/browser.ts +0 -24
  318. package/src/checks.ts +0 -32
  319. package/src/downloadImage.ts +0 -102
  320. package/src/scraping/combineNavWithEmptyGroupTitles.ts +0 -21
  321. package/src/scraping/detectFramework.ts +0 -55
  322. package/src/scraping/downloadAllImages.ts +0 -61
  323. package/src/scraping/downloadLogoImage.ts +0 -24
  324. package/src/scraping/replaceImagePaths.ts +0 -17
  325. package/src/scraping/scrapeFileGettingFileNameFromUrl.ts +0 -84
  326. package/src/scraping/scrapeGettingFileNameFromUrl.ts +0 -56
  327. package/src/scraping/scrapePage.ts +0 -40
  328. package/src/scraping/scrapePageCommands.ts +0 -68
  329. package/src/scraping/scrapeSection.ts +0 -30
  330. package/src/scraping/scrapeSectionCommands.ts +0 -98
  331. package/src/scraping/site-scrapers/Intercom/scrapeIntercomPage.ts +0 -52
  332. package/src/scraping/site-scrapers/Intercom/scrapeIntercomSection.ts +0 -54
  333. package/src/scraping/site-scrapers/alternateGroupTitle.ts +0 -11
  334. package/src/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.ts +0 -45
  335. package/src/scraping/site-scrapers/links-per-group/getLinksRecursively.ts +0 -47
  336. package/src/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.ts +0 -44
  337. package/src/scraping/site-scrapers/openNestedDocusaurusMenus.ts +0 -42
  338. package/src/scraping/site-scrapers/openNestedGitbookMenus.ts +0 -27
  339. package/src/scraping/site-scrapers/scrapeDocusaurusPage.ts +0 -85
  340. package/src/scraping/site-scrapers/scrapeDocusaurusSection.ts +0 -63
  341. package/src/scraping/site-scrapers/scrapeGitBookPage.ts +0 -82
  342. package/src/scraping/site-scrapers/scrapeGitBookSection.ts +0 -69
  343. package/src/scraping/site-scrapers/scrapeReadMePage.ts +0 -56
  344. package/src/scraping/site-scrapers/scrapeReadMeSection.ts +0 -66
  345. package/src/util.ts +0 -122
@@ -0,0 +1,2 @@
1
+ import { ESCAPED_COMPONENTS } from '../constants.js';
2
+ export type EscapedComponent = (typeof ESCAPED_COMPONENTS)[number];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/types/components.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare const docVendors: readonly ["gitbook", "readme", "docusaurus", undefined];
2
+ export declare const docusaurusVersions: readonly [2, 3];
3
+ export type DocusaurusVersion = (typeof docusaurusVersions)[number];
4
+ export type FrameworkVendor = (typeof docVendors)[number];
5
+ export type Framework = {
6
+ vendor: FrameworkVendor | undefined;
7
+ version: DocusaurusVersion | undefined;
8
+ };
@@ -0,0 +1,3 @@
1
+ export const docVendors = ['gitbook', 'readme', 'docusaurus', undefined];
2
+ export const docusaurusVersions = [2, 3];
3
+ //# sourceMappingURL=framework.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/types/framework.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Root as HastRoot, Element, ElementContent } from 'hast';
2
+ import type { MdxJsxFlowElementHast, MdxJsxTextElementHast } from 'mdast-util-mdx-jsx';
3
+ export type HastNode = Element;
4
+ export type HastNodeIndex = number | undefined;
5
+ export type HastNodeParent = Element | MdxJsxTextElementHast | MdxJsxFlowElementHast | HastRoot | undefined;
6
+ export type HastChildrenType = Array<ElementContent>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hast.js","sourceRoot":"","sources":["../../src/types/hast.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export type Result<T> = {
2
+ success: true;
3
+ data?: T;
4
+ } | {
5
+ success: false;
6
+ message: string;
7
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { Element } from 'hast';
2
+ import type { HastNode, HastNodeIndex, HastNodeParent } from './hast.js';
3
+ export type ScrapeFuncType = (node: HastNode, index: HastNodeIndex, parent: HastNodeParent) => Element | undefined;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scrapeFunc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrapeFunc.js","sourceRoot":"","sources":["../../src/types/scrapeFunc.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function dedupedAppend<T>(item: T, arr: Array<T>, prepend?: boolean): Array<T>;
@@ -0,0 +1,12 @@
1
+ export function dedupedAppend(item, arr, prepend) {
2
+ if (arr.includes(item))
3
+ return arr;
4
+ if (prepend) {
5
+ arr.unshift(item);
6
+ }
7
+ else {
8
+ arr.push(item);
9
+ }
10
+ return arr;
11
+ }
12
+ //# sourceMappingURL=append.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append.js","sourceRoot":"","sources":["../../src/utils/append.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAI,IAAO,EAAE,GAAa,EAAE,OAAiB;IACxE,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ElementContent, type Comment, type Text, type Element, type RootContent as HastRootContent } from 'hast';
2
+ import type { RootContent as MdastRootContent } from 'mdast';
3
+ export declare function turnChildrenIntoMdx(children: Array<HastRootContent | ElementContent | Element | Comment | Text>, opts?: {
4
+ jsxImages: boolean;
5
+ }): Array<MdastRootContent>;
@@ -0,0 +1,35 @@
1
+ import { toMdast, defaultHandlers } from 'hast-util-to-mdast';
2
+ import { unified } from 'unified';
3
+ import { mdxJsxFlowElementHandler } from '../customComponents/selective.js';
4
+ export function turnChildrenIntoMdx(children, opts = { jsxImages: false }) {
5
+ const hast = {
6
+ type: 'root',
7
+ children: children,
8
+ };
9
+ const handlers = { ...defaultHandlers };
10
+ if (opts.jsxImages) {
11
+ handlers['img'] = function (_, node) {
12
+ Object.keys(node.properties).forEach((key) => {
13
+ if (key !== 'src')
14
+ delete node.properties[key];
15
+ });
16
+ return mdxJsxFlowElementHandler(_, node);
17
+ };
18
+ }
19
+ const mdxAst = unified()
20
+ .use(function () {
21
+ return function (tree) {
22
+ const newTree = toMdast(tree, {
23
+ handlers,
24
+ });
25
+ return newTree;
26
+ };
27
+ })
28
+ .runSync(hast);
29
+ mdxAst.children.forEach((child, index) => {
30
+ if (child.type === 'html')
31
+ mdxAst.children.splice(index, 1);
32
+ });
33
+ return mdxAst.children;
34
+ }
35
+ //# sourceMappingURL=children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"children.js","sourceRoot":"","sources":["../../src/utils/children.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,MAAM,UAAU,mBAAmB,CACjC,QAA4E,EAC5E,OAA+B,EAAE,SAAS,EAAE,KAAK,EAAE;IAEnD,MAAM,IAAI,GAAa;QACrB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEF,MAAM,QAAQ,GAA2B,EAAE,GAAG,eAAe,EAAE,CAAC;IAChE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,QAAQ,CAAC,KAAK,CAAC,GAAG,UAAU,CAAQ,EAAE,IAAa;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,KAAK,KAAK;oBAAE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,OAAO,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,EAAE;SACrB,GAAG,CAAC;QACH,OAAO,UAAU,IAAc;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE;gBAC5B,QAAQ;aACT,CAAc,CAAC;YAChB,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,CAAC;SACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Element } from 'hast';
2
+ export declare function unifiedRemoveClassNames(): (node: Element) => undefined;
3
+ export declare function removeClassNames(node: Element): undefined;
@@ -0,0 +1,13 @@
1
+ import { visit } from 'unist-util-visit';
2
+ export function unifiedRemoveClassNames() {
3
+ return function (node) {
4
+ return removeClassNames(node);
5
+ };
6
+ }
7
+ export function removeClassNames(node) {
8
+ return visit(node, 'element', function (subNode) {
9
+ if ('properties' in subNode)
10
+ delete subNode.properties.className;
11
+ });
12
+ }
13
+ //# sourceMappingURL=className.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"className.js","sourceRoot":"","sources":["../../src/utils/className.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,UAAU,uBAAuB;IACrC,OAAO,UAAU,IAAa;QAC5B,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,OAAO,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,OAAO;QAC7C,IAAI,YAAY,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Root } from 'hast';
2
+ import type { Framework } from '../types/framework.js';
3
+ export declare const framework: Framework;
4
+ export declare function detectFramework(rootHast: Root): void;
@@ -0,0 +1,60 @@
1
+ import { visit, EXIT, CONTINUE } from 'unist-util-visit';
2
+ import { log } from './log.js';
3
+ export const framework = {
4
+ vendor: undefined,
5
+ version: undefined,
6
+ };
7
+ export function detectFramework(rootHast) {
8
+ visit(rootHast, 'element', function (node) {
9
+ if (node.tagName === 'link' &&
10
+ Array.isArray(node.properties.rel) &&
11
+ node.properties.rel.includes('preconnect') &&
12
+ node.properties.href === 'https://api.gitbook.com') {
13
+ framework.vendor = 'gitbook';
14
+ framework.version = undefined;
15
+ return EXIT;
16
+ }
17
+ // All of the other docs vendors rely on
18
+ // the `meta` element as well as a `name`
19
+ // property which should be a string
20
+ if (node.tagName !== 'meta' || typeof node.properties.name !== 'string')
21
+ return CONTINUE;
22
+ switch (node.properties.name) {
23
+ case 'readme-deploy':
24
+ framework.vendor = 'readme';
25
+ framework.version = undefined;
26
+ return EXIT;
27
+ // case "intercom: trackingEvent":
28
+ // framework.vendor = "intercom";
29
+ // framework.version = undefined;
30
+ // return EXIT;
31
+ case 'generator':
32
+ if (typeof node.properties.content === 'string' &&
33
+ node.properties.content.includes('Docusaurus')) {
34
+ framework.vendor = 'docusaurus';
35
+ const meta = node.properties.content;
36
+ if (meta.includes('v3')) {
37
+ framework.version = 3;
38
+ }
39
+ else if (meta.includes('v2')) {
40
+ framework.version = 2;
41
+ }
42
+ else if (meta.includes('v1')) {
43
+ log('We detected Docusaurus version 1 but we only support scraping versions 2 and 3', 'error');
44
+ framework.vendor = undefined;
45
+ framework.version = undefined;
46
+ }
47
+ return EXIT;
48
+ }
49
+ }
50
+ });
51
+ if (framework.vendor) {
52
+ log('Successfully detected documentation vendor: ' + framework.vendor);
53
+ }
54
+ else {
55
+ log('Failed to detect documentation vendor; please contact support@mintlify.com');
56
+ framework.version = undefined;
57
+ process.exit(1);
58
+ }
59
+ }
60
+ //# sourceMappingURL=detectFramework.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectFramework.js","sourceRoot":"","sources":["../../src/utils/detectFramework.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGzD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,QAAc;IAC5C,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,IAAI;QACvC,IACE,IAAI,CAAC,OAAO,KAAK,MAAM;YACvB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,yBAAyB,EAClD,CAAC;YACD,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;YAC7B,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wCAAwC;QACxC,yCAAyC;QACzC,oCAAoC;QACpC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAEzF,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7B,KAAK,eAAe;gBAClB,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC5B,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC9B,OAAO,IAAI,CAAC;YAEd,kCAAkC;YAClC,mCAAmC;YACnC,mCAAmC;YACnC,iBAAiB;YAEjB,KAAK,WAAW;gBACd,IACE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,QAAQ;oBAC3C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC9C,CAAC;oBACD,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC;oBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;oBACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,GAAG,CACD,gFAAgF,EAChF,OAAO,CACR,CAAC;wBACF,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;wBAC7B,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;oBAChC,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,GAAG,CAAC,8CAA8C,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAClF,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { MdxJsxFlowElement } from 'mdast-util-mdx-jsx';
2
+ export declare function unifiedRemoveEmptyParagraphs(): (node: MdxJsxFlowElement) => undefined;
3
+ export declare function removeEmptyParagraphs(node: MdxJsxFlowElement): undefined;
@@ -0,0 +1,19 @@
1
+ import { visit } from 'unist-util-visit';
2
+ export function unifiedRemoveEmptyParagraphs() {
3
+ return function (node) {
4
+ return removeEmptyParagraphs(node);
5
+ };
6
+ }
7
+ export function removeEmptyParagraphs(node) {
8
+ return visit(node, 'paragraph', function (subNode, index, parent) {
9
+ let emptyChildrenCount = 0;
10
+ for (const child of subNode.children) {
11
+ if ('children' in child && child.children.length === 0)
12
+ emptyChildrenCount++;
13
+ }
14
+ if (emptyChildrenCount === subNode.children.length && parent && typeof index === 'number') {
15
+ parent.children.splice(index, 1);
16
+ }
17
+ });
18
+ }
19
+ //# sourceMappingURL=emptyParagraphs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptyParagraphs.js","sourceRoot":"","sources":["../../src/utils/emptyParagraphs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,UAAU,4BAA4B;IAC1C,OAAO,UAAU,IAAuB;QACtC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,OAAO,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,OAAO,EAAE,KAAK,EAAE,MAAM;QAC9D,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,UAAU,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,kBAAkB,EAAE,CAAC;QAC/E,CAAC;QAED,IAAI,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC1F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Result } from '../types/result.js';
2
+ export declare function getErrorMessage(error: unknown): string;
3
+ export declare function logErrorResults(actionThatFailed: string, results: Array<Result<[string, string]>>): void;
@@ -0,0 +1,16 @@
1
+ import { log } from './log.js';
2
+ export function getErrorMessage(error) {
3
+ return error instanceof Error ? `: ${error.message}` : '';
4
+ }
5
+ export function logErrorResults(actionThatFailed, results) {
6
+ const sumOfErrors = results.reduce((prev, curr) => (Number.isNaN(Number(curr.success)) ? prev : prev + Number(!curr.success)), 0);
7
+ if (sumOfErrors > 0) {
8
+ log(`We encountered ${sumOfErrors} errors when ${actionThatFailed}`, 'warn');
9
+ results.forEach((result) => {
10
+ if (result.success)
11
+ return;
12
+ log(result.message, 'failure');
13
+ });
14
+ }
15
+ }
16
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,gBAAwB,EACxB,OAAwC;IAExC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC1F,CAAC,CACF,CAAC;IAEF,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,kBAAkB,WAAW,gBAAgB,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7E,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC3B,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Root } from 'hast';
2
+ export declare function escapeCharactersOutsideCodeBlocks(): (tree: Root) => void;
@@ -0,0 +1,25 @@
1
+ import { CONTINUE, SKIP, visit } from 'unist-util-visit';
2
+ export function escapeCharactersOutsideCodeBlocks() {
3
+ const charsToEscape = ['<', '{', '`'];
4
+ const escapeRegex = new RegExp(`[${charsToEscape.join('')}]`, 'g');
5
+ return function (tree) {
6
+ visit(tree, function (node) {
7
+ if (node.type === 'element') {
8
+ if (node.tagName === 'pre' || node.tagName === 'code') {
9
+ return SKIP;
10
+ }
11
+ }
12
+ if (node.type === 'text') {
13
+ const escapedText = node.value.replace(escapeRegex, (match) => {
14
+ return `\\${match}`;
15
+ });
16
+ if (escapedText !== node.value) {
17
+ node.value = escapedText;
18
+ return CONTINUE;
19
+ }
20
+ }
21
+ return CONTINUE;
22
+ });
23
+ };
24
+ }
25
+ //# sourceMappingURL=escape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escape.js","sourceRoot":"","sources":["../../src/utils/escape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,UAAU,iCAAiC;IAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEnE,OAAO,UAAU,IAAU;QACzB,KAAK,CAAC,IAAI,EAAE,UAAU,IAAI;YACxB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBACtD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC5D,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;gBAEH,IAAI,WAAW,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;oBACzB,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function addMdx(filename: string): string;
2
+ export declare function getFileExtension(filename: string): string | undefined;
3
+ export declare function fileBelongsInPagesFolder(filename: string): boolean;
@@ -0,0 +1,18 @@
1
+ export function addMdx(filename) {
2
+ if (filename.endsWith('.mdx')) {
3
+ return filename;
4
+ }
5
+ return filename + '.mdx';
6
+ }
7
+ export function getFileExtension(filename) {
8
+ const extBeginsIndex = filename.lastIndexOf('.') + 1;
9
+ const ext = filename.substring(extBeginsIndex);
10
+ if (filename === ext)
11
+ return undefined;
12
+ return ext.toLowerCase();
13
+ }
14
+ export function fileBelongsInPagesFolder(filename) {
15
+ const extension = getFileExtension(filename);
16
+ return !!extension && (extension === 'mdx' || extension === 'md' || extension === 'tsx');
17
+ }
18
+ //# sourceMappingURL=extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/utils/extension.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,QAAgB;IACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,GAAG,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE/C,IAAI,QAAQ,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC;AAC3F,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function write(filename: string, data: string | NodeJS.TypedArray): void;
2
+ export declare function toFilename(title: string): string;
3
+ export declare function writePage(filename?: string | URL, title?: string, description?: string, markdown?: string, url?: string): void;
4
+ export declare function formatPageWithFrontmatter(title?: string, description?: string, markdown?: string, url?: string): string;
@@ -0,0 +1,43 @@
1
+ import { mkdirSync, writeFileSync } from 'node:fs';
2
+ import { dirname } from 'node:path';
3
+ import { getErrorMessage } from './errors.js';
4
+ import { log } from './log.js';
5
+ import { createFilename } from './path.js';
6
+ export function write(filename, data) {
7
+ writeFileSync(filename, data);
8
+ }
9
+ export function toFilename(title) {
10
+ // Gets rid of special characters at the start and end
11
+ // of the name by converting to spaces then using trim.
12
+ //
13
+ // I did not write this, I can feel the regex jokes
14
+ // coming already. - Ricardo
15
+ return title
16
+ .replace(/[^a-z0-9]/gi, ' ')
17
+ .trim()
18
+ .replace(/ /g, '-')
19
+ .toLowerCase();
20
+ }
21
+ export function writePage(filename = '', title = '', description = '', markdown = '', url) {
22
+ const rootPath = process.cwd();
23
+ const writePath = createFilename(rootPath, filename, title);
24
+ if (!writePath)
25
+ return;
26
+ const cleanedWritePath = writePath.replace(rootPath, '.');
27
+ try {
28
+ mkdirSync(dirname(writePath), { recursive: true });
29
+ write(writePath, formatPageWithFrontmatter(title, description, markdown, url));
30
+ log(`${cleanedWritePath} written to disk`, 'success');
31
+ }
32
+ catch (error) {
33
+ const errorMessage = getErrorMessage(error);
34
+ log(`${cleanedWritePath} couldn't download to disk${errorMessage}`);
35
+ }
36
+ }
37
+ export function formatPageWithFrontmatter(title = '', description = '', markdown = '', url = '') {
38
+ const optionalTitle = title ? `\ntitle: "${title}"` : '';
39
+ const optionalDescription = description ? `\ndescription: "${description}"` : '';
40
+ const optionalUrl = url ? `\nurl: "${url}"` : '';
41
+ return `---${optionalTitle}${optionalDescription}${optionalUrl}\n---\n\n${markdown}`;
42
+ }
43
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,UAAU,KAAK,CAAC,QAAgB,EAAE,IAAgC;IACtE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,sDAAsD;IACtD,uDAAuD;IACvD,EAAE;IACF,mDAAmD;IACnD,4BAA4B;IAC5B,OAAO,KAAK;SACT,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,IAAI,EAAE;SACN,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,WAAyB,EAAE,EAC3B,QAAgB,EAAE,EAClB,cAAsB,EAAE,EACxB,WAAmB,EAAE,EACrB,GAAY;IAEZ,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,EAAE,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/E,GAAG,CAAC,GAAG,gBAAgB,kBAAkB,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,gBAAgB,6BAA6B,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAgB,EAAE,EAClB,cAAsB,EAAE,EACxB,WAAmB,EAAE,EACrB,MAAc,EAAE;IAEhB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,mBAAmB,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO,MAAM,aAAa,GAAG,mBAAmB,GAAG,WAAW,YAAY,QAAQ,EAAE,CAAC;AACvF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Element } from 'hast';
2
+ export declare function findFirstChild(node: Element, tagName: string): Element | undefined;
@@ -0,0 +1,12 @@
1
+ import { EXIT, visit } from 'unist-util-visit';
2
+ export function findFirstChild(node, tagName) {
3
+ let element = undefined;
4
+ visit(node, 'element', function (subNode) {
5
+ if (subNode.tagName === tagName) {
6
+ element = subNode;
7
+ return EXIT;
8
+ }
9
+ });
10
+ return element;
11
+ }
12
+ //# sourceMappingURL=firstChild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstChild.js","sourceRoot":"","sources":["../../src/utils/firstChild.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,IAAa,EAAE,OAAe;IAC3D,IAAI,OAAO,GAAwB,SAAS,CAAC;IAC7C,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,OAAO;QACtC,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO,GAAG,OAAO,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Result } from '../types/result.js';
2
+ export declare function downloadImage(src: string, rootPath: string): Promise<Result<[string, string]>>;
3
+ export declare function isValidImageSrc(src: string): boolean;
4
+ export declare function getFilenameBeforeMetadata(src: string, ext: string): string;
5
+ export declare function removeMetadataFromImageSrc(src: string): string;
@@ -0,0 +1,86 @@
1
+ import { existsSync, mkdirSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { SUPPORTED_MEDIA_EXTENSIONS } from '../constants.js';
4
+ import { getErrorMessage } from './errors.js';
5
+ import { getFileExtension } from './extension.js';
6
+ import { write } from './file.js';
7
+ import { log } from './log.js';
8
+ import { fetchImage } from './network.js';
9
+ export async function downloadImage(src, rootPath) {
10
+ try {
11
+ let filename = await writeImageToFile(src, rootPath);
12
+ filename = filename.replace(process.cwd(), '');
13
+ const shortenedFilename = filename.length > 36 ? `...${filename.slice(-36)}` : filename;
14
+ log(`${shortenedFilename} downloaded and written to disk`, 'success');
15
+ return { success: true, data: [src, filename] };
16
+ }
17
+ catch (error) {
18
+ if (error instanceof Error) {
19
+ return { success: false, message: error.message };
20
+ }
21
+ else {
22
+ return {
23
+ success: false,
24
+ message: `${src} - an unknown error occurred downloading this image`,
25
+ };
26
+ }
27
+ }
28
+ }
29
+ async function writeImageToFile(src, rootPath) {
30
+ const filename = removeMetadataFromImageSrc(src);
31
+ const imagePath = join(rootPath, filename);
32
+ const shortenedFilename = filename.length > 36 ? `...${filename.slice(-36)}` : filename;
33
+ if (!isValidImageSrc(filename)) {
34
+ throw new Error(`${shortenedFilename} - file extension not supported`);
35
+ }
36
+ if (existsSync(imagePath)) {
37
+ return imagePath;
38
+ }
39
+ try {
40
+ mkdirSync(dirname(imagePath), { recursive: true });
41
+ }
42
+ catch (error) {
43
+ throw new Error(`${imagePath} - failed to create directory`);
44
+ }
45
+ try {
46
+ const imageData = await fetchImage(src);
47
+ write(imagePath, imageData);
48
+ return imagePath;
49
+ }
50
+ catch (error) {
51
+ const errorMessage = getErrorMessage(error);
52
+ throw new Error(`${shortenedFilename} - failed to download file from source${errorMessage}`);
53
+ }
54
+ }
55
+ export function isValidImageSrc(src) {
56
+ if (!src) {
57
+ return false;
58
+ }
59
+ if (src.startsWith('data:')) {
60
+ return false;
61
+ }
62
+ const ext = getFileExtension(src);
63
+ if (ext && !SUPPORTED_MEDIA_EXTENSIONS.includes(ext)) {
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+ export function getFilenameBeforeMetadata(src, ext) {
69
+ const lengthUntilMetadata = src.indexOf(`.${ext}`) + `.${ext}`.length;
70
+ return src.slice(0, lengthUntilMetadata);
71
+ }
72
+ export function removeMetadataFromImageSrc(src) {
73
+ let filename = '';
74
+ if (src.includes('gitbook/image')) {
75
+ for (const ext of SUPPORTED_MEDIA_EXTENSIONS) {
76
+ if (src.includes(`.${ext}`)) {
77
+ filename = getFilenameBeforeMetadata(src, ext);
78
+ }
79
+ }
80
+ }
81
+ if (!filename) {
82
+ return src.split('#')[0].split('?')[0];
83
+ }
84
+ return filename.split('%2F').slice(4).join('%2F');
85
+ }
86
+ //# sourceMappingURL=images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/utils/images.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Element } from 'hast';
2
+ export declare function findImg(node: Element): string | undefined;
@@ -0,0 +1,15 @@
1
+ import { visit, CONTINUE, EXIT } from 'unist-util-visit';
2
+ export function findImg(node) {
3
+ let imgSrc = undefined;
4
+ visit(node, 'element', function (subNode, index, parent) {
5
+ if (subNode.tagName !== 'img')
6
+ return CONTINUE;
7
+ if (parent && typeof index === 'number') {
8
+ parent.children.splice(index, 1);
9
+ }
10
+ imgSrc = subNode.properties.src || undefined;
11
+ return EXIT;
12
+ });
13
+ return imgSrc;
14
+ }
15
+ //# sourceMappingURL=img.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"img.js","sourceRoot":"","sources":["../../src/utils/img.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,UAAU,OAAO,CAAC,IAAa;IACnC,IAAI,MAAM,GAAuB,SAAS,CAAC;IAC3C,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,OAAO,EAAE,KAAK,EAAE,MAAM;QACrD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO,QAAQ,CAAC;QAE/C,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,GAAI,OAAO,CAAC,UAAU,CAAC,GAAc,IAAI,SAAS,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const colors: {
2
+ readonly red: "\u001B[31m";
3
+ readonly green: "\u001B[32m";
4
+ readonly yellow: "\u001B[33m";
5
+ readonly blue: "\u001B[34m";
6
+ readonly magenta: "\u001B[35m";
7
+ readonly cyan: "\u001B[36m";
8
+ readonly default: "\u001B[0m";
9
+ };
10
+ declare const statuses: readonly ["success", "failure", "error", "warn", "warning", "info"];
11
+ export type Status = (typeof statuses)[number];
12
+ export type Color = keyof typeof colors;
13
+ export declare const checkIcon: "✔ ";
14
+ export declare const xIcon: "✘ ";
15
+ export declare const infoIcon: "ⓘ ";
16
+ export declare const warningIcon: "⚠ ";
17
+ export declare function log(message: string | unknown, statusOrColor?: Status): void;
18
+ export {};