@git.zone/tsdoc 1.1.16
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/assets/.gitkeep +0 -0
- package/cli.js +4 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/aidocs_classes/description.d.ts +7 -0
- package/dist_ts/aidocs_classes/description.js +49 -0
- package/dist_ts/aidocs_classes/index.d.ts +3 -0
- package/dist_ts/aidocs_classes/index.js +4 -0
- package/dist_ts/aidocs_classes/projectcontext.d.ts +16 -0
- package/dist_ts/aidocs_classes/projectcontext.js +50 -0
- package/dist_ts/aidocs_classes/readme.d.ts +7 -0
- package/dist_ts/aidocs_classes/readme.js +63 -0
- package/dist_ts/classes.aidoc.d.ts +14 -0
- package/dist_ts/classes.aidoc.js +65 -0
- package/dist_ts/classes.typedoc.d.ts +10 -0
- package/dist_ts/classes.typedoc.js +49 -0
- package/dist_ts/cli.d.ts +1 -0
- package/dist_ts/cli.js +36 -0
- package/dist_ts/index.d.ts +2 -0
- package/dist_ts/index.js +11 -0
- package/dist_ts/logging.d.ts +2 -0
- package/dist_ts/logging.js +14 -0
- package/dist_ts/paths.d.ts +8 -0
- package/dist_ts/paths.js +12 -0
- package/dist_ts/plugins.d.ts +17 -0
- package/dist_ts/plugins.js +20 -0
- package/dist_ts/tsdoc.classes.typedoc.d.ts +10 -0
- package/dist_ts/tsdoc.classes.typedoc.js +48 -0
- package/dist_ts/tsdoc.cli.d.ts +1 -0
- package/dist_ts/tsdoc.cli.js +32 -0
- package/dist_ts/tsdoc.logging.d.ts +2 -0
- package/dist_ts/tsdoc.logging.js +14 -0
- package/dist_ts/tsdoc.paths.d.ts +8 -0
- package/dist_ts/tsdoc.paths.js +12 -0
- package/dist_ts/tsdoc.plugins.d.ts +11 -0
- package/dist_ts/tsdoc.plugins.js +15 -0
- package/license +19 -0
- package/npmextra.json +34 -0
- package/package.json +68 -0
- package/readme.md +101 -0
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/aidocs_classes/description.ts +73 -0
- package/ts/aidocs_classes/index.ts +3 -0
- package/ts/aidocs_classes/projectcontext.ts +73 -0
- package/ts/aidocs_classes/readme.ts +84 -0
- package/ts/classes.aidoc.ts +80 -0
- package/ts/classes.typedoc.ts +58 -0
- package/ts/cli.ts +42 -0
- package/ts/index.ts +12 -0
- package/ts/logging.ts +15 -0
- package/ts/paths.ts +13 -0
- package/ts/plugins.ts +24 -0
package/assets/.gitkeep
ADDED
|
File without changes
|
package/cli.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* autocreated commitinfo by @pushrocks/commitinfo
|
|
3
|
+
*/
|
|
4
|
+
export const commitinfo = {
|
|
5
|
+
name: '@git.zone/tsdoc',
|
|
6
|
+
version: '1.1.16',
|
|
7
|
+
description: 'An advanced TypeScript documentation tool leveraging AI for enhanced insights and automated documentation generation.'
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHVIQUF1SDtDQUNySSxDQUFBIn0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import { ProjectContext } from './projectcontext.js';
|
|
3
|
+
export class Description {
|
|
4
|
+
constructor(aiDocsRef, projectDirArg) {
|
|
5
|
+
this.aiDocsRef = aiDocsRef;
|
|
6
|
+
this.projectDir = projectDirArg;
|
|
7
|
+
}
|
|
8
|
+
async build() {
|
|
9
|
+
// we can now assemble the directory structure.
|
|
10
|
+
const projectContext = new ProjectContext(this.projectDir);
|
|
11
|
+
const contextString = await projectContext.update();
|
|
12
|
+
let result = await this.aiDocsRef.openaiInstance.chat(`
|
|
13
|
+
You create a json adhering the following interface:
|
|
14
|
+
{
|
|
15
|
+
description: string; // a sensible short, one sentence description of the project
|
|
16
|
+
keywords: string[]; // an array of tags that describe the project
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
The description should be based on what you understand from the project's files.
|
|
20
|
+
The keywords should be based on use cases you see from the files.
|
|
21
|
+
Don't be cheap about the way you think.
|
|
22
|
+
|
|
23
|
+
Important: Answer only in valid JSON.
|
|
24
|
+
You answer should be parseable with JSON.parse() without modifying anything.
|
|
25
|
+
|
|
26
|
+
Don't wrap the JSON in three ticks json!!!
|
|
27
|
+
`, contextString, []);
|
|
28
|
+
console.log(result.message.content);
|
|
29
|
+
const resultObject = JSON.parse(result.message.content.replace('```json', '').replace('```', ''));
|
|
30
|
+
const npmextraJson = (await projectContext.gatherFiles()).smartfilesNpmextraJSON;
|
|
31
|
+
const npmextraJsonContent = JSON.parse(npmextraJson.contents.toString());
|
|
32
|
+
npmextraJsonContent.gitzone.module.description = resultObject.description;
|
|
33
|
+
npmextraJsonContent.gitzone.module.keywords = resultObject.keywords;
|
|
34
|
+
npmextraJson.contents = Buffer.from(JSON.stringify(npmextraJsonContent, null, 2));
|
|
35
|
+
await npmextraJson.write();
|
|
36
|
+
// do the same with packageJson
|
|
37
|
+
const packageJson = (await projectContext.gatherFiles()).smartfilePackageJSON;
|
|
38
|
+
const packageJsonContent = JSON.parse(packageJson.contents.toString());
|
|
39
|
+
packageJsonContent.description = resultObject.description;
|
|
40
|
+
packageJsonContent.keywords = resultObject.keywords;
|
|
41
|
+
packageJson.contents = Buffer.from(JSON.stringify(packageJsonContent, null, 2));
|
|
42
|
+
await packageJson.write();
|
|
43
|
+
console.log(`\n======================\n`);
|
|
44
|
+
console.log(JSON.stringify(resultObject, null, 2));
|
|
45
|
+
console.log(`\n======================\n`);
|
|
46
|
+
return result.message.content;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9haWRvY3NfY2xhc3Nlcy9kZXNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFPckQsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBWSxTQUFnQixFQUFFLGFBQXFCO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQiwrQ0FBK0M7UUFDL0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sYUFBYSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXBELElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNuRDs7Ozs7Ozs7Ozs7Ozs7O09BZUMsRUFDRCxhQUFhLEVBQ2IsRUFBRSxDQUNILENBQUM7UUFFRixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsTUFBTSxZQUFZLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekgsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO1FBQ2pGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekUsbUJBQW1CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUMxRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBRXBFLFlBQVksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTNCLCtCQUErQjtRQUMvQixNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUM7UUFDOUUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RSxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUMxRCxrQkFBa0IsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxXQUFXLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixNQUFNLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUcxQixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDMUMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUNoQyxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './description.js';
|
|
2
|
+
export * from './projectcontext.js';
|
|
3
|
+
export * from './readme.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9haWRvY3NfY2xhc3Nlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
export declare class ProjectContext {
|
|
3
|
+
static fromDir(dirArg: string): Promise<void>;
|
|
4
|
+
projectDir: string;
|
|
5
|
+
constructor(projectDirArg: string);
|
|
6
|
+
gatherFiles(): Promise<{
|
|
7
|
+
smartfilePackageJSON: plugins.smartfile.SmartFile;
|
|
8
|
+
smartfilesReadme: plugins.smartfile.SmartFile;
|
|
9
|
+
smartfilesNpmextraJSON: plugins.smartfile.SmartFile;
|
|
10
|
+
smartfilesMod: plugins.smartfile.SmartFile[];
|
|
11
|
+
smartfilesTest: plugins.smartfile.SmartFile[];
|
|
12
|
+
}>;
|
|
13
|
+
convertFilesToContext(filesArg: plugins.smartfile.SmartFile[]): Promise<string>;
|
|
14
|
+
private buildContext;
|
|
15
|
+
update(): Promise<string>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
export class ProjectContext {
|
|
3
|
+
static async fromDir(dirArg) { }
|
|
4
|
+
constructor(projectDirArg) {
|
|
5
|
+
this.projectDir = projectDirArg;
|
|
6
|
+
}
|
|
7
|
+
async gatherFiles() {
|
|
8
|
+
const smartfilePackageJSON = await plugins.smartfile.SmartFile.fromFilePath(plugins.path.join(this.projectDir, 'package.json'), this.projectDir);
|
|
9
|
+
const smartfilesReadme = await plugins.smartfile.SmartFile.fromFilePath(plugins.path.join(this.projectDir, 'readme.md'), this.projectDir);
|
|
10
|
+
const smartfilesNpmextraJSON = await plugins.smartfile.SmartFile.fromFilePath(plugins.path.join(this.projectDir, 'npmextra.json'), this.projectDir);
|
|
11
|
+
const smartfilesMod = await plugins.smartfile.fs.fileTreeToObject(this.projectDir, 'ts/**/*.ts');
|
|
12
|
+
const smartfilesTest = await plugins.smartfile.fs.fileTreeToObject(this.projectDir, 'test/**/*.ts');
|
|
13
|
+
return {
|
|
14
|
+
smartfilePackageJSON,
|
|
15
|
+
smartfilesReadme,
|
|
16
|
+
smartfilesNpmextraJSON,
|
|
17
|
+
smartfilesMod,
|
|
18
|
+
smartfilesTest,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
async convertFilesToContext(filesArg) {
|
|
22
|
+
return filesArg
|
|
23
|
+
.map((smartfile) => {
|
|
24
|
+
return `
|
|
25
|
+
====== START OF FILE ${smartfile.relative} ======
|
|
26
|
+
|
|
27
|
+
${smartfile.contents.toString()}
|
|
28
|
+
|
|
29
|
+
====== END OF FILE ${smartfile.relative} ======
|
|
30
|
+
`;
|
|
31
|
+
})
|
|
32
|
+
.join('\n');
|
|
33
|
+
}
|
|
34
|
+
async buildContext(dirArg) {
|
|
35
|
+
const files = await this.gatherFiles();
|
|
36
|
+
let context = await this.convertFilesToContext([
|
|
37
|
+
files.smartfilePackageJSON,
|
|
38
|
+
files.smartfilesReadme,
|
|
39
|
+
files.smartfilesNpmextraJSON,
|
|
40
|
+
...files.smartfilesMod,
|
|
41
|
+
...files.smartfilesTest,
|
|
42
|
+
]);
|
|
43
|
+
return context;
|
|
44
|
+
}
|
|
45
|
+
async update() {
|
|
46
|
+
const result = await this.buildContext(this.projectDir);
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9haWRvY3NfY2xhc3Nlcy9wcm9qZWN0Y29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFjLElBQUcsQ0FBQztJQUs5QyxZQUFZLGFBQXFCO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVztRQUN0QixNQUFNLG9CQUFvQixHQUFHLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUN6RSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxFQUNsRCxJQUFJLENBQUMsVUFBVSxDQUNoQixDQUFDO1FBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FDckUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQzNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQ25ELElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7UUFDRixNQUFNLGFBQWEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUMvRCxJQUFJLENBQUMsVUFBVSxFQUNmLFlBQVksQ0FDYixDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQUcsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FDaEUsSUFBSSxDQUFDLFVBQVUsRUFDZixjQUFjLENBQ2YsQ0FBQztRQUNGLE9BQU87WUFDTCxvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixhQUFhO1lBQ2IsY0FBYztTQUNmLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLFFBQXVDO1FBQ3hFLE9BQU8sUUFBUTthQUNaLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2pCLE9BQU87dUJBQ1EsU0FBUyxDQUFDLFFBQVE7O0VBRXZDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFOztxQkFFVixTQUFTLENBQUMsUUFBUTtTQUM5QixDQUFDO1FBQ0osQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFTyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkMsSUFBSSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDN0MsS0FBSyxDQUFDLG9CQUFvQjtZQUMxQixLQUFLLENBQUMsZ0JBQWdCO1lBQ3RCLEtBQUssQ0FBQyxzQkFBc0I7WUFDNUIsR0FBRyxLQUFLLENBQUMsYUFBYTtZQUN0QixHQUFHLEtBQUssQ0FBQyxjQUFjO1NBQ3hCLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import { ProjectContext } from './projectcontext.js';
|
|
3
|
+
export class Readme {
|
|
4
|
+
constructor(aiDocsRef, projectDirArg) {
|
|
5
|
+
this.aiDocsRef = aiDocsRef;
|
|
6
|
+
this.projectDir = projectDirArg;
|
|
7
|
+
}
|
|
8
|
+
async build() {
|
|
9
|
+
let finalReadmeString = ``;
|
|
10
|
+
// we can now assemble the directory structure.
|
|
11
|
+
const projectContext = new ProjectContext(this.projectDir);
|
|
12
|
+
const contextString = await projectContext.update();
|
|
13
|
+
// lets first check legal before introducung any cost
|
|
14
|
+
const npmExtraJson = JSON.parse(((await projectContext.gatherFiles()).smartfilesNpmextraJSON).contents.toString());
|
|
15
|
+
const legalInfo = npmExtraJson?.tsdoc?.legal;
|
|
16
|
+
if (!legalInfo) {
|
|
17
|
+
const error = new Error(`No legal information found in npmextra.json`);
|
|
18
|
+
console.log(error);
|
|
19
|
+
}
|
|
20
|
+
let result = await this.aiDocsRef.openaiInstance.chat(`
|
|
21
|
+
You create markdown readmes for npm projects. You only output the markdown readme.
|
|
22
|
+
|
|
23
|
+
The Readme should follow the following template:
|
|
24
|
+
|
|
25
|
+
# Project Name
|
|
26
|
+
[
|
|
27
|
+
The name is the module name of package.json
|
|
28
|
+
The description is in the description field of package.json
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
## Install
|
|
32
|
+
[
|
|
33
|
+
Write a short text on how to install the project
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
[
|
|
38
|
+
Give code examples here.
|
|
39
|
+
Construct sensible scenarios for the user.
|
|
40
|
+
Make sure to show a complete set of features of the module.
|
|
41
|
+
Don't omit use cases.
|
|
42
|
+
It does not matter how much time you need.
|
|
43
|
+
ALWAYS USE ESM SYNTAX AND TYPESCRIPT.
|
|
44
|
+
DON'T CHICKEN OUT. Write at least 4000 words. More if necessary.
|
|
45
|
+
If there is already a readme, take the Usage section as base. Remove outdated content, and expand and improve upon the valid parts.
|
|
46
|
+
Super important: Check for completenes.
|
|
47
|
+
Don't include any licensing information. This will be added in a later step.
|
|
48
|
+
Avoid "in conclusions".
|
|
49
|
+
|
|
50
|
+
npmextra.json has a tsdocs section that provides valuable information about module ideas.
|
|
51
|
+
]
|
|
52
|
+
`, contextString, []);
|
|
53
|
+
finalReadmeString += result.message.content + '\n' + legalInfo;
|
|
54
|
+
console.log(`\n======================\n`);
|
|
55
|
+
console.log(result.message.content);
|
|
56
|
+
console.log(`\n======================\n`);
|
|
57
|
+
const readme = (await projectContext.gatherFiles()).smartfilesReadme;
|
|
58
|
+
readme.contents = Buffer.from(finalReadmeString);
|
|
59
|
+
await readme.write();
|
|
60
|
+
return result.message.content;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvYWlkb2NzX2NsYXNzZXMvcmVhZG1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sTUFBTTtJQU1qQixZQUFZLFNBQWdCLEVBQUUsYUFBcUI7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRTNCLCtDQUErQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFcEQscURBQXFEO1FBQ3JELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuSCxNQUFNLFNBQVMsR0FBRyxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQTtRQUM1QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQ0MsRUFDRCxhQUFhLEVBQ2IsRUFBRSxDQUNILENBQUM7UUFHRixpQkFBaUIsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBSS9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNyRSxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVyQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
export declare class AiDoc {
|
|
3
|
+
private openaiToken;
|
|
4
|
+
npmextraKV: plugins.npmextra.KeyValueStore;
|
|
5
|
+
qenvInstance: plugins.qenv.Qenv;
|
|
6
|
+
smartinteractInstance: plugins.smartinteract.SmartInteract;
|
|
7
|
+
openaiInstance: plugins.smartai.OpenAiProvider;
|
|
8
|
+
argvArg: any;
|
|
9
|
+
constructor(argvArg?: any);
|
|
10
|
+
private printSanitizedToken;
|
|
11
|
+
start(): Promise<void>;
|
|
12
|
+
buildReadme(projectDirArg: string): Promise<string>;
|
|
13
|
+
buildDescription(projectDirArg: string): Promise<string>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as aiDocsClasses from './aidocs_classes/index.js';
|
|
3
|
+
export class AiDoc {
|
|
4
|
+
constructor(argvArg) {
|
|
5
|
+
this.argvArg = argvArg;
|
|
6
|
+
}
|
|
7
|
+
printSanitizedToken() {
|
|
8
|
+
// Check if the token length is greater than the sum of startLength and endLength
|
|
9
|
+
let printToken;
|
|
10
|
+
if (this.openaiToken.length > 6) {
|
|
11
|
+
// Extract the beginning and end parts of the token
|
|
12
|
+
const start = this.openaiToken.substring(0, 3);
|
|
13
|
+
const end = this.openaiToken.substring(this.openaiToken.length - 3);
|
|
14
|
+
printToken = `${start}...${end}`;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// If the token is not long enough, return it as is
|
|
18
|
+
printToken = this.openaiToken;
|
|
19
|
+
}
|
|
20
|
+
console.log(`OpenAI Token on record: ${printToken}`);
|
|
21
|
+
}
|
|
22
|
+
async start() {
|
|
23
|
+
// lets care about prerequisites
|
|
24
|
+
this.smartinteractInstance = new plugins.smartinteract.SmartInteract();
|
|
25
|
+
this.qenvInstance = new plugins.qenv.Qenv();
|
|
26
|
+
if (!(await this.qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN'))) {
|
|
27
|
+
this.npmextraKV = new plugins.npmextra.KeyValueStore({
|
|
28
|
+
typeArg: 'userHomeDir',
|
|
29
|
+
identityArg: 'tsdoc',
|
|
30
|
+
mandatoryKeys: ['OPENAI_TOKEN'],
|
|
31
|
+
});
|
|
32
|
+
const missingKeys = this.npmextraKV.getMissingMandatoryKeys();
|
|
33
|
+
if (missingKeys.length > 0) {
|
|
34
|
+
// lets try argv
|
|
35
|
+
if (this.argvArg?.OPENAI_TOKEN) {
|
|
36
|
+
this.openaiToken = this.argvArg.OPENAI_TOKEN;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// lets try smartinteract
|
|
40
|
+
const answerObject = await this.smartinteractInstance.askQuestion({
|
|
41
|
+
type: 'input',
|
|
42
|
+
message: `Please provide your OpenAI token`,
|
|
43
|
+
name: 'OPENAI_TOKEN',
|
|
44
|
+
default: '',
|
|
45
|
+
});
|
|
46
|
+
this.openaiToken = answerObject.value;
|
|
47
|
+
}
|
|
48
|
+
this.printSanitizedToken();
|
|
49
|
+
// await this.npmextraKV.writeKey('OPENAI_TOKEN', this.openaiToken);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// lets assume we have an OPENAI_Token now
|
|
53
|
+
this.openaiInstance = new plugins.smartai.OpenAiProvider(this.openaiToken);
|
|
54
|
+
await this.openaiInstance.start();
|
|
55
|
+
}
|
|
56
|
+
async buildReadme(projectDirArg) {
|
|
57
|
+
const readmeInstance = new aiDocsClasses.Readme(this, projectDirArg);
|
|
58
|
+
return await readmeInstance.build();
|
|
59
|
+
}
|
|
60
|
+
async buildDescription(projectDirArg) {
|
|
61
|
+
const descriptionInstance = new aiDocsClasses.Description(this, projectDirArg);
|
|
62
|
+
return await descriptionInstance.build();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5haWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuYWlkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxLQUFLLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sS0FBSztJQVVoQixZQUFZLE9BQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixpRkFBaUY7UUFDakYsSUFBSSxVQUFrQixDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEMsbURBQW1EO1lBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRSxVQUFVLEdBQUcsR0FBRyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixtREFBbUQ7WUFDbkQsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO2dCQUNuRCxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLGFBQWEsRUFBRSxDQUFDLGNBQWMsQ0FBQzthQUNoQyxDQUFDLENBQUM7WUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDOUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMzQixnQkFBZ0I7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQztvQkFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztnQkFDL0MsQ0FBQztxQkFBTSxDQUFDO29CQUNOLHlCQUF5QjtvQkFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDO3dCQUNoRSxJQUFJLEVBQUUsT0FBTzt3QkFDYixPQUFPLEVBQUUsa0NBQWtDO3dCQUMzQyxJQUFJLEVBQUUsY0FBYzt3QkFDcEIsT0FBTyxFQUFFLEVBQUU7cUJBQ1osQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztnQkFDeEMsQ0FBQztnQkFFRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDM0Isb0VBQW9FO1lBQ3RFLENBQUM7UUFDSCxDQUFDO1FBRUQsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQXFCO1FBQzVDLE1BQU0sY0FBYyxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDckUsT0FBTyxNQUFNLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQXFCO1FBQ2pELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMvRSxPQUFPLE1BQU0sbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
export declare class TypeDoc {
|
|
3
|
+
smartshellInstance: plugins.smartshell.Smartshell;
|
|
4
|
+
static isTypeDocDir(dirPathArg: string): Promise<boolean>;
|
|
5
|
+
typedocDirectory: string;
|
|
6
|
+
constructor(dirPathArg: any);
|
|
7
|
+
compile(options?: {
|
|
8
|
+
publicSubdir?: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from './paths.js';
|
|
3
|
+
export class TypeDoc {
|
|
4
|
+
// Static
|
|
5
|
+
static async isTypeDocDir(dirPathArg) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
constructor(dirPathArg) {
|
|
9
|
+
this.smartshellInstance = new plugins.smartshell.Smartshell({
|
|
10
|
+
executor: 'bash',
|
|
11
|
+
pathDirectories: [paths.binDir],
|
|
12
|
+
});
|
|
13
|
+
this.typedocDirectory = dirPathArg;
|
|
14
|
+
}
|
|
15
|
+
async compile(options) {
|
|
16
|
+
const data = {
|
|
17
|
+
"compilerOptions": {
|
|
18
|
+
"experimentalDecorators": true,
|
|
19
|
+
"useDefineForClassFields": false,
|
|
20
|
+
"target": "ES2022",
|
|
21
|
+
"module": "NodeNext",
|
|
22
|
+
"moduleResolution": "NodeNext",
|
|
23
|
+
"esModuleInterop": true,
|
|
24
|
+
"verbatimModuleSyntax": true,
|
|
25
|
+
"skipLibCheck": true,
|
|
26
|
+
},
|
|
27
|
+
include: [],
|
|
28
|
+
};
|
|
29
|
+
let startDirectory = '';
|
|
30
|
+
if (plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, './ts'))) {
|
|
31
|
+
data.include.push(plugins.path.join(paths.cwd, './ts/**/*'));
|
|
32
|
+
startDirectory = 'ts';
|
|
33
|
+
}
|
|
34
|
+
if (plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, './ts_web'))) {
|
|
35
|
+
data.include.push(plugins.path.join(paths.cwd, './ts_web/**/*'));
|
|
36
|
+
if (!startDirectory) {
|
|
37
|
+
startDirectory = 'ts_web';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
await plugins.smartfile.memory.toFs(JSON.stringify(data), paths.tsconfigFile);
|
|
41
|
+
let targetDir = paths.publicDir;
|
|
42
|
+
if (options?.publicSubdir) {
|
|
43
|
+
targetDir = plugins.path.join(targetDir, options.publicSubdir);
|
|
44
|
+
}
|
|
45
|
+
await this.smartshellInstance.exec(`typedoc --tsconfig ${paths.tsconfigFile} --out ${targetDir} ${startDirectory}/index.ts`);
|
|
46
|
+
plugins.smartfile.fs.remove(paths.tsconfigFile);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy50eXBlZG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy50eXBlZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBRXBDLE1BQU0sT0FBTyxPQUFPO0lBTWxCLFNBQVM7SUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxVQUFrQjtRQUNqRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxZQUFZLFVBQVU7UUFaZix1QkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQzVELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGVBQWUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDaEMsQ0FBQyxDQUFDO1FBVUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFtQztRQUN0RCxNQUFNLElBQUksR0FBRztZQUNYLGlCQUFpQixFQUFFO2dCQUNqQix3QkFBd0IsRUFBRSxJQUFJO2dCQUM5Qix5QkFBeUIsRUFBRSxLQUFLO2dCQUNoQyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLGtCQUFrQixFQUFFLFVBQVU7Z0JBQzlCLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLHNCQUFzQixFQUFFLElBQUk7Z0JBQzVCLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ0YsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzNFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM3RCxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNwQixjQUFjLEdBQUcsUUFBUSxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUUsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUMxQixTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNoQyxzQkFBc0IsS0FBSyxDQUFDLFlBQVksVUFBVSxTQUFTLElBQUksY0FBYyxXQUFXLENBQ3pGLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiJ9
|
package/dist_ts/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const run: () => Promise<void>;
|
package/dist_ts/cli.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from './paths.js';
|
|
3
|
+
import { logger } from './logging.js';
|
|
4
|
+
import { TypeDoc } from './classes.typedoc.js';
|
|
5
|
+
import { AiDoc } from './classes.aidoc.js';
|
|
6
|
+
export const run = async () => {
|
|
7
|
+
const tsdocCli = new plugins.smartcli.Smartcli();
|
|
8
|
+
tsdocCli.standardCommand().subscribe(async (argvArg) => {
|
|
9
|
+
logger.log('warn', `Auto detecting environment!`);
|
|
10
|
+
switch (true) {
|
|
11
|
+
case await TypeDoc.isTypeDocDir(paths.cwd):
|
|
12
|
+
logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`);
|
|
13
|
+
tsdocCli.triggerCommand('typedoc', argvArg);
|
|
14
|
+
break;
|
|
15
|
+
default:
|
|
16
|
+
logger.log('error', `Cannot determine docs format at ${paths.cwd}`);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
tsdocCli.addCommand('typedoc').subscribe(async (argvArg) => {
|
|
20
|
+
const typeDocInstance = new TypeDoc(paths.cwd);
|
|
21
|
+
await typeDocInstance.compile({
|
|
22
|
+
publicSubdir: argvArg.publicSubdir,
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
tsdocCli.addCommand('aidocs').subscribe(async (argvArg) => {
|
|
26
|
+
const aidocs = new AiDoc();
|
|
27
|
+
});
|
|
28
|
+
tsdocCli.addCommand('test').subscribe((argvArg) => {
|
|
29
|
+
tsdocCli.triggerCommand('typedoc', argvArg);
|
|
30
|
+
process.on('exit', async () => {
|
|
31
|
+
await plugins.smartfile.fs.remove(paths.publicDir);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
tsdocCli.startParse();
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRWpELFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDbEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7Z0JBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLDJDQUEyQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDekUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzVDLE1BQU07WUFDUjtnQkFDRSxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxtQ0FBbUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3pELE1BQU0sZUFBZSxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLGVBQWUsQ0FBQyxPQUFPLENBQUM7WUFDNUIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQ25DLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUE7SUFFRixRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ2hELFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzVCLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyJ9
|
package/dist_ts/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as early from '@push.rocks/early';
|
|
2
|
+
early.start('tsdoc');
|
|
3
|
+
import * as plugins from './plugins.js';
|
|
4
|
+
import * as cli from './cli.js';
|
|
5
|
+
early.stop();
|
|
6
|
+
export const runCli = async () => {
|
|
7
|
+
await cli.run();
|
|
8
|
+
};
|
|
9
|
+
// exports
|
|
10
|
+
export * from './classes.aidoc.js';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckIsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUM7QUFDaEMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRWIsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQy9CLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFDIn0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
export const logger = new plugins.smartlog.Smartlog({
|
|
3
|
+
logContext: {
|
|
4
|
+
company: 'Some Company',
|
|
5
|
+
companyunit: 'Some CompanyUnit',
|
|
6
|
+
containerName: 'Some Containername',
|
|
7
|
+
environment: 'local',
|
|
8
|
+
runtime: 'node',
|
|
9
|
+
zone: 'gitzone',
|
|
10
|
+
},
|
|
11
|
+
minimumLogLevel: 'silly',
|
|
12
|
+
});
|
|
13
|
+
logger.addLogDestination(new plugins.smartlogDestinationLocal.DestinationLocal());
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2xvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsVUFBVSxFQUFFO1FBQ1YsT0FBTyxFQUFFLGNBQWM7UUFDdkIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixhQUFhLEVBQUUsb0JBQW9CO1FBQ25DLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE9BQU8sRUFBRSxNQUFNO1FBQ2YsSUFBSSxFQUFFLFNBQVM7S0FDaEI7SUFDRCxlQUFlLEVBQUUsT0FBTztDQUN6QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxPQUFPLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const packageDir: string;
|
|
2
|
+
export declare const cwd: string;
|
|
3
|
+
export declare const binDir: string;
|
|
4
|
+
export declare const assetsDir: string;
|
|
5
|
+
export declare const publicDir: string;
|
|
6
|
+
export declare const tsDir: string;
|
|
7
|
+
export declare const tsconfigFile: string;
|
|
8
|
+
export declare const typedocOptionsFile: string;
|
package/dist_ts/paths.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
// dirs
|
|
3
|
+
export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');
|
|
4
|
+
export const cwd = process.cwd();
|
|
5
|
+
export const binDir = plugins.path.join(packageDir, './node_modules/.bin');
|
|
6
|
+
export const assetsDir = plugins.path.join(packageDir, './assets');
|
|
7
|
+
export const publicDir = plugins.path.join(cwd, './public');
|
|
8
|
+
export const tsDir = plugins.path.join(cwd, './ts');
|
|
9
|
+
// files
|
|
10
|
+
export const tsconfigFile = plugins.path.join(assetsDir, './tsconfig.json');
|
|
11
|
+
export const typedocOptionsFile = plugins.path.join(assetsDir, './typedoc.json');
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUV4QyxPQUFPO0FBQ1AsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDcEgsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFcEQsUUFBUTtBQUNSLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUM1RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
export { path };
|
|
4
|
+
import * as npmextra from '@push.rocks/npmextra';
|
|
5
|
+
import * as qenv from '@push.rocks/qenv';
|
|
6
|
+
import * as smartai from '@push.rocks/smartai';
|
|
7
|
+
import * as smartcli from '@push.rocks/smartcli';
|
|
8
|
+
import * as smartdelay from '@push.rocks/smartdelay';
|
|
9
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
10
|
+
import * as smartinteract from '@push.rocks/smartinteract';
|
|
11
|
+
import * as smartlog from '@push.rocks/smartlog';
|
|
12
|
+
import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local';
|
|
13
|
+
import * as smartpath from '@push.rocks/smartpath';
|
|
14
|
+
import * as smartshell from '@push.rocks/smartshell';
|
|
15
|
+
export { npmextra, qenv, smartai, smartcli, smartdelay, smartfile, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell };
|
|
16
|
+
import * as typedoc from 'typedoc';
|
|
17
|
+
export { typedoc };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// node native
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
export { path };
|
|
4
|
+
// pushrocks scope
|
|
5
|
+
import * as npmextra from '@push.rocks/npmextra';
|
|
6
|
+
import * as qenv from '@push.rocks/qenv';
|
|
7
|
+
import * as smartai from '@push.rocks/smartai';
|
|
8
|
+
import * as smartcli from '@push.rocks/smartcli';
|
|
9
|
+
import * as smartdelay from '@push.rocks/smartdelay';
|
|
10
|
+
import * as smartfile from '@push.rocks/smartfile';
|
|
11
|
+
import * as smartinteract from '@push.rocks/smartinteract';
|
|
12
|
+
import * as smartlog from '@push.rocks/smartlog';
|
|
13
|
+
import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local';
|
|
14
|
+
import * as smartpath from '@push.rocks/smartpath';
|
|
15
|
+
import * as smartshell from '@push.rocks/smartshell';
|
|
16
|
+
export { npmextra, qenv, smartai, smartcli, smartdelay, smartfile, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell };
|
|
17
|
+
// third party scope
|
|
18
|
+
import * as typedoc from 'typedoc';
|
|
19
|
+
export { typedoc };
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUVoQixrQkFBa0I7QUFDbEIsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssSUFBSSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sS0FBSyxPQUFPLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxLQUFLLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssVUFBVSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLGFBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssUUFBUSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sS0FBSyx3QkFBd0IsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxVQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBRTlJLG9CQUFvQjtBQUNwQixPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as plugins from './tsdoc.plugins.js';
|
|
2
|
+
export declare class TypeDoc {
|
|
3
|
+
smartshellInstance: plugins.smartshell.Smartshell;
|
|
4
|
+
static isTypeDocDir(dirPathArg: string): Promise<boolean>;
|
|
5
|
+
typedocDirectory: string;
|
|
6
|
+
constructor(dirPathArg: any);
|
|
7
|
+
compile(options?: {
|
|
8
|
+
publicSubdir?: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as plugins from './tsdoc.plugins.js';
|
|
2
|
+
import * as paths from './tsdoc.paths.js';
|
|
3
|
+
export class TypeDoc {
|
|
4
|
+
constructor(dirPathArg) {
|
|
5
|
+
this.smartshellInstance = new plugins.smartshell.Smartshell({
|
|
6
|
+
executor: 'bash',
|
|
7
|
+
pathDirectories: [paths.binDir],
|
|
8
|
+
});
|
|
9
|
+
this.typedocDirectory = dirPathArg;
|
|
10
|
+
}
|
|
11
|
+
// Static
|
|
12
|
+
static async isTypeDocDir(dirPathArg) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
async compile(options) {
|
|
16
|
+
const data = {
|
|
17
|
+
compilerOptions: {
|
|
18
|
+
"experimentalDecorators": true,
|
|
19
|
+
"useDefineForClassFields": false,
|
|
20
|
+
"target": "ES2022",
|
|
21
|
+
"module": "ES2022",
|
|
22
|
+
"moduleResolution": "nodenext",
|
|
23
|
+
"skipLibCheck": true,
|
|
24
|
+
"allowSyntheticDefaultImports": true,
|
|
25
|
+
},
|
|
26
|
+
include: [],
|
|
27
|
+
};
|
|
28
|
+
let startDirectory = '';
|
|
29
|
+
if (plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, './ts'))) {
|
|
30
|
+
data.include.push(plugins.path.join(paths.cwd, './ts/**/*'));
|
|
31
|
+
startDirectory = 'ts';
|
|
32
|
+
}
|
|
33
|
+
if (plugins.smartfile.fs.isDirectory(plugins.path.join(paths.cwd, './ts_web'))) {
|
|
34
|
+
data.include.push(plugins.path.join(paths.cwd, './ts_web/**/*'));
|
|
35
|
+
if (!startDirectory) {
|
|
36
|
+
startDirectory = 'ts_web';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
await plugins.smartfile.memory.toFs(JSON.stringify(data), paths.tsconfigFile);
|
|
40
|
+
let targetDir = paths.publicDir;
|
|
41
|
+
if (options?.publicSubdir) {
|
|
42
|
+
targetDir = plugins.path.join(targetDir, options.publicSubdir);
|
|
43
|
+
}
|
|
44
|
+
await this.smartshellInstance.exec(`typedoc --tsconfig ${paths.tsconfigFile} --out ${targetDir} ${startDirectory}/index.ts`);
|
|
45
|
+
plugins.smartfile.fs.remove(paths.tsconfigFile);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNkb2MuY2xhc3Nlcy50eXBlZG9jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdHNkb2MuY2xhc3Nlcy50eXBlZG9jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUUxQyxNQUFNLE9BQU8sT0FBTztJQWFsQixZQUFZLFVBQVU7UUFaZix1QkFBa0IsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQzVELFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGVBQWUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDaEMsQ0FBQyxDQUFDO1FBVUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBVEQsU0FBUztJQUNGLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCO1FBQ2pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVFNLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBbUM7UUFDdEQsTUFBTSxJQUFJLEdBQUc7WUFDWCxlQUFlLEVBQUU7Z0JBQ2Ysd0JBQXdCLEVBQUUsSUFBSTtnQkFDOUIseUJBQXlCLEVBQUUsS0FBSztnQkFDaEMsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixrQkFBa0IsRUFBRSxVQUFVO2dCQUM5QixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsOEJBQThCLEVBQUUsSUFBSTthQUNyQztZQUNELE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUNGLElBQUksY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUU7WUFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdELGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDdkI7UUFFRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ25CLGNBQWMsR0FBRyxRQUFRLENBQUM7YUFDM0I7U0FDRjtRQUVELE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlFLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxPQUFPLEVBQUUsWUFBWSxFQUFFO1lBQ3pCLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNoQyxzQkFBc0IsS0FBSyxDQUFDLFlBQVksVUFBVSxTQUFTLElBQUksY0FBYyxXQUFXLENBQ3pGLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const run: () => Promise<void>;
|