/
createDocs.ts
50 lines (42 loc) · 1.53 KB
/
createDocs.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { Application, SourceFileMode, TSConfigReader, TypeDocReader } from "typedoc";
import { createTypedocReadme } from "./createTypedocReadme";
import path from "path";
import { ScriptTarget } from "typescript";
/** The default directory where the documentation is generated */
export const defaultDocsOutputDir = path.join(__dirname, "dist", "site");
// First create typedoc README
(async (): Promise<void> => {
try {
await createTypedocReadme();
const app = new Application();
// If you want TypeDoc to load tsconfig.json / typedoc.json files
app.options.addReader(new TSConfigReader());
app.options.addReader(new TypeDocReader());
app.bootstrap({
categorizeByGroup: true,
exclude: [
"node_modules/**/*",
"docs/**/*",
"dist/**/*",
"tests/**/*"
],
experimentalDecorators: true,
ignoreCompilerErrors: false,
mode: SourceFileMode.Modules,
name: "MarkTeX Modules",
readme: path.join(__dirname, "dist", "README.md"),
target: ScriptTarget.ESNext
});
const project = app.convert(app.expandInputFiles(["src"]));
if (project) {
app.generateDocs(project, defaultDocsOutputDir);
} else {
throw Error("TypeDoc documentation generation was not successful");
}
} catch (error) {
throw error;
}
})().catch(error => {
console.error(error);
process.exit(1);
});