mintlify 2.0.5 → 2.0.6

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.
package/bin/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import yargs from "yargs";
3
3
  import { hideBin } from "yargs/helpers";
4
- import generatePageTemplate from "./pageTemplate.js";
5
4
  import { scrapePageAutomatically, scrapePageWrapper, } from "./scraping/scrapePageCommands.js";
6
5
  import { scrapeGitBookPage } from "./scraping/site-scrapers/scrapeGitBookPage.js";
7
6
  import { scrapeReadMePage } from "./scraping/site-scrapers/scrapeReadMePage.js";
@@ -9,13 +8,11 @@ import { scrapeSectionAutomatically, scrapeSectionAxiosWrapper, scrapeGitbookSec
9
8
  import { scrapeReadMeSection } from "./scraping/site-scrapers/scrapeReadMeSection.js";
10
9
  import dev from "./local-preview/index.js";
11
10
  import installDepsCommand from "./local-preview/helper-commands/installDepsCommand.js";
12
- // TODO - add descriptions to the command options https://github.com/yargs/yargs/blob/HEAD/docs/api.md#commandmodule
13
11
  yargs(hideBin(process.argv))
14
12
  .command("dev", "Runs Mintlify locally (Must run in directory with mint.json)", () => { }, async () => {
15
13
  await dev();
16
14
  })
17
15
  .command("install", "Install dependencies for local Mintlify", () => { }, installDepsCommand)
18
- .command("page", "Generate a new page", () => { }, generatePageTemplate)
19
16
  .command("scrape-page [url]", "Scrapes a page", () => { }, async (argv) => {
20
17
  await scrapePageAutomatically(argv);
21
18
  })
@@ -34,5 +31,10 @@ yargs(hideBin(process.argv))
34
31
  .command("scrape-readme-section [url]", "Scrapes the ReadMe section", () => { }, async (argv) => {
35
32
  await scrapeSectionAxiosWrapper(argv, scrapeReadMeSection);
36
33
  })
34
+ // Print the help menu when the user enters an invalid command.
35
+ .demandCommand(1, "Unknown command. See above for the list of supported commands.")
36
+ // Alias option flags --help = -h, --version = -v
37
+ .alias("h", "help")
38
+ .alias("v", "version")
37
39
  .parse();
38
40
  //# sourceMappingURL=index.js.map
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,oBAAoB,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,GAAG,MAAM,0BAA0B,CAAC;AAC3C,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AAEvF,oHAAoH;AACpH,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,OAAO,CACN,KAAK,EACL,8DAA8D,EAC9D,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,IAAI,EAAE;IACT,MAAM,GAAG,EAAE,CAAC;AACd,CAAC,CACF;KACA,OAAO,CACN,SAAS,EACT,yCAAyC,EACzC,GAAG,EAAE,GAAE,CAAC,EACR,kBAAkB,CACnB;KACA,OAAO,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,oBAAoB,CAAC;KACtE,OAAO,CACN,mBAAmB,EACnB,gBAAgB,EAChB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CACF;KACA,OAAO,CACN,2BAA2B,EAC3B,wBAAwB,EACxB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC,CACF;KACA,OAAO,CACN,0BAA0B,EAC1B,uBAAuB,EACvB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC,CACF;KACA,OAAO,CACN,sBAAsB,EACtB,iCAAiC,EACjC,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CACF;KACA,OAAO,CACN,8BAA8B,EAC9B,6BAA6B,EAC7B,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC,CACF;KACA,OAAO,CACN,6BAA6B,EAC7B,4BAA4B,EAC5B,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC7D,CAAC,CACF;KAEA,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,GAAG,MAAM,0BAA0B,CAAC;AAC3C,OAAO,kBAAkB,MAAM,uDAAuD,CAAC;AAEvF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB,OAAO,CACN,KAAK,EACL,8DAA8D,EAC9D,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,IAAI,EAAE;IACT,MAAM,GAAG,EAAE,CAAC;AACd,CAAC,CACF;KACA,OAAO,CACN,SAAS,EACT,yCAAyC,EACzC,GAAG,EAAE,GAAE,CAAC,EACR,kBAAkB,CACnB;KACA,OAAO,CACN,mBAAmB,EACnB,gBAAgB,EAChB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC,CACF;KACA,OAAO,CACN,2BAA2B,EAC3B,wBAAwB,EACxB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC,CACF;KACA,OAAO,CACN,0BAA0B,EAC1B,uBAAuB,EACvB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAClD,CAAC,CACF;KACA,OAAO,CACN,sBAAsB,EACtB,iCAAiC,EACjC,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CACF;KACA,OAAO,CACN,8BAA8B,EAC9B,6BAA6B,EAC7B,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,2BAA2B,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC,CACF;KACA,OAAO,CACN,6BAA6B,EAC7B,4BAA4B,EAC5B,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,EAAE,IAAI,EAAE,EAAE;IACb,MAAM,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AAC7D,CAAC,CACF;IAED,+DAA+D;KAC9D,aAAa,CACZ,CAAC,EACD,gEAAgE,CACjE;IAED,iDAAiD;KAChD,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;KAClB,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;KAErB,KAAK,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  // TODO - put in prebuild package
2
2
  import path from "path";
3
3
  import { getFileExtension, openApiCheck, getFileList } from "./utils.js";
4
- const categorizeFiles = async (contentDirectoryPath) => {
4
+ export const categorizeFiles = async (contentDirectoryPath) => {
5
5
  const allFilesInCmdExecutionPath = await getFileList(contentDirectoryPath);
6
6
  const contentFilenames = [];
7
7
  const staticFilenames = [];
@@ -43,5 +43,55 @@ const categorizeFiles = async (contentDirectoryPath) => {
43
43
  await Promise.all(promises);
44
44
  return { contentFilenames, staticFilenames, openApiFiles, snippets };
45
45
  };
46
- export default categorizeFiles;
47
- //# sourceMappingURL=categorizeFiles.js.map
46
+ const excludedMdFiles = ["readme", "license", "contributing", "contribute"];
47
+ const supportedStaticFileExtensions = [
48
+ ".jpeg",
49
+ ".jpg",
50
+ ".jfif",
51
+ ".pjpeg",
52
+ ".pjp",
53
+ ".png",
54
+ ".svg",
55
+ ".svgz",
56
+ ".ico",
57
+ ".webp",
58
+ ".gif",
59
+ ".apng",
60
+ ".avif",
61
+ ".bmp",
62
+ ".mp4",
63
+ ];
64
+ export const getCategory = (filePath) => {
65
+ filePath = filePath.toLowerCase();
66
+ const parsed = path.parse(filePath);
67
+ if (parsed.base === "mint.json") {
68
+ return "mintConfig";
69
+ }
70
+ const fileName = parsed.name;
71
+ const extension = parsed.ext;
72
+ if (filePath.startsWith("_snippets") &&
73
+ (extension === ".mdx" || extension === ".md")) {
74
+ return "snippet";
75
+ }
76
+ else if (extension === ".mdx") {
77
+ return "page";
78
+ }
79
+ else if (extension === ".md") {
80
+ // Exclude common markdown files people don't want on their docs website
81
+ if (excludedMdFiles.includes(fileName)) {
82
+ throw new Error("Excluded Md File");
83
+ }
84
+ return "page";
85
+ }
86
+ else if (extension === ".yaml" || extension === ".yml") {
87
+ return "potentialYamlOpenApiSpec";
88
+ }
89
+ else if (extension === ".json") {
90
+ return "potentialJsonOpenApiSpec";
91
+ }
92
+ else if (supportedStaticFileExtensions.includes(extension)) {
93
+ return "staticFile";
94
+ }
95
+ throw new Error("Unsupported File Type, No change enacted");
96
+ };
97
+ //# sourceMappingURL=categorize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categorize.js","sourceRoot":"","sources":["../../../src/local-preview/listener/categorize.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { promises as _promises } from "fs";
3
3
  import { outputFile } from "fs-extra";
4
4
  import path from "path";
5
5
  import createPage from "./utils/createPage.js";
6
- import categorizeFiles from "./categorizeFiles.js";
6
+ import { categorizeFiles } from "./categorize.js";
7
7
  import { CMD_EXEC_PATH } from "../../constants.js";
8
8
  import { getConfigObj } from "./utils/mintConfigFile.js";
9
9
  const { readFile } = _promises;
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/local-preview/listener/generate.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;AAE/B,gCAAgC;AAChC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;IACpD,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE;QACxB,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;oBAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;iBACpB;gBACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,aAAa,IAAI,IAAI,EAAE;QACzB,OAAO;KACR;IAED,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO;aACR;YACD,IAAI,IAAI,EAAE,KAAK,EAAE;gBACf,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACzB;iBAAM;gBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG;YACf,GAAG,KAAK;YACR,KAAK,EAAE,QAAQ;SAChB,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,gCAAgC;AAChC,MAAM,cAAc,GAAG,KAAK,EAC1B,oBAA4B,EAC5B,gBAA0B,EAC1B,YAA2B,EAC3B,UAAmB,EACnB,UAAU,GAAG,KAAK,EAClB,EAAE;IACF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpC,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAE7D,MAAM,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3D,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,UAAU,CAC1D,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,YAAY,CACb,CAAC;YACF,IAAI,UAAU,IAAI,UAAU,EAAE;gBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpE,MAAM,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE;oBACxC,IAAI,EAAE,GAAG;iBACV,CAAC,CAAC;aACJ;YACD,QAAQ,GAAG;gBACT,GAAG,QAAQ;gBACX,CAAC,IAAI,CAAC,EAAE,YAAY;aACrB,CAAC;QACJ,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CAC9D,aAAa,CACd,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,YAAY,CAAC;QAC7D,YAAY,CAAC,aAAa,CAAC;KAC5B,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/local-preview/listener/generate.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import chokidar from "chokidar";
2
2
  import fse from "fs-extra";
3
3
  import pathUtil from "path";
4
- import { fileIsMdxOrMd } from "./utils/fileIsMdxOrMd.js";
5
4
  import { openApiCheck } from "./utils.js";
6
5
  import { updateGeneratedNav, updateOpenApiFiles } from "./update.js";
7
6
  import { CLIENT_PATH, CMD_EXEC_PATH } from "../../constants.js";
8
7
  import { promises as _promises } from "fs";
9
8
  import createPage from "./utils/createPage.js";
9
+ import { getCategory } from "./categorize.js";
10
10
  const { readFile } = _promises;
11
11
  const listener = () => {
12
12
  chokidar
@@ -15,121 +15,158 @@ const listener = () => {
15
15
  ignored: ["node_modules", ".git", ".idea"],
16
16
  cwd: CMD_EXEC_PATH,
17
17
  })
18
- .on("all", async (event, filename) => {
19
- if (event === "unlink" || event === "unlinkDir") {
20
- if (fileIsMdxOrMd(filename)) {
21
- const targetPath = pathUtil.join(CLIENT_PATH, "src", "_props", filename);
22
- await fse.remove(targetPath);
23
- console.log(`${filename.startsWith("_snippets") ? "Snippet" : "Page"} deleted: `, filename);
18
+ .on("add", async (filename) => {
19
+ try {
20
+ const category = await onUpdateEvent(filename);
21
+ switch (category) {
22
+ case "page":
23
+ console.log("New page detected: ", filename);
24
+ break;
25
+ case "snippet":
26
+ console.log("New snippet detected: ", filename);
27
+ break;
28
+ case "mintConfig":
29
+ console.log("Config added");
30
+ break;
31
+ case "openApi":
32
+ console.log("OpenApi spec added: ", filename);
33
+ break;
34
+ case "staticFile":
35
+ console.log("Static file added: ", filename);
36
+ break;
37
+ }
38
+ }
39
+ catch (error) {
40
+ console.error(error.message);
41
+ }
42
+ })
43
+ .on("change", async (filename) => {
44
+ try {
45
+ const category = await onUpdateEvent(filename);
46
+ switch (category) {
47
+ case "page":
48
+ console.log("Page edited: ", filename);
49
+ break;
50
+ case "snippet":
51
+ console.log("Snippet edited: ", filename);
52
+ break;
53
+ case "mintConfig":
54
+ console.log("Config edited");
55
+ break;
56
+ case "openApi":
57
+ console.log("OpenApi spec edited: ", filename);
58
+ break;
59
+ case "staticFile":
60
+ console.log("Static file edited: ", filename);
61
+ break;
24
62
  }
25
- else if (filename === "mint.json") {
26
- const targetPath = pathUtil.join(CLIENT_PATH, "src", "_props", "mint.json");
63
+ }
64
+ catch (error) {
65
+ console.error(error.message);
66
+ }
67
+ })
68
+ .on("unlink", async (filename) => {
69
+ try {
70
+ const potentialCategory = getCategory(filename);
71
+ const targetPath = getTargetPath(potentialCategory, filename);
72
+ if (potentialCategory === "page" ||
73
+ potentialCategory === "snippet" ||
74
+ potentialCategory === "mintConfig" ||
75
+ potentialCategory === "staticFile") {
27
76
  await fse.remove(targetPath);
28
- console.log("⚠️ mint.json deleted. Please create a new mint.json file as it is mandatory.");
29
- process.exit(1);
30
77
  }
31
- else {
32
- const extension = pathUtil.parse(filename).ext.slice(1);
33
- if (extension &&
34
- (extension === "json" ||
35
- extension === "yaml" ||
36
- extension === "yml")) {
78
+ switch (potentialCategory) {
79
+ case "page":
80
+ console.log(`Page deleted: ${filename}`);
81
+ break;
82
+ case "snippet":
83
+ console.log(`Snippet deleted: ${filename}`);
84
+ break;
85
+ case "mintConfig":
86
+ console.log("⚠️ mint.json deleted. Please create a new mint.json file as it is mandatory.");
87
+ process.exit(1);
88
+ case "potentialJsonOpenApiSpec":
89
+ case "potentialYamlOpenApiSpec":
37
90
  await updateOpenApiFiles();
38
91
  await updateGeneratedNav();
39
- return;
40
- }
41
- // all other files
42
- const targetPath = pathUtil.join(CLIENT_PATH, "public", filename);
43
- await fse.remove(targetPath);
44
- console.log("Static file deleted: ", filename);
92
+ break;
93
+ case "staticFile":
94
+ console.log("Static file deleted: ", filename);
95
+ break;
45
96
  }
46
97
  }
47
- else {
48
- const filePath = pathUtil.join(CMD_EXEC_PATH, filename);
49
- let regenerateNav = false;
50
- if (fileIsMdxOrMd(filename)) {
51
- const targetPath = pathUtil.join(CLIENT_PATH, "src", "_props", filename);
52
- if (filename.startsWith("_snippets")) {
53
- const sourcePath = pathUtil.join(CMD_EXEC_PATH, filename);
54
- await fse.remove(targetPath);
55
- await fse.copy(sourcePath, targetPath);
56
- return;
57
- }
58
- regenerateNav = true;
59
- const contentStr = (await readFile(filePath)).toString();
60
- const { pageContent } = await createPage(filename, contentStr, CMD_EXEC_PATH, []);
61
- await fse.outputFile(targetPath, pageContent, {
62
- flag: "w",
63
- });
64
- switch (event) {
65
- case "add":
66
- case "addDir":
67
- console.log("New page detected: ", filename);
68
- break;
69
- default:
70
- console.log("Page edited: ", filename);
71
- break;
72
- }
73
- }
74
- else if (filename === "mint.json") {
75
- regenerateNav = true;
76
- const targetPath = pathUtil.join(CLIENT_PATH, "src", "_props", "mint.json");
77
- await fse.copy(filePath, targetPath);
78
- switch (event) {
79
- case "add":
80
- case "addDir":
81
- console.log("Config added");
82
- break;
83
- default:
84
- console.log("Config edited");
85
- break;
86
- }
87
- }
88
- else {
89
- const extension = pathUtil.parse(filename).ext.slice(1);
90
- let isOpenApi = false;
91
- if (extension &&
92
- (extension === "json" ||
93
- extension === "yaml" ||
94
- extension === "yml")) {
95
- const openApiInfo = await openApiCheck(pathUtil.join(CMD_EXEC_PATH, filename));
96
- isOpenApi = openApiInfo.isOpenApi;
97
- if (isOpenApi) {
98
- await updateOpenApiFiles();
99
- regenerateNav = true;
100
- }
101
- }
102
- if (!isOpenApi) {
103
- // all other files
104
- const targetPath = pathUtil.join(CLIENT_PATH, "public", filename);
105
- await fse.copy(filePath, targetPath);
106
- }
107
- switch (event) {
108
- case "add":
109
- case "addDir":
110
- if (isOpenApi) {
111
- console.log("OpenApi file added: ", filename);
112
- }
113
- else {
114
- console.log("Static file added: ", filename);
115
- }
116
- break;
117
- default:
118
- if (isOpenApi) {
119
- console.log("OpenApi file edited: ", filename);
120
- }
121
- else {
122
- console.log("Static file edited: ", filename);
123
- }
124
- break;
125
- }
126
- }
127
- if (regenerateNav) {
128
- // TODO: Instead of re-generating the entire nav, optimize by just updating the specific page that changed.
129
- await updateGeneratedNav();
130
- }
98
+ catch (error) {
99
+ console.error(error.message);
131
100
  }
132
101
  });
133
102
  };
103
+ const getTargetPath = (potentialCategory, filePath) => {
104
+ switch (potentialCategory) {
105
+ case "page":
106
+ case "snippet":
107
+ return pathUtil.join(CLIENT_PATH, "src", "_props", filePath);
108
+ case "mintConfig":
109
+ return pathUtil.join(CLIENT_PATH, "src", "_props", "mint.json");
110
+ case "potentialYamlOpenApiSpec":
111
+ case "potentialJsonOpenApiSpec":
112
+ return pathUtil.join(CLIENT_PATH, "src", "_props", "openApiFiles.json");
113
+ case "staticFile":
114
+ return pathUtil.join(CLIENT_PATH, "public", filePath);
115
+ default:
116
+ throw new Error("Invalid category");
117
+ }
118
+ };
119
+ /**
120
+ * This function is called when a file is added or changed
121
+ * @param filename
122
+ * @returns FileCategory
123
+ */
124
+ const onUpdateEvent = async (filename) => {
125
+ const filePath = pathUtil.join(CMD_EXEC_PATH, filename);
126
+ const potentialCategory = getCategory(filename);
127
+ const targetPath = getTargetPath(potentialCategory, filename);
128
+ let regenerateNav = false;
129
+ let category = potentialCategory === "potentialYamlOpenApiSpec" ||
130
+ potentialCategory === "potentialJsonOpenApiSpec"
131
+ ? "staticFile"
132
+ : potentialCategory;
133
+ switch (potentialCategory) {
134
+ case "page":
135
+ regenerateNav = true;
136
+ const contentStr = (await readFile(filePath)).toString();
137
+ const { pageContent } = await createPage(filename, contentStr, CMD_EXEC_PATH, []);
138
+ await fse.outputFile(targetPath, pageContent, {
139
+ flag: "w",
140
+ });
141
+ break;
142
+ case "snippet":
143
+ await fse.copy(filePath, targetPath);
144
+ break;
145
+ case "mintConfig":
146
+ regenerateNav = true;
147
+ await fse.copy(filePath, targetPath);
148
+ break;
149
+ case "potentialYamlOpenApiSpec":
150
+ case "potentialJsonOpenApiSpec":
151
+ let isOpenApi = false;
152
+ const openApiInfo = await openApiCheck(pathUtil.join(CMD_EXEC_PATH, filename));
153
+ isOpenApi = openApiInfo.isOpenApi;
154
+ if (isOpenApi) {
155
+ // TODO: Instead of re-generating all openApi files, optimize by just updating the specific file that changed.
156
+ await updateOpenApiFiles();
157
+ regenerateNav = true;
158
+ category = "openApi";
159
+ }
160
+ break;
161
+ case "staticFile":
162
+ await fse.copy(filePath, targetPath);
163
+ break;
164
+ }
165
+ if (regenerateNav) {
166
+ // TODO: Instead of re-generating the entire nav, optimize by just updating the specific page that changed.
167
+ await updateGeneratedNav();
168
+ }
169
+ return category;
170
+ };
134
171
  export default listener;
135
172
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/local-preview/listener/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/local-preview/listener/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { getConfigPath } from "./utils/mintConfigFile.js";
5
5
  import { CLIENT_PATH, CMD_EXEC_PATH } from "../../constants.js";
6
6
  import { join } from "path";
7
7
  import { generateNav } from "./generate.js";
8
- import categorizeFiles from "./categorizeFiles.js";
8
+ import { categorizeFiles } from "./categorize.js";
9
9
  const { readFile } = _promises;
10
10
  // TODO: Put in prebuild package
11
11
  export const updateConfigFile = async (contentDirectoryPath) => {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/local-preview/listener/update.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;AAE/B,gCAAgC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,oBAA4B,EAAE,EAAE;IACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnC,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAE7D,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;KACnD;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IAC3C,MAAM,YAAY,GAAG,MAAM,WAAW,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACtE,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACtE,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/local-preview/listener/update.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;AAE/B,gCAAgC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,oBAA4B,EAAE,EAAE;IACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACnE,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACnC,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAE7D,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;KACnD;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IAC3C,MAAM,YAAY,GAAG,MAAM,WAAW,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACtE,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC3E,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QACtE,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mintlify",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "The Mintlify CLI",
5
5
  "engines": {
6
6
  "node": ">=18.0.0"
package/src/index.ts CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  import yargs from "yargs";
4
4
  import { hideBin } from "yargs/helpers";
5
- import generatePageTemplate from "./pageTemplate.js";
6
5
  import {
7
6
  scrapePageAutomatically,
8
7
  scrapePageWrapper,
@@ -18,7 +17,6 @@ import { scrapeReadMeSection } from "./scraping/site-scrapers/scrapeReadMeSectio
18
17
  import dev from "./local-preview/index.js";
19
18
  import installDepsCommand from "./local-preview/helper-commands/installDepsCommand.js";
20
19
 
21
- // TODO - add descriptions to the command options https://github.com/yargs/yargs/blob/HEAD/docs/api.md#commandmodule
22
20
  yargs(hideBin(process.argv))
23
21
  .command(
24
22
  "dev",
@@ -34,7 +32,6 @@ yargs(hideBin(process.argv))
34
32
  () => {},
35
33
  installDepsCommand
36
34
  )
37
- .command("page", "Generate a new page", () => {}, generatePageTemplate)
38
35
  .command(
39
36
  "scrape-page [url]",
40
37
  "Scrapes a page",
@@ -84,4 +81,14 @@ yargs(hideBin(process.argv))
84
81
  }
85
82
  )
86
83
 
84
+ // Print the help menu when the user enters an invalid command.
85
+ .demandCommand(
86
+ 1,
87
+ "Unknown command. See above for the list of supported commands."
88
+ )
89
+
90
+ // Alias option flags --help = -h, --version = -v
91
+ .alias("h", "help")
92
+ .alias("v", "version")
93
+
87
94
  .parse();
@@ -2,8 +2,9 @@
2
2
  import path from "path";
3
3
 
4
4
  import { getFileExtension, openApiCheck, getFileList } from "./utils.js";
5
+ import { PotentialFileCategory } from "./utils/types.js";
5
6
 
6
- const categorizeFiles = async (contentDirectoryPath: string) => {
7
+ export const categorizeFiles = async (contentDirectoryPath: string) => {
7
8
  const allFilesInCmdExecutionPath = await getFileList(contentDirectoryPath);
8
9
  const contentFilenames = [];
9
10
  const staticFilenames = [];
@@ -52,4 +53,57 @@ const categorizeFiles = async (contentDirectoryPath: string) => {
52
53
  return { contentFilenames, staticFilenames, openApiFiles, snippets };
53
54
  };
54
55
 
55
- export default categorizeFiles;
56
+ const excludedMdFiles = ["readme", "license", "contributing", "contribute"];
57
+
58
+ const supportedStaticFileExtensions = [
59
+ ".jpeg",
60
+ ".jpg",
61
+ ".jfif",
62
+ ".pjpeg",
63
+ ".pjp",
64
+ ".png",
65
+ ".svg",
66
+ ".svgz",
67
+ ".ico",
68
+ ".webp",
69
+ ".gif",
70
+ ".apng",
71
+ ".avif",
72
+ ".bmp",
73
+ ".mp4",
74
+ ];
75
+
76
+ export const getCategory = (filePath: string): PotentialFileCategory => {
77
+ filePath = filePath.toLowerCase();
78
+
79
+ const parsed = path.parse(filePath);
80
+
81
+ if (parsed.base === "mint.json") {
82
+ return "mintConfig";
83
+ }
84
+
85
+ const fileName = parsed.name;
86
+ const extension = parsed.ext;
87
+ if (
88
+ filePath.startsWith("_snippets") &&
89
+ (extension === ".mdx" || extension === ".md")
90
+ ) {
91
+ return "snippet";
92
+ } else if (extension === ".mdx") {
93
+ return "page";
94
+ } else if (extension === ".md") {
95
+ // Exclude common markdown files people don't want on their docs website
96
+ if (excludedMdFiles.includes(fileName)) {
97
+ throw new Error("Excluded Md File");
98
+ }
99
+ return "page";
100
+ } else if (extension === ".yaml" || extension === ".yml") {
101
+ return "potentialYamlOpenApiSpec";
102
+ } else if (extension === ".json") {
103
+ return "potentialJsonOpenApiSpec";
104
+ } else if (supportedStaticFileExtensions.includes(extension)) {
105
+ return "staticFile";
106
+ }
107
+
108
+ throw new Error("Unsupported File Type, No change enacted");
109
+ };
@@ -4,7 +4,7 @@ import { outputFile } from "fs-extra";
4
4
  import path from "path";
5
5
  import createPage from "./utils/createPage.js";
6
6
  import { OpenApiFile } from "./utils/types.js";
7
- import categorizeFiles from "./categorizeFiles.js";
7
+ import { categorizeFiles } from "./categorize.js";
8
8
  import { CMD_EXEC_PATH } from "../../constants.js";
9
9
  import { getConfigObj } from "./utils/mintConfigFile.js";
10
10
  const { readFile } = _promises;
@@ -1,12 +1,13 @@
1
1
  import chokidar from "chokidar";
2
2
  import fse from "fs-extra";
3
3
  import pathUtil from "path";
4
- import { fileIsMdxOrMd } from "./utils/fileIsMdxOrMd.js";
5
4
  import { openApiCheck } from "./utils.js";
6
5
  import { updateGeneratedNav, updateOpenApiFiles } from "./update.js";
7
6
  import { CLIENT_PATH, CMD_EXEC_PATH } from "../../constants.js";
8
7
  import { promises as _promises } from "fs";
9
8
  import createPage from "./utils/createPage.js";
9
+ import { getCategory } from "./categorize.js";
10
+ import { PotentialFileCategory, FileCategory } from "./utils/types.js";
10
11
 
11
12
  const { readFile } = _promises;
12
13
 
@@ -17,153 +18,172 @@ const listener = () => {
17
18
  ignored: ["node_modules", ".git", ".idea"],
18
19
  cwd: CMD_EXEC_PATH,
19
20
  })
20
- .on("all", async (event, filename) => {
21
- if (event === "unlink" || event === "unlinkDir") {
22
- if (fileIsMdxOrMd(filename)) {
23
- const targetPath = pathUtil.join(
24
- CLIENT_PATH,
25
- "src",
26
- "_props",
27
- filename
28
- );
29
- await fse.remove(targetPath);
30
- console.log(
31
- `${
32
- filename.startsWith("_snippets") ? "Snippet" : "Page"
33
- } deleted: `,
34
- filename
35
- );
36
- } else if (filename === "mint.json") {
37
- const targetPath = pathUtil.join(
38
- CLIENT_PATH,
39
- "src",
40
- "_props",
41
- "mint.json"
42
- );
43
- await fse.remove(targetPath);
44
- console.log(
45
- "⚠️ mint.json deleted. Please create a new mint.json file as it is mandatory."
46
- );
47
- process.exit(1);
48
- } else {
49
- const extension = pathUtil.parse(filename).ext.slice(1);
50
- if (
51
- extension &&
52
- (extension === "json" ||
53
- extension === "yaml" ||
54
- extension === "yml")
55
- ) {
56
- await updateOpenApiFiles();
57
- await updateGeneratedNav();
58
- return;
59
- }
60
- // all other files
61
- const targetPath = pathUtil.join(CLIENT_PATH, "public", filename);
21
+ .on("add", async (filename: string) => {
22
+ try {
23
+ const category = await onUpdateEvent(filename);
24
+ switch (category) {
25
+ case "page":
26
+ console.log("New page detected: ", filename);
27
+ break;
28
+ case "snippet":
29
+ console.log("New snippet detected: ", filename);
30
+ break;
31
+ case "mintConfig":
32
+ console.log("Config added");
33
+ break;
34
+ case "openApi":
35
+ console.log("OpenApi spec added: ", filename);
36
+ break;
37
+ case "staticFile":
38
+ console.log("Static file added: ", filename);
39
+ break;
40
+ }
41
+ } catch (error) {
42
+ console.error(error.message);
43
+ }
44
+ })
45
+ .on("change", async (filename: string) => {
46
+ try {
47
+ const category = await onUpdateEvent(filename);
48
+ switch (category) {
49
+ case "page":
50
+ console.log("Page edited: ", filename);
51
+ break;
52
+ case "snippet":
53
+ console.log("Snippet edited: ", filename);
54
+ break;
55
+ case "mintConfig":
56
+ console.log("Config edited");
57
+ break;
58
+ case "openApi":
59
+ console.log("OpenApi spec edited: ", filename);
60
+ break;
61
+ case "staticFile":
62
+ console.log("Static file edited: ", filename);
63
+ break;
64
+ }
65
+ } catch (error) {
66
+ console.error(error.message);
67
+ }
68
+ })
69
+ .on("unlink", async (filename: string) => {
70
+ try {
71
+ const potentialCategory = getCategory(filename);
72
+ const targetPath = getTargetPath(potentialCategory, filename);
73
+ if (
74
+ potentialCategory === "page" ||
75
+ potentialCategory === "snippet" ||
76
+ potentialCategory === "mintConfig" ||
77
+ potentialCategory === "staticFile"
78
+ ) {
62
79
  await fse.remove(targetPath);
63
- console.log("Static file deleted: ", filename);
64
80
  }
65
- } else {
66
- const filePath = pathUtil.join(CMD_EXEC_PATH, filename);
67
- let regenerateNav = false;
68
- if (fileIsMdxOrMd(filename)) {
69
- const targetPath = pathUtil.join(
70
- CLIENT_PATH,
71
- "src",
72
- "_props",
73
- filename
74
- );
75
- if (filename.startsWith("_snippets")) {
76
- const sourcePath = pathUtil.join(CMD_EXEC_PATH, filename);
77
- await fse.remove(targetPath);
78
- await fse.copy(sourcePath, targetPath);
79
- return;
80
- }
81
- regenerateNav = true;
82
-
83
- const contentStr = (await readFile(filePath)).toString();
84
- const { pageContent } = await createPage(
85
- filename,
86
- contentStr,
87
- CMD_EXEC_PATH,
88
- []
89
- );
90
- await fse.outputFile(targetPath, pageContent, {
91
- flag: "w",
92
- });
93
- switch (event) {
94
- case "add":
95
- case "addDir":
96
- console.log("New page detected: ", filename);
97
- break;
98
- default:
99
- console.log("Page edited: ", filename);
100
- break;
101
- }
102
- } else if (filename === "mint.json") {
103
- regenerateNav = true;
104
- const targetPath = pathUtil.join(
105
- CLIENT_PATH,
106
- "src",
107
- "_props",
108
- "mint.json"
109
- );
110
- await fse.copy(filePath, targetPath);
111
- switch (event) {
112
- case "add":
113
- case "addDir":
114
- console.log("Config added");
115
- break;
116
- default:
117
- console.log("Config edited");
118
- break;
119
- }
120
- } else {
121
- const extension = pathUtil.parse(filename).ext.slice(1);
122
- let isOpenApi = false;
123
- if (
124
- extension &&
125
- (extension === "json" ||
126
- extension === "yaml" ||
127
- extension === "yml")
128
- ) {
129
- const openApiInfo = await openApiCheck(
130
- pathUtil.join(CMD_EXEC_PATH, filename)
81
+ switch (potentialCategory) {
82
+ case "page":
83
+ console.log(`Page deleted: ${filename}`);
84
+ break;
85
+ case "snippet":
86
+ console.log(`Snippet deleted: ${filename}`);
87
+ break;
88
+ case "mintConfig":
89
+ console.log(
90
+ "⚠️ mint.json deleted. Please create a new mint.json file as it is mandatory."
131
91
  );
132
- isOpenApi = openApiInfo.isOpenApi;
133
- if (isOpenApi) {
134
- await updateOpenApiFiles();
135
- regenerateNav = true;
136
- }
137
- }
138
- if (!isOpenApi) {
139
- // all other files
140
- const targetPath = pathUtil.join(CLIENT_PATH, "public", filename);
141
- await fse.copy(filePath, targetPath);
142
- }
143
- switch (event) {
144
- case "add":
145
- case "addDir":
146
- if (isOpenApi) {
147
- console.log("OpenApi file added: ", filename);
148
- } else {
149
- console.log("Static file added: ", filename);
150
- }
151
- break;
152
- default:
153
- if (isOpenApi) {
154
- console.log("OpenApi file edited: ", filename);
155
- } else {
156
- console.log("Static file edited: ", filename);
157
- }
158
- break;
159
- }
160
- }
161
- if (regenerateNav) {
162
- // TODO: Instead of re-generating the entire nav, optimize by just updating the specific page that changed.
163
- await updateGeneratedNav();
92
+ process.exit(1);
93
+ case "potentialJsonOpenApiSpec":
94
+ case "potentialYamlOpenApiSpec":
95
+ await updateOpenApiFiles();
96
+ await updateGeneratedNav();
97
+ break;
98
+ case "staticFile":
99
+ console.log("Static file deleted: ", filename);
100
+ break;
164
101
  }
102
+ } catch (error) {
103
+ console.error(error.message);
165
104
  }
166
105
  });
167
106
  };
168
107
 
108
+ const getTargetPath = (
109
+ potentialCategory: PotentialFileCategory,
110
+ filePath: string
111
+ ): string => {
112
+ switch (potentialCategory) {
113
+ case "page":
114
+ case "snippet":
115
+ return pathUtil.join(CLIENT_PATH, "src", "_props", filePath);
116
+ case "mintConfig":
117
+ return pathUtil.join(CLIENT_PATH, "src", "_props", "mint.json");
118
+ case "potentialYamlOpenApiSpec":
119
+ case "potentialJsonOpenApiSpec":
120
+ return pathUtil.join(CLIENT_PATH, "src", "_props", "openApiFiles.json");
121
+ case "staticFile":
122
+ return pathUtil.join(CLIENT_PATH, "public", filePath);
123
+ default:
124
+ throw new Error("Invalid category");
125
+ }
126
+ };
127
+
128
+ /**
129
+ * This function is called when a file is added or changed
130
+ * @param filename
131
+ * @returns FileCategory
132
+ */
133
+ const onUpdateEvent = async (filename: string): Promise<FileCategory> => {
134
+ const filePath = pathUtil.join(CMD_EXEC_PATH, filename);
135
+ const potentialCategory = getCategory(filename);
136
+ const targetPath = getTargetPath(potentialCategory, filename);
137
+ let regenerateNav = false;
138
+ let category: FileCategory =
139
+ potentialCategory === "potentialYamlOpenApiSpec" ||
140
+ potentialCategory === "potentialJsonOpenApiSpec"
141
+ ? "staticFile"
142
+ : potentialCategory;
143
+ switch (potentialCategory) {
144
+ case "page":
145
+ regenerateNav = true;
146
+ const contentStr = (await readFile(filePath)).toString();
147
+ const { pageContent } = await createPage(
148
+ filename,
149
+ contentStr,
150
+ CMD_EXEC_PATH,
151
+ []
152
+ );
153
+ await fse.outputFile(targetPath, pageContent, {
154
+ flag: "w",
155
+ });
156
+ break;
157
+ case "snippet":
158
+ await fse.copy(filePath, targetPath);
159
+ break;
160
+ case "mintConfig":
161
+ regenerateNav = true;
162
+ await fse.copy(filePath, targetPath);
163
+ break;
164
+ case "potentialYamlOpenApiSpec":
165
+ case "potentialJsonOpenApiSpec":
166
+ let isOpenApi = false;
167
+ const openApiInfo = await openApiCheck(
168
+ pathUtil.join(CMD_EXEC_PATH, filename)
169
+ );
170
+ isOpenApi = openApiInfo.isOpenApi;
171
+ if (isOpenApi) {
172
+ // TODO: Instead of re-generating all openApi files, optimize by just updating the specific file that changed.
173
+ await updateOpenApiFiles();
174
+ regenerateNav = true;
175
+ category = "openApi";
176
+ }
177
+ break;
178
+ case "staticFile":
179
+ await fse.copy(filePath, targetPath);
180
+ break;
181
+ }
182
+ if (regenerateNav) {
183
+ // TODO: Instead of re-generating the entire nav, optimize by just updating the specific page that changed.
184
+ await updateGeneratedNav();
185
+ }
186
+ return category;
187
+ };
188
+
169
189
  export default listener;
@@ -5,7 +5,7 @@ import { getConfigPath } from "./utils/mintConfigFile.js";
5
5
  import { CLIENT_PATH, CMD_EXEC_PATH } from "../../constants.js";
6
6
  import { join } from "path";
7
7
  import { generateNav } from "./generate.js";
8
- import categorizeFiles from "./categorizeFiles.js";
8
+ import { categorizeFiles } from "./categorize.js";
9
9
 
10
10
  const { readFile } = _promises;
11
11
 
@@ -1 +1,16 @@
1
1
  export type OpenApiFile = { name: string; spec: any };
2
+
3
+ export type PotentialFileCategory =
4
+ | "page"
5
+ | "snippet"
6
+ | "mintConfig"
7
+ | "potentialYamlOpenApiSpec"
8
+ | "potentialJsonOpenApiSpec"
9
+ | "staticFile";
10
+
11
+ export type FileCategory =
12
+ | "page"
13
+ | "snippet"
14
+ | "mintConfig"
15
+ | "openApi"
16
+ | "staticFile";
@@ -1 +0,0 @@
1
- {"version":3,"file":"categorizeFiles.js","sourceRoot":"","sources":["../../../src/local-preview/listener/categorizeFiles.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,MAAM,eAAe,GAAG,KAAK,EAAE,oBAA4B,EAAE,EAAE;IAC7D,MAAM,0BAA0B,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,0BAA0B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9C,QAAQ,CAAC,IAAI,CACX,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,SAAS,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,CAAC,EAAE;gBAC5D,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;oBACrC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACzB;qBAAM;oBACL,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACjC;aACF;iBAAM,IACL,SAAS;gBACT,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,CAAC,EACrE;gBACA,MAAM,WAAW,GAAG,MAAM,YAAY,CACpC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAC1C,CAAC;gBACF,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBAClC,IAAI,SAAS,EAAE;oBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;oBAC3C,YAAY,CAAC,IAAI,CAAC;wBAChB,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBAC1D,IAAI,EAAE,WAAW,CAAC,IAAI;qBACvB,CAAC,CAAC;iBACJ;aACF;iBAAM,IACL,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACrC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAClC,CAAC,SAAS,EACV;gBACA,kBAAkB;gBAClB,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACvE,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,12 +0,0 @@
1
- import pathUtil from "path";
2
- export const fileIsMdxOrMd = (filename) => {
3
- try {
4
- const extension = pathUtil.parse(filename).ext;
5
- return extension && (extension === ".mdx" || extension === ".md");
6
- }
7
- catch (e) {
8
- // TypeError when filename is not a string
9
- return false;
10
- }
11
- };
12
- //# sourceMappingURL=fileIsMdxOrMd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileIsMdxOrMd.js","sourceRoot":"","sources":["../../../../src/local-preview/listener/utils/fileIsMdxOrMd.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE;IAChD,IAAI;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;QAC/C,OAAO,SAAS,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC;KACnE;IAAC,OAAO,CAAC,EAAE;QACV,0CAA0C;QAC1C,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC"}
@@ -1,30 +0,0 @@
1
- import inquirer from "inquirer";
2
- import { createPage } from "./util.js";
3
- const generatePageTemplate = () => {
4
- inquirer
5
- .prompt([
6
- {
7
- type: "input",
8
- name: "title",
9
- message: "What is the title of the new page?",
10
- },
11
- {
12
- type: "input",
13
- name: "description",
14
- message: "What is the description?",
15
- default: "",
16
- },
17
- ])
18
- .then((answers) => {
19
- const { title, description } = answers;
20
- createPage(title, description);
21
- console.log("🌱 Created initial files for Mintlify docs");
22
- process.exit(0);
23
- })
24
- .catch((error) => {
25
- console.error(error);
26
- process.exit(1);
27
- });
28
- };
29
- export default generatePageTemplate;
30
- //# sourceMappingURL=pageTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pageTemplate.js","sourceRoot":"","sources":["../src/pageTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,QAAQ;SACL,MAAM,CAAC;QACN;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,oCAAoC;SAC9C;QACD;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE,EAAE;SACZ;KACF,CAAC;SACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAEvC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1,11 +0,0 @@
1
- import pathUtil from "path";
2
-
3
- export const fileIsMdxOrMd = (filename: string) => {
4
- try {
5
- const extension = pathUtil.parse(filename).ext;
6
- return extension && (extension === ".mdx" || extension === ".md");
7
- } catch (e) {
8
- // TypeError when filename is not a string
9
- return false;
10
- }
11
- };
@@ -1,32 +0,0 @@
1
- import inquirer from "inquirer";
2
- import { createPage } from "./util.js";
3
-
4
- const generatePageTemplate = () => {
5
- inquirer
6
- .prompt([
7
- {
8
- type: "input",
9
- name: "title",
10
- message: "What is the title of the new page?",
11
- },
12
- {
13
- type: "input",
14
- name: "description",
15
- message: "What is the description?",
16
- default: "",
17
- },
18
- ])
19
- .then((answers) => {
20
- const { title, description } = answers;
21
-
22
- createPage(title, description);
23
- console.log("🌱 Created initial files for Mintlify docs");
24
- process.exit(0);
25
- })
26
- .catch((error) => {
27
- console.error(error);
28
- process.exit(1);
29
- });
30
- };
31
-
32
- export default generatePageTemplate;