fix(core): update
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* autocreated commitinfo by @pushrocks/commitinfo
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@gitzone/tsdoc',
|
||||
version: '1.1.13',
|
||||
name: '@git.zone/tsdoc',
|
||||
version: '1.1.14',
|
||||
description: 'a tool for better documentation'
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
import * as early from '@pushrocks/early';
|
||||
import * as early from '@push.rocks/early';
|
||||
early.start('tsdoc');
|
||||
import * as plugins from './tsdoc.plugins.js';
|
||||
import * as cli from './tsdoc.cli.js';
|
||||
@@ -7,3 +7,6 @@ early.stop();
|
||||
export const runCli = async () => {
|
||||
await cli.run();
|
||||
};
|
||||
|
||||
// exports
|
||||
export * from './tsdoc.classes.aidocs.js';
|
||||
|
44
ts/tsdoc.classes.aidocs.ts
Normal file
44
ts/tsdoc.classes.aidocs.ts
Normal file
@@ -0,0 +1,44 @@
|
||||
import * as plugins from './tsdoc.plugins.js';
|
||||
|
||||
export class AiDocs {
|
||||
private openaiToken: string;
|
||||
|
||||
public npmextraKV: plugins.npmextra.KeyValueStore;
|
||||
public qenvInstance: plugins.qenv.Qenv;
|
||||
public smartinteractInstance: plugins.smartinteract.SmartInteract;
|
||||
public openaiInstance: plugins.smartai.OpenAiProvider;
|
||||
|
||||
constructor() {}
|
||||
|
||||
public async start() {
|
||||
// lets care about prerequisites
|
||||
this.smartinteractInstance = new plugins.smartinteract.SmartInteract();
|
||||
this.qenvInstance = new plugins.qenv.Qenv()
|
||||
if (!(await this.qenvInstance.getEnvVarOnDemand('OPENAI_TOKEN'))) {
|
||||
this.npmextraKV = new plugins.npmextra.KeyValueStore({
|
||||
typeArg: 'userHomeDir',
|
||||
identityArg: 'tsdoc',
|
||||
mandatoryKeys: ['OPENAI_TOKEN']
|
||||
});
|
||||
|
||||
const missingKeys = this.npmextraKV.getMissingMandatoryKeys();
|
||||
if (missingKeys.length > 0) {
|
||||
const answerObject = await this.smartinteractInstance.askQuestion({
|
||||
type: 'input',
|
||||
message: `Please provide your OpenAI token`,
|
||||
name: 'OPENAI_TOKEN',
|
||||
default: '',
|
||||
});
|
||||
this.openaiToken = answerObject.value
|
||||
await this.npmextraKV.writeKey('OPENAI_TOKEN', this.openaiToken);
|
||||
}
|
||||
}
|
||||
|
||||
// lets assume we have an OPENAI_Token now
|
||||
// we can now assemble the directory structure.
|
||||
const smartfilesMod = plugins.smartfile.fs.fileTreeToObject(process.cwd(), 'ts/**/*.ts');
|
||||
const smartfilesTest = plugins.smartfile.fs.fileTreeToObject(process.cwd(), 'test/**/*.ts');
|
||||
console.log(smartfilesMod);
|
||||
console.log(smartfilesTest);
|
||||
}
|
||||
}
|
@@ -20,14 +20,14 @@ export class TypeDoc {
|
||||
|
||||
public async compile(options?: { publicSubdir?: string }) {
|
||||
const data = {
|
||||
compilerOptions: {
|
||||
"compilerOptions": {
|
||||
"experimentalDecorators": true,
|
||||
"useDefineForClassFields": false,
|
||||
"target": "ES2022",
|
||||
"module": "ES2022",
|
||||
"moduleResolution": "nodenext",
|
||||
"skipLibCheck": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"module": "NodeNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"esModuleInterop": true,
|
||||
"verbatimModuleSyntax": true
|
||||
},
|
||||
include: [],
|
||||
};
|
||||
|
@@ -3,6 +3,7 @@ import * as paths from './tsdoc.paths.js';
|
||||
import { logger } from './tsdoc.logging.js';
|
||||
|
||||
import { TypeDoc } from './tsdoc.classes.typedoc.js';
|
||||
import { AiDocs } from './tsdoc.classes.aidocs.js';
|
||||
|
||||
export const run = async () => {
|
||||
const tsdocCli = new plugins.smartcli.Smartcli();
|
||||
@@ -26,6 +27,10 @@ export const run = async () => {
|
||||
});
|
||||
});
|
||||
|
||||
tsdocCli.addCommand('aidocs').subscribe(async (argvArg) => {
|
||||
const aidocs = new AiDocs();
|
||||
})
|
||||
|
||||
tsdocCli.addCommand('test').subscribe((argvArg) => {
|
||||
tsdocCli.triggerCommand('typedoc', argvArg);
|
||||
process.on('exit', async () => {
|
||||
|
@@ -4,14 +4,18 @@ import * as path from 'path';
|
||||
export { path };
|
||||
|
||||
// pushrocks scope
|
||||
import * as smartcli from '@pushrocks/smartcli';
|
||||
import * as smartfile from '@pushrocks/smartfile';
|
||||
import * as smartlog from '@pushrocks/smartlog';
|
||||
import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local';
|
||||
import * as smartpath from '@pushrocks/smartpath';
|
||||
import * as smartshell from '@pushrocks/smartshell';
|
||||
import * as npmextra from '@push.rocks/npmextra';
|
||||
import * as qenv from '@push.rocks/qenv';
|
||||
import * as smartai from '@push.rocks/smartai';
|
||||
import * as smartcli from '@push.rocks/smartcli';
|
||||
import * as smartfile from '@push.rocks/smartfile';
|
||||
import * as smartinteract from '@push.rocks/smartinteract';
|
||||
import * as smartlog from '@push.rocks/smartlog';
|
||||
import * as smartlogDestinationLocal from '@push.rocks/smartlog-destination-local';
|
||||
import * as smartpath from '@push.rocks/smartpath';
|
||||
import * as smartshell from '@push.rocks/smartshell';
|
||||
|
||||
export { smartcli, smartfile, smartlog, smartlogDestinationLocal, smartpath, smartshell };
|
||||
export { npmextra, qenv, smartai, smartcli, smartfile, smartinteract, smartlog, smartlogDestinationLocal, smartpath, smartshell };
|
||||
|
||||
// third party scope
|
||||
import * as typedoc from 'typedoc';
|
||||
|
Reference in New Issue
Block a user