mintlify 2.1.0 → 3.0.5

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 (165) hide show
  1. package/CONTRIBUTING.md +2 -16
  2. package/index.js +3 -0
  3. package/package.json +23 -46
  4. package/bin/browser.js +0 -24
  5. package/bin/browser.js.map +0 -1
  6. package/bin/constants.js +0 -32
  7. package/bin/constants.js.map +0 -1
  8. package/bin/downloadImage.js +0 -85
  9. package/bin/downloadImage.js.map +0 -1
  10. package/bin/index.js +0 -49
  11. package/bin/index.js.map +0 -1
  12. package/bin/local-preview/helper-commands/installDepsCommand.js +0 -12
  13. package/bin/local-preview/helper-commands/installDepsCommand.js.map +0 -1
  14. package/bin/local-preview/index.js +0 -154
  15. package/bin/local-preview/index.js.map +0 -1
  16. package/bin/local-preview/listener/categorize.js +0 -95
  17. package/bin/local-preview/listener/categorize.js.map +0 -1
  18. package/bin/local-preview/listener/categorizeFiles.js +0 -47
  19. package/bin/local-preview/listener/categorizeFiles.js.map +0 -1
  20. package/bin/local-preview/listener/generate.js +0 -89
  21. package/bin/local-preview/listener/generate.js.map +0 -1
  22. package/bin/local-preview/listener/index.js +0 -200
  23. package/bin/local-preview/listener/index.js.map +0 -1
  24. package/bin/local-preview/listener/update.js +0 -24
  25. package/bin/local-preview/listener/update.js.map +0 -1
  26. package/bin/local-preview/listener/utils/createPage.js +0 -167
  27. package/bin/local-preview/listener/utils/createPage.js.map +0 -1
  28. package/bin/local-preview/listener/utils/fileIsMdxOrMd.js +0 -12
  29. package/bin/local-preview/listener/utils/fileIsMdxOrMd.js.map +0 -1
  30. package/bin/local-preview/listener/utils/getOpenApiContext.js +0 -57
  31. package/bin/local-preview/listener/utils/getOpenApiContext.js.map +0 -1
  32. package/bin/local-preview/listener/utils/mintConfigFile.js +0 -22
  33. package/bin/local-preview/listener/utils/mintConfigFile.js.map +0 -1
  34. package/bin/local-preview/listener/utils/toTitleCase.js +0 -36
  35. package/bin/local-preview/listener/utils/toTitleCase.js.map +0 -1
  36. package/bin/local-preview/listener/utils/types.js +0 -2
  37. package/bin/local-preview/listener/utils/types.js.map +0 -1
  38. package/bin/local-preview/listener/utils.js +0 -67
  39. package/bin/local-preview/listener/utils.js.map +0 -1
  40. package/bin/local-preview/utils/categorizeFiles.js +0 -63
  41. package/bin/local-preview/utils/categorizeFiles.js.map +0 -1
  42. package/bin/local-preview/utils/getOpenApiContext.js +0 -58
  43. package/bin/local-preview/utils/getOpenApiContext.js.map +0 -1
  44. package/bin/local-preview/utils/injectFavicons.js +0 -72
  45. package/bin/local-preview/utils/injectFavicons.js.map +0 -1
  46. package/bin/local-preview/utils/listener.js +0 -116
  47. package/bin/local-preview/utils/listener.js.map +0 -1
  48. package/bin/local-preview/utils/metadata.js +0 -118
  49. package/bin/local-preview/utils/metadata.js.map +0 -1
  50. package/bin/local-preview/utils/mintConfigFile.js +0 -43
  51. package/bin/local-preview/utils/mintConfigFile.js.map +0 -1
  52. package/bin/local-preview/utils/openApiCheck.js +0 -15
  53. package/bin/local-preview/utils/openApiCheck.js.map +0 -1
  54. package/bin/local-preview/utils/slugToTitle.js +0 -8
  55. package/bin/local-preview/utils/slugToTitle.js.map +0 -1
  56. package/bin/navigation.js +0 -4
  57. package/bin/navigation.js.map +0 -1
  58. package/bin/pageTemplate.js +0 -30
  59. package/bin/pageTemplate.js.map +0 -1
  60. package/bin/scraping/combineNavWithEmptyGroupTitles.js +0 -20
  61. package/bin/scraping/combineNavWithEmptyGroupTitles.js.map +0 -1
  62. package/bin/scraping/detectFramework.js +0 -39
  63. package/bin/scraping/detectFramework.js.map +0 -1
  64. package/bin/scraping/downloadAllImages.js +0 -33
  65. package/bin/scraping/downloadAllImages.js.map +0 -1
  66. package/bin/scraping/downloadLogoImage.js +0 -13
  67. package/bin/scraping/downloadLogoImage.js.map +0 -1
  68. package/bin/scraping/getSitemapLinks.js +0 -18
  69. package/bin/scraping/getSitemapLinks.js.map +0 -1
  70. package/bin/scraping/replaceImagePaths.js +0 -17
  71. package/bin/scraping/replaceImagePaths.js.map +0 -1
  72. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js +0 -43
  73. package/bin/scraping/scrapeFileGettingFileNameFromUrl.js.map +0 -1
  74. package/bin/scraping/scrapeGettingFileNameFromUrl.js +0 -13
  75. package/bin/scraping/scrapeGettingFileNameFromUrl.js.map +0 -1
  76. package/bin/scraping/scrapePage.js +0 -10
  77. package/bin/scraping/scrapePage.js.map +0 -1
  78. package/bin/scraping/scrapePageCommands.js +0 -55
  79. package/bin/scraping/scrapePageCommands.js.map +0 -1
  80. package/bin/scraping/scrapeSection.js +0 -12
  81. package/bin/scraping/scrapeSection.js.map +0 -1
  82. package/bin/scraping/scrapeSectionCommands.js +0 -66
  83. package/bin/scraping/scrapeSectionCommands.js.map +0 -1
  84. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.js +0 -27
  85. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomPage.js.map +0 -1
  86. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.js +0 -32
  87. package/bin/scraping/site-scrapers/Intercom/scrapeIntercomSection.js.map +0 -1
  88. package/bin/scraping/site-scrapers/alternateGroupTitle.js +0 -9
  89. package/bin/scraping/site-scrapers/alternateGroupTitle.js.map +0 -1
  90. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.js +0 -34
  91. package/bin/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.js.map +0 -1
  92. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.js +0 -38
  93. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursively.js.map +0 -1
  94. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.js +0 -38
  95. package/bin/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.js.map +0 -1
  96. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.js +0 -30
  97. package/bin/scraping/site-scrapers/openNestedDocusaurusMenus.js.map +0 -1
  98. package/bin/scraping/site-scrapers/openNestedGitbookMenus.js +0 -17
  99. package/bin/scraping/site-scrapers/openNestedGitbookMenus.js.map +0 -1
  100. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.js +0 -49
  101. package/bin/scraping/site-scrapers/scrapeDocusaurusPage.js.map +0 -1
  102. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js +0 -30
  103. package/bin/scraping/site-scrapers/scrapeDocusaurusSection.js.map +0 -1
  104. package/bin/scraping/site-scrapers/scrapeGitBookPage.js +0 -47
  105. package/bin/scraping/site-scrapers/scrapeGitBookPage.js.map +0 -1
  106. package/bin/scraping/site-scrapers/scrapeGitBookSection.js +0 -52
  107. package/bin/scraping/site-scrapers/scrapeGitBookSection.js.map +0 -1
  108. package/bin/scraping/site-scrapers/scrapeReadMePage.js +0 -36
  109. package/bin/scraping/site-scrapers/scrapeReadMePage.js.map +0 -1
  110. package/bin/scraping/site-scrapers/scrapeReadMeSection.js +0 -44
  111. package/bin/scraping/site-scrapers/scrapeReadMeSection.js.map +0 -1
  112. package/bin/util.js +0 -129
  113. package/bin/util.js.map +0 -1
  114. package/bin/validation/isValidLink.js +0 -11
  115. package/bin/validation/isValidLink.js.map +0 -1
  116. package/bin/validation/stopIfInvalidLink.js +0 -9
  117. package/bin/validation/stopIfInvalidLink.js.map +0 -1
  118. package/scraper.md +0 -121
  119. package/src/browser.ts +0 -24
  120. package/src/constants.ts +0 -40
  121. package/src/downloadImage.ts +0 -110
  122. package/src/index.ts +0 -112
  123. package/src/local-preview/helper-commands/installDepsCommand.ts +0 -13
  124. package/src/local-preview/index.ts +0 -195
  125. package/src/local-preview/listener/categorize.ts +0 -105
  126. package/src/local-preview/listener/generate.ts +0 -110
  127. package/src/local-preview/listener/index.ts +0 -228
  128. package/src/local-preview/listener/update.ts +0 -27
  129. package/src/local-preview/listener/utils/createPage.ts +0 -211
  130. package/src/local-preview/listener/utils/getOpenApiContext.ts +0 -77
  131. package/src/local-preview/listener/utils/mintConfigFile.ts +0 -28
  132. package/src/local-preview/listener/utils/toTitleCase.ts +0 -40
  133. package/src/local-preview/listener/utils/types.ts +0 -16
  134. package/src/local-preview/listener/utils.ts +0 -78
  135. package/src/scraping/combineNavWithEmptyGroupTitles.ts +0 -21
  136. package/src/scraping/detectFramework.ts +0 -47
  137. package/src/scraping/downloadAllImages.ts +0 -60
  138. package/src/scraping/downloadLogoImage.ts +0 -25
  139. package/src/scraping/getSitemapLinks.ts +0 -18
  140. package/src/scraping/replaceImagePaths.ts +0 -21
  141. package/src/scraping/scrapeFileGettingFileNameFromUrl.ts +0 -86
  142. package/src/scraping/scrapeGettingFileNameFromUrl.ts +0 -54
  143. package/src/scraping/scrapePage.ts +0 -24
  144. package/src/scraping/scrapePageCommands.ts +0 -66
  145. package/src/scraping/scrapeSection.ts +0 -28
  146. package/src/scraping/scrapeSectionCommands.ts +0 -110
  147. package/src/scraping/site-scrapers/Intercom/scrapeIntercomPage.ts +0 -51
  148. package/src/scraping/site-scrapers/Intercom/scrapeIntercomSection.ts +0 -53
  149. package/src/scraping/site-scrapers/alternateGroupTitle.ts +0 -8
  150. package/src/scraping/site-scrapers/links-per-group/getDocusaurusLinksPerGroup.ts +0 -44
  151. package/src/scraping/site-scrapers/links-per-group/getLinksRecursively.ts +0 -45
  152. package/src/scraping/site-scrapers/links-per-group/getLinksRecursivelyGitBook.ts +0 -46
  153. package/src/scraping/site-scrapers/openNestedDocusaurusMenus.ts +0 -42
  154. package/src/scraping/site-scrapers/openNestedGitbookMenus.ts +0 -24
  155. package/src/scraping/site-scrapers/scrapeDocusaurusPage.ts +0 -81
  156. package/src/scraping/site-scrapers/scrapeDocusaurusSection.ts +0 -63
  157. package/src/scraping/site-scrapers/scrapeGitBookPage.ts +0 -74
  158. package/src/scraping/site-scrapers/scrapeGitBookSection.ts +0 -80
  159. package/src/scraping/site-scrapers/scrapeReadMePage.ts +0 -60
  160. package/src/scraping/site-scrapers/scrapeReadMeSection.ts +0 -70
  161. package/src/types.d.ts +0 -29
  162. package/src/util.ts +0 -161
  163. package/src/validation/isValidLink.ts +0 -9
  164. package/src/validation/stopIfInvalidLink.ts +0 -9
  165. package/tsconfig.json +0 -18
package/CONTRIBUTING.md CHANGED
@@ -1,17 +1,3 @@
1
- # Running CLI Locally
1
+ # Mintlify CLI
2
2
 
3
- Note - contributing requires `yarn` and it's recommended you install it as a global installation. If you don't have yarn installed already run `npm install --global yarn` in your terminal.
4
-
5
- Run `npm run local` to build and install the CLI locally.
6
-
7
- You need to run the command after every change you want to test.
8
-
9
- ## Updating Version of Mint Client
10
-
11
- The CLI uses GitHub releases to download specific versions of the client code used in `mintlify dev`. Older CLI versions will continue using the client code they were bundled with. Users need to update to a newer version of the CLI to get the newest client code. CLI contributors bump the client version used by the CLI whenever there are major changes.
12
-
13
- Here's how to publish new client changes to the CLI:
14
-
15
- 1. Publish a new GitHub release. You can click the releases menu at the right of the repo page. Make the release title the same as the new release tag. Optionally, you can also use the description to keep track of what changed in that release.
16
- 2. Set `TARGET_MINT_VERSION` in `src/constants.ts` to to the new release tag.
17
- 3. Publish a new CLI version to npm.
3
+ `mintlify` is a wrapper for [@mintlify/cli](https://www.npmjs.com/package/@mintlify/cli).
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { cli as _ } from "@mintlify/cli";
package/package.json CHANGED
@@ -1,58 +1,35 @@
1
1
  {
2
2
  "name": "mintlify",
3
- "version": "2.1.0",
4
- "description": "The Mintlify CLI",
3
+ "version": "3.0.5",
4
+ "description": "Alias for @mintlify/cli",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
7
7
  },
8
+ "author": "Mintlify, Inc.",
9
+ "homepage": "https://github.com/mintlify/mint/tree/main/packages/mintlify-cli",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/mintlify/mint",
13
+ "directory": "packages/mintlify"
14
+ },
15
+ "bugs": {
16
+ "url": "https://github.com/mintlify/mint/issues"
17
+ },
8
18
  "license": "Elastic-2.0",
9
- "scripts": {
10
- "prepare": "npm run build",
11
- "build": "tsc",
12
- "watch": "tsc --watch",
13
- "local": "tsc && npm uninstall -g mintlify && npm i -g ."
19
+ "keywords": [
20
+ "mintlify",
21
+ "mint",
22
+ "cli"
23
+ ],
24
+ "type": "module",
25
+ "publishConfig": {
26
+ "access": "public",
27
+ "registry": "https://registry.npmjs.org/"
14
28
  },
15
- "author": "Mintlify, Inc.",
16
- "exports": "./bin/index.js",
17
29
  "bin": {
18
- "mintlify": "bin/index.js"
30
+ "mintlify": "index.js"
19
31
  },
20
- "type": "module",
21
32
  "dependencies": {
22
- "@apidevtools/swagger-parser": "^10.1.0",
23
- "@mintlify/validation": "^0.1.5",
24
- "@octokit/rest": "^19.0.5",
25
- "axios": "^1.2.2",
26
- "chalk": "^5.1.0",
27
- "cheerio": "^0.22.0",
28
- "chokidar": "^3.5.3",
29
- "favicons": "^7.0.1",
30
- "fs-extra": "^11.1.0",
31
- "gray-matter": "^4.0.3",
32
- "inquirer": "^9.1.0",
33
- "is-absolute-url": "^4.0.1",
34
- "is-internet-available": "^3.1.0",
35
- "minimist-lite": "^2.2.1",
36
- "node-html-markdown": "^1.3.0",
37
- "open": "^8.4.0",
38
- "openapi-types": "^12.0.2",
39
- "ora": "^6.1.2",
40
- "puppeteer": "^19.4.0",
41
- "remark": "^14.0.2",
42
- "remark-frontmatter": "^4.0.1",
43
- "remark-gfm": "^3.0.1",
44
- "remark-mdx": "^2.2.1",
45
- "shelljs": "^0.8.5",
46
- "unist-util-visit": "^4.1.1",
47
- "yargs": "^17.6.0"
48
- },
49
- "devDependencies": {
50
- "@types/cheerio": "^0.22.31",
51
- "@types/fs-extra": "^9.0.13",
52
- "@types/inquirer": "^9.0.1",
53
- "@types/node": "^18.7.13",
54
- "@types/shelljs": "^0.8.11",
55
- "@types/yargs": "^17.0.13",
56
- "typescript": "^4.8.2"
33
+ "@mintlify/cli": "3.0.5"
57
34
  }
58
35
  }
package/bin/browser.js DELETED
@@ -1,24 +0,0 @@
1
- import { launch } from "puppeteer";
2
- export async function startBrowser() {
3
- try {
4
- return await launch({
5
- headless: true,
6
- ignoreHTTPSErrors: true,
7
- });
8
- }
9
- catch (err) {
10
- console.log("Could not create a browser instance: ", err);
11
- process.exit(1);
12
- }
13
- }
14
- export async function getHtmlWithPuppeteer(href) {
15
- const browser = await startBrowser();
16
- const page = await browser.newPage();
17
- await page.goto(href, {
18
- waitUntil: "networkidle2",
19
- });
20
- const html = await page.content();
21
- browser.close();
22
- return html;
23
- }
24
- //# sourceMappingURL=browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI;QACF,OAAO,MAAM,MAAM,CAAC;YAClB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY;IACrD,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,cAAc;KAC1B,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC"}
package/bin/constants.js DELETED
@@ -1,32 +0,0 @@
1
- import path from "path";
2
- import * as url from "url";
3
- import os from "os";
4
- // Change this to bump to a newer version of mint's client
5
- export const TARGET_MINT_VERSION = "v0.0.9";
6
- // package installation location
7
- export const INSTALL_PATH = url.fileURLToPath(new URL(".", import.meta.url));
8
- export const HOME_DIR = os.homedir();
9
- export const DOT_MINTLIFY = path.join(HOME_DIR, ".mintlify");
10
- export const VERSION_PATH = path.join(DOT_MINTLIFY, "mint", "mint-version.txt");
11
- export const CLIENT_PATH = path.join(DOT_MINTLIFY, "mint", "client");
12
- export const MINT_PATH = path.join(DOT_MINTLIFY, "mint");
13
- // command execution location
14
- export const CMD_EXEC_PATH = process.cwd();
15
- export const SUPPORTED_MEDIA_EXTENSIONS = [
16
- "jpeg",
17
- "jpg",
18
- "jfif",
19
- "pjpeg",
20
- "pjp",
21
- "png",
22
- "svg",
23
- "svgz",
24
- "ico",
25
- "webp",
26
- "gif",
27
- "apng",
28
- "avif",
29
- "bmp",
30
- "mp4",
31
- ];
32
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEzD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;CACN,CAAC"}
@@ -1,85 +0,0 @@
1
- import { existsSync, mkdirSync, createWriteStream } from "fs";
2
- import path from "path";
3
- import axios from "axios";
4
- import { getFileExtension } from "./util.js";
5
- import { SUPPORTED_MEDIA_EXTENSIONS } from "./constants.js";
6
- async function writeImageToFile(imageSrc, writePath, overwrite) {
7
- // Avoid unnecessary downloads
8
- if (existsSync(writePath) && !overwrite) {
9
- return Promise.reject({
10
- code: "EEXIST",
11
- });
12
- }
13
- // Create the folders needed if they're missing
14
- mkdirSync(path.dirname(writePath), { recursive: true });
15
- const writer = createWriteStream(writePath);
16
- try {
17
- const response = await axios.get(imageSrc, {
18
- responseType: "stream",
19
- });
20
- // wx prevents overwriting an image with the exact same name
21
- // being created in the time we were downloading
22
- response.data.pipe(writer, {
23
- flag: "wx",
24
- });
25
- return new Promise((resolve, reject) => {
26
- writer.on("finish", resolve);
27
- writer.on("error", reject);
28
- });
29
- }
30
- catch (e) {
31
- return Promise.reject({
32
- code: "ENOTFOUND",
33
- });
34
- }
35
- }
36
- export function isValidImageSrc(src, skipValidateImageExtension) {
37
- if (!src) {
38
- return false;
39
- }
40
- // We do not support downloading base64 in-line images.
41
- if (src.startsWith("data:")) {
42
- return false;
43
- }
44
- if (skipValidateImageExtension) {
45
- return true;
46
- }
47
- const imageHref = removeMetadataFromImageSrc(src);
48
- const ext = getFileExtension(imageHref);
49
- if (!SUPPORTED_MEDIA_EXTENSIONS.includes(ext)) {
50
- console.error("🚨 We do not support the file extension: " + ext);
51
- return false;
52
- }
53
- return true;
54
- }
55
- export function removeMetadataFromImageSrc(src) {
56
- // Part of the URL standard
57
- const metadataSymbols = ["?", "#"];
58
- metadataSymbols.forEach((dividerSymbol) => {
59
- // Some frameworks add metadata after the file extension, we need to remove that.
60
- src = src.split(dividerSymbol)[0];
61
- });
62
- return src;
63
- }
64
- export function cleanImageSrc(src, origin) {
65
- // Add origin if the image tags are using relative sources
66
- return src.startsWith("http") ? src : new URL(src, origin).href;
67
- }
68
- export default async function downloadImage(imageSrc, writePath, overwrite = false) {
69
- await writeImageToFile(imageSrc, writePath, overwrite)
70
- .then(() => {
71
- console.log("🖼️ - " + writePath);
72
- })
73
- .catch((e) => {
74
- if (e.code === "EEXIST") {
75
- console.log(`❌ Skipping existing image ${writePath}`);
76
- }
77
- else if (e.code === "ENOTFOUND") {
78
- console.error(`🚨 Cannot download the image, address not found ${imageSrc}`);
79
- }
80
- else {
81
- console.error(e);
82
- }
83
- });
84
- }
85
- //# sourceMappingURL=downloadImage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloadImage.js","sourceRoot":"","sources":["../src/downloadImage.ts"],"names":[],"mappings":"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"}
package/bin/index.js DELETED
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env node
2
- import yargs from "yargs";
3
- import { hideBin } from "yargs/helpers";
4
- import { scrapePageAutomatically, scrapePageWrapper, } from "./scraping/scrapePageCommands.js";
5
- import { scrapeGitBookPage } from "./scraping/site-scrapers/scrapeGitBookPage.js";
6
- import { scrapeReadMePage } from "./scraping/site-scrapers/scrapeReadMePage.js";
7
- import { scrapeSectionAutomatically, scrapeSectionAxiosWrapper, scrapeGitbookSectionCommand, } from "./scraping/scrapeSectionCommands.js";
8
- import { scrapeReadMeSection } from "./scraping/site-scrapers/scrapeReadMeSection.js";
9
- import dev from "./local-preview/index.js";
10
- import installDepsCommand from "./local-preview/helper-commands/installDepsCommand.js";
11
- import { scrapeIntercomPage } from "./scraping/site-scrapers/Intercom/scrapeIntercomPage.js";
12
- import { scrapeIntercomSection } from "./scraping/site-scrapers/Intercom/scrapeIntercomSection.js";
13
- yargs(hideBin(process.argv))
14
- .command("dev", "Runs Mintlify locally (Must run in directory with mint.json)", () => { }, async (argv) => {
15
- await dev(argv);
16
- })
17
- .command("install", "Install dependencies for local Mintlify", () => { }, installDepsCommand)
18
- .command("scrape-page [url]", "Scrapes a page", () => { }, async (argv) => {
19
- await scrapePageAutomatically(argv);
20
- })
21
- .command("scrape-gitbook-page [url]", "Scrapes a GitBook page", () => { }, async (argv) => {
22
- await scrapePageWrapper(argv, scrapeGitBookPage);
23
- })
24
- .command("scrape-readme-page [url]", "Scrapes a ReadMe page", () => { }, async (argv) => {
25
- await scrapePageWrapper(argv, scrapeReadMePage);
26
- })
27
- .command("scrape-intercom-page [url]", "Scrapes a Intercom page", () => { }, async (argv) => {
28
- await scrapePageWrapper(argv, scrapeIntercomPage);
29
- })
30
- .command("scrape-section [url]", "Scrapes the docs in the section", () => { }, async (argv) => {
31
- await scrapeSectionAutomatically(argv);
32
- })
33
- .command("scrape-gitbook-section [url]", "Scrapes the Gitbook section", () => { }, async (argv) => {
34
- await scrapeGitbookSectionCommand(argv);
35
- })
36
- .command("scrape-readme-section [url]", "Scrapes the ReadMe section", () => { }, async (argv) => {
37
- await scrapeSectionAxiosWrapper(argv, scrapeReadMeSection);
38
- })
39
- .command("scrape-intercom-section [url]", "Scrapes the Intercom section", () => { }, async (argv) => {
40
- await scrapeSectionAxiosWrapper(argv, scrapeIntercomSection);
41
- })
42
- // Print the help menu when the user enters an invalid command.
43
- .strictCommands()
44
- .demandCommand(1, "Unknown command. See above for the list of supported commands.")
45
- // Alias option flags --help = -h, --version = -v
46
- .alias("h", "help")
47
- .alias("v", "version")
48
- .parse();
49
- //# sourceMappingURL=index.js.map
package/bin/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import shell from "shelljs";
2
- import { CLIENT_PATH } from "../../constants.js";
3
- import { buildLogger, ensureYarn } from "../../util.js";
4
- const installDeps = async () => {
5
- const logger = buildLogger("");
6
- ensureYarn(logger);
7
- shell.cd(CLIENT_PATH);
8
- shell.exec("yarn");
9
- logger.succeed("Dependencies installed.");
10
- };
11
- export default installDeps;
12
- //# sourceMappingURL=installDepsCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installDepsCommand.js","sourceRoot":"","sources":["../../../src/local-preview/helper-commands/installDepsCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC/B,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,154 +0,0 @@
1
- import Chalk from "chalk";
2
- import child_process from "child_process";
3
- import open from "open";
4
- import fse, { pathExists } from "fs-extra";
5
- import inquirer from "inquirer";
6
- import { isInternetAvailable } from "is-internet-available";
7
- import path from "path";
8
- import shell from "shelljs";
9
- import { Octokit } from "@octokit/rest";
10
- import { CLIENT_PATH, HOME_DIR, DOT_MINTLIFY, CMD_EXEC_PATH, TARGET_MINT_VERSION, VERSION_PATH, MINT_PATH, } from "../constants.js";
11
- import { buildLogger, ensureYarn } from "../util.js";
12
- import listener from "./listener/index.js";
13
- import { getConfigPath } from "./listener/utils/mintConfigFile.js";
14
- const nodeModulesExists = async () => {
15
- return pathExists(path.join(DOT_MINTLIFY, "mint", "client", "node_modules"));
16
- };
17
- const promptForYarn = async () => {
18
- const yarnInstalled = shell.which("yarn");
19
- if (!yarnInstalled) {
20
- await inquirer
21
- .prompt([
22
- {
23
- type: "confirm",
24
- name: "confirm",
25
- message: "yarn must be globally installed. Install yarn?",
26
- default: true,
27
- },
28
- ])
29
- .then(({ confirm }) => {
30
- if (confirm) {
31
- shell.exec("npm install --global yarn");
32
- }
33
- else {
34
- console.log("Installation cancelled.");
35
- }
36
- });
37
- }
38
- };
39
- const downloadTargetMint = async (logger) => {
40
- fse.emptyDirSync(MINT_PATH);
41
- logger.text = "Downloading Mintlify framework...";
42
- const octokit = new Octokit();
43
- const downloadRes = await octokit.repos.downloadTarballArchive({
44
- owner: "mintlify",
45
- repo: "mint",
46
- ref: TARGET_MINT_VERSION,
47
- });
48
- logger.text = "Extracting Mintlify framework...";
49
- const TAR_PATH = path.join(MINT_PATH, "mint.tar.gz");
50
- fse.writeFileSync(TAR_PATH, Buffer.from(downloadRes.data));
51
- // strip-components 1 removes the top level directory from the unzipped content
52
- // which is a folder with the release sha
53
- fse.mkdirSync(path.join(MINT_PATH, "mint-tmp"));
54
- shell.exec("tar -xzf mint.tar.gz -C mint-tmp --strip-components 1", {
55
- silent: true,
56
- });
57
- fse.removeSync(TAR_PATH);
58
- fse.moveSync(path.join(MINT_PATH, "mint-tmp", "client"), path.join(CLIENT_PATH));
59
- fse.writeFileSync(VERSION_PATH, TARGET_MINT_VERSION);
60
- // Delete unnecessary content downloaded from GitHub
61
- fse.removeSync(path.join(MINT_PATH, "mint-tmp"));
62
- logger.text = "Installing dependencies...";
63
- ensureYarn(logger);
64
- shell.cd(CLIENT_PATH);
65
- shell.exec("yarn", { silent: true });
66
- };
67
- const checkForMintJson = async (logger) => {
68
- const configPath = await getConfigPath(CMD_EXEC_PATH);
69
- if (configPath == null) {
70
- logger.fail("Must be ran in a directory where a mint.json file exists.");
71
- process.exit(1);
72
- }
73
- return;
74
- };
75
- const dev = async (argv) => {
76
- shell.cd(HOME_DIR);
77
- await promptForYarn();
78
- const logger = buildLogger("Preparing local Mintlify instance...");
79
- await fse.ensureDir(MINT_PATH);
80
- shell.cd(MINT_PATH);
81
- const internet = await isInternetAvailable();
82
- if (!internet && !(await pathExists(CLIENT_PATH))) {
83
- logger.fail("Running mintlify dev for the first time requires an internet connection.");
84
- process.exit(1);
85
- }
86
- if (internet) {
87
- const mintVersionExists = await pathExists(VERSION_PATH);
88
- let needToDownloadTargetMint = !mintVersionExists;
89
- if (mintVersionExists) {
90
- const currVersion = fse.readFileSync(VERSION_PATH, "utf8");
91
- if (currVersion !== TARGET_MINT_VERSION) {
92
- needToDownloadTargetMint = true;
93
- }
94
- }
95
- if (needToDownloadTargetMint) {
96
- await downloadTargetMint(logger);
97
- }
98
- }
99
- if (!(await nodeModulesExists())) {
100
- if (!internet) {
101
- logger.fail(`Dependencies are missing and you are offline. Connect to the internet and run
102
-
103
- mintlify install
104
-
105
- `);
106
- }
107
- else {
108
- logger.fail(`Dependencies were not installed correctly, run
109
-
110
- mintlify install
111
-
112
- `);
113
- }
114
- process.exit(1);
115
- }
116
- await checkForMintJson(logger);
117
- shell.cd(CLIENT_PATH);
118
- const relativePath = path.relative(CLIENT_PATH, CMD_EXEC_PATH);
119
- child_process.spawnSync("yarn preconfigure", [relativePath], { shell: true });
120
- logger.succeed("Local Mintlify instance is ready. Launching your site...");
121
- run(argv.port || "3000");
122
- };
123
- const run = (port) => {
124
- shell.cd(CLIENT_PATH);
125
- // next-remote-watch can only receive ports as env variables
126
- // https://github.com/hashicorp/next-remote-watch/issues/23
127
- const mintlifyDevProcess = child_process.spawn("npm run dev-watch", {
128
- env: {
129
- ...process.env,
130
- PORT: port,
131
- },
132
- cwd: CLIENT_PATH,
133
- stdio: "pipe",
134
- shell: true,
135
- });
136
- mintlifyDevProcess.stdout.on("data", (data) => {
137
- const output = data.toString();
138
- console.log(output);
139
- if (output.startsWith("> Ready on http://localhost:")) {
140
- console.log(`🌿 ${Chalk.green(`Your local preview is available at http://localhost:${port}`)}`);
141
- console.log(`🌿 ${Chalk.green("Press Ctrl+C any time to stop the local preview.")}`);
142
- open(`http://localhost:${port}`);
143
- }
144
- });
145
- const onExit = () => {
146
- mintlifyDevProcess.kill("SIGINT");
147
- process.exit(0);
148
- };
149
- process.on("SIGINT", onExit);
150
- process.on("SIGTERM", onExit);
151
- listener();
152
- };
153
- export default dev;
154
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/local-preview/index.ts"],"names":[],"mappings":"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"}
@@ -1,95 +0,0 @@
1
- // TODO - put in prebuild package
2
- import path from "path";
3
- import { getFileExtension, openApiCheck, getFileList } from "./utils.js";
4
- export const categorizeFiles = async (contentDirectoryPath) => {
5
- const allFilesInCmdExecutionPath = await getFileList(contentDirectoryPath);
6
- const contentFilenames = [];
7
- const staticFilenames = [];
8
- const promises = [];
9
- const openApiFiles = [];
10
- const snippets = [];
11
- allFilesInCmdExecutionPath.forEach((filename) => {
12
- promises.push((async () => {
13
- const extension = getFileExtension(filename);
14
- let isOpenApi = false;
15
- if (extension && (extension === "mdx" || extension === "md")) {
16
- if (filename.startsWith("/_snippets")) {
17
- snippets.push(filename);
18
- }
19
- else {
20
- contentFilenames.push(filename);
21
- }
22
- }
23
- else if (extension &&
24
- (extension === "json" || extension === "yaml" || extension === "yml")) {
25
- const openApiInfo = await openApiCheck(path.join(contentDirectoryPath, filename));
26
- isOpenApi = openApiInfo.isOpenApi;
27
- if (isOpenApi) {
28
- const fileName = path.parse(filename).base;
29
- openApiFiles.push({
30
- filename: fileName.substring(0, fileName.lastIndexOf(".")),
31
- spec: openApiInfo.spec,
32
- });
33
- }
34
- }
35
- else if (!filename.endsWith("mint.json") && !isOpenApi) {
36
- // all other files
37
- staticFilenames.push(filename);
38
- }
39
- })());
40
- });
41
- await Promise.all(promises);
42
- return { contentFilenames, staticFilenames, openApiFiles, snippets };
43
- };
44
- const excludedMdFiles = ["readme", "license", "contributing", "contribute"];
45
- const supportedStaticFileExtensions = [
46
- ".jpeg",
47
- ".jpg",
48
- ".jfif",
49
- ".pjpeg",
50
- ".pjp",
51
- ".png",
52
- ".svg",
53
- ".svgz",
54
- ".ico",
55
- ".webp",
56
- ".gif",
57
- ".apng",
58
- ".avif",
59
- ".bmp",
60
- ".mp4",
61
- ];
62
- export const getCategory = (filePath) => {
63
- filePath = filePath.toLowerCase();
64
- const parsed = path.parse(filePath);
65
- if (parsed.base === "mint.json") {
66
- return "mintConfig";
67
- }
68
- const fileName = parsed.name;
69
- const extension = parsed.ext;
70
- if (filePath.startsWith("_snippets") &&
71
- (extension === ".mdx" || extension === ".md")) {
72
- return "snippet";
73
- }
74
- else if (extension === ".mdx") {
75
- return "page";
76
- }
77
- else if (extension === ".md") {
78
- // Exclude common markdown files people don't want on their docs website
79
- if (excludedMdFiles.includes(fileName)) {
80
- throw new Error("Excluded Md File");
81
- }
82
- return "page";
83
- }
84
- else if (extension === ".yaml" || extension === ".yml") {
85
- return "potentialYamlOpenApiSpec";
86
- }
87
- else if (extension === ".json") {
88
- return "potentialJsonOpenApiSpec";
89
- }
90
- else if (supportedStaticFileExtensions.includes(extension)) {
91
- return "staticFile";
92
- }
93
- throw new Error("Unsupported File Type, No change enacted");
94
- };
95
- //# sourceMappingURL=categorize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"categorize.js","sourceRoot":"","sources":["../../../src/local-preview/listener/categorize.ts"],"names":[],"mappings":"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"}