blob: 81021c5fbd34d291e07340c57a1c9c00116d0519 (
plain)
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
|
import type { Project } from 'ts-morph';
import { writeDiffIndex } from './output/diff-index';
import { writePages } from './output/page';
import { writePageIndex } from './output/page-index';
import { writeSearchIndex } from './output/search-index';
import { writeSourceBaseUrl } from './output/source-base-url';
import type { RawApiDocsPage } from './processing/class';
import {
processModuleClasses,
processProjectClasses,
processProjectInterfaces,
processProjectUtilities,
} from './processing/class';
import { getProject } from './project';
export async function generate(): Promise<void> {
console.log('Reading project');
const project = getProject();
console.log('Processing components');
const apiDocsPages = processComponents(project);
console.log('Writing files');
await writeFiles(apiDocsPages);
}
export function processComponents(project: Project): RawApiDocsPage[] {
return [
...processProjectClasses(project),
...processProjectInterfaces(project),
processProjectUtilities(project),
...processModuleClasses(project),
];
}
async function writeFiles(apiDocsPages: RawApiDocsPage[]): Promise<void> {
console.log('- diff index');
writeDiffIndex(apiDocsPages);
console.log('- page index');
await writePageIndex(apiDocsPages);
console.log('- pages');
await writePages(apiDocsPages);
console.log('- search index');
writeSearchIndex(apiDocsPages);
console.log('- source base url');
await writeSourceBaseUrl();
}
|