@git.zone/tsdoc 1.11.1 → 1.11.3

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.
Files changed (62) hide show
  1. package/dist_ts/aidocs_classes/commit.js +65 -42
  2. package/dist_ts/aidocs_classes/description.js +68 -29
  3. package/dist_ts/aidocs_classes/projectcontext.d.ts +5 -5
  4. package/dist_ts/aidocs_classes/projectcontext.js +8 -16
  5. package/dist_ts/aidocs_classes/readme.js +156 -88
  6. package/dist_ts/classes.aidoc.d.ts +10 -6
  7. package/dist_ts/classes.aidoc.js +17 -11
  8. package/dist_ts/classes.diffprocessor.js +284 -0
  9. package/dist_ts/cli.js +21 -92
  10. package/dist_ts/plugins.d.ts +1 -2
  11. package/dist_ts/plugins.js +2 -3
  12. package/package.json +2 -3
  13. package/ts/aidocs_classes/commit.ts +67 -51
  14. package/ts/aidocs_classes/description.ts +72 -34
  15. package/ts/aidocs_classes/projectcontext.ts +7 -14
  16. package/ts/aidocs_classes/readme.ts +168 -93
  17. package/ts/classes.aidoc.ts +18 -11
  18. package/ts/cli.ts +20 -100
  19. package/ts/plugins.ts +1 -2
  20. package/dist_ts/context/config-manager.d.ts +0 -83
  21. package/dist_ts/context/config-manager.js +0 -318
  22. package/dist_ts/context/context-analyzer.d.ts +0 -73
  23. package/dist_ts/context/context-analyzer.js +0 -311
  24. package/dist_ts/context/context-cache.d.ts +0 -73
  25. package/dist_ts/context/context-cache.js +0 -239
  26. package/dist_ts/context/context-trimmer.d.ts +0 -60
  27. package/dist_ts/context/context-trimmer.js +0 -258
  28. package/dist_ts/context/diff-processor.js +0 -284
  29. package/dist_ts/context/enhanced-context.d.ts +0 -73
  30. package/dist_ts/context/enhanced-context.js +0 -275
  31. package/dist_ts/context/index.d.ts +0 -11
  32. package/dist_ts/context/index.js +0 -12
  33. package/dist_ts/context/iterative-context-builder.d.ts +0 -62
  34. package/dist_ts/context/iterative-context-builder.js +0 -395
  35. package/dist_ts/context/lazy-file-loader.d.ts +0 -60
  36. package/dist_ts/context/lazy-file-loader.js +0 -182
  37. package/dist_ts/context/task-context-factory.d.ts +0 -48
  38. package/dist_ts/context/task-context-factory.js +0 -86
  39. package/dist_ts/context/types.d.ts +0 -301
  40. package/dist_ts/context/types.js +0 -2
  41. package/dist_ts/tsdoc.classes.typedoc.d.ts +0 -10
  42. package/dist_ts/tsdoc.classes.typedoc.js +0 -48
  43. package/dist_ts/tsdoc.cli.d.ts +0 -1
  44. package/dist_ts/tsdoc.cli.js +0 -32
  45. package/dist_ts/tsdoc.logging.d.ts +0 -2
  46. package/dist_ts/tsdoc.logging.js +0 -14
  47. package/dist_ts/tsdoc.paths.d.ts +0 -8
  48. package/dist_ts/tsdoc.paths.js +0 -12
  49. package/dist_ts/tsdoc.plugins.d.ts +0 -11
  50. package/dist_ts/tsdoc.plugins.js +0 -15
  51. package/ts/context/config-manager.ts +0 -369
  52. package/ts/context/context-analyzer.ts +0 -391
  53. package/ts/context/context-cache.ts +0 -286
  54. package/ts/context/context-trimmer.ts +0 -310
  55. package/ts/context/enhanced-context.ts +0 -332
  56. package/ts/context/index.ts +0 -70
  57. package/ts/context/iterative-context-builder.ts +0 -512
  58. package/ts/context/lazy-file-loader.ts +0 -207
  59. package/ts/context/task-context-factory.ts +0 -120
  60. package/ts/context/types.ts +0 -324
  61. /package/dist_ts/{context/diff-processor.d.ts → classes.diffprocessor.d.ts} +0 -0
  62. /package/ts/{context/diff-processor.ts → classes.diffprocessor.ts} +0 -0
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
1
- export declare const run: () => Promise<void>;
@@ -1,32 +0,0 @@
1
- import * as plugins from './tsdoc.plugins.js';
2
- import * as paths from './tsdoc.paths.js';
3
- import { logger } from './tsdoc.logging.js';
4
- import { TypeDoc } from './tsdoc.classes.typedoc.js';
5
- export const run = async () => {
6
- const tsdocCli = new plugins.smartcli.Smartcli();
7
- tsdocCli.standardCommand().subscribe(async (argvArg) => {
8
- logger.log('warn', `Auto detecting environment!`);
9
- switch (true) {
10
- case await TypeDoc.isTypeDocDir(paths.cwd):
11
- logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`);
12
- tsdocCli.triggerCommand('typedoc', argvArg);
13
- break;
14
- default:
15
- logger.log('error', `Cannot determine docs format at ${paths.cwd}`);
16
- }
17
- });
18
- tsdocCli.addCommand('typedoc').subscribe(async (argvArg) => {
19
- const typeDocInstance = new TypeDoc(paths.cwd);
20
- await typeDocInstance.compile({
21
- publicSubdir: argvArg.publicSubdir,
22
- });
23
- });
24
- tsdocCli.addCommand('test').subscribe((argvArg) => {
25
- tsdocCli.triggerCommand('typedoc', argvArg);
26
- process.on('exit', async () => {
27
- await plugins.smartfile.fs.remove(paths.publicDir);
28
- });
29
- });
30
- tsdocCli.startParse();
31
- };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNkb2MuY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdHNkb2MuY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxLQUFLLEtBQUssTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFFakQsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNsRCxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7Z0JBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLDJDQUEyQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDekUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzVDLE1BQU07WUFDUjtnQkFDRSxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxtQ0FBbUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN6RCxNQUFNLGVBQWUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsTUFBTSxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQzVCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDaEQsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUIsTUFBTSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDIn0=
@@ -1,2 +0,0 @@
1
- import * as plugins from './tsdoc.plugins.js';
2
- export declare const logger: plugins.smartlog.Smartlog;
@@ -1,14 +0,0 @@
1
- import * as plugins from './tsdoc.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNkb2MubG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3RzZG9jLmxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNsRCxVQUFVLEVBQUU7UUFDVixPQUFPLEVBQUUsY0FBYztRQUN2QixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLGFBQWEsRUFBRSxvQkFBb0I7UUFDbkMsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE1BQU07UUFDZixJQUFJLEVBQUUsU0FBUztLQUNoQjtJQUNELGVBQWUsRUFBRSxPQUFPO0NBQ3pCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMifQ==
@@ -1,8 +0,0 @@
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;
@@ -1,12 +0,0 @@
1
- import * as plugins from './tsdoc.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNkb2MucGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90c2RvYy5wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU87QUFDUCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNwSCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUMzRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUVwRCxRQUFRO0FBQ1IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDIn0=
@@ -1,11 +0,0 @@
1
- import * as path from 'path';
2
- export { path };
3
- import * as smartcli from '@pushrocks/smartcli';
4
- import * as smartfile from '@pushrocks/smartfile';
5
- import * as smartlog from '@pushrocks/smartlog';
6
- import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local';
7
- import * as smartpath from '@pushrocks/smartpath';
8
- import * as smartshell from '@pushrocks/smartshell';
9
- export { smartcli, smartfile, smartlog, smartlogDestinationLocal, smartpath, smartshell };
10
- import * as typedoc from 'typedoc';
11
- export { typedoc };
@@ -1,15 +0,0 @@
1
- // node native
2
- import * as path from 'path';
3
- export { path };
4
- // pushrocks scope
5
- import * as smartcli from '@pushrocks/smartcli';
6
- import * as smartfile from '@pushrocks/smartfile';
7
- import * as smartlog from '@pushrocks/smartlog';
8
- import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local';
9
- import * as smartpath from '@pushrocks/smartpath';
10
- import * as smartshell from '@pushrocks/smartshell';
11
- export { smartcli, smartfile, smartlog, smartlogDestinationLocal, smartpath, smartshell };
12
- // third party scope
13
- import * as typedoc from 'typedoc';
14
- export { typedoc };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHNkb2MucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3RzZG9jLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUVoQixrQkFBa0I7QUFDbEIsT0FBTyxLQUFLLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssU0FBUyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxRQUFRLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxLQUFLLHdCQUF3QixNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sS0FBSyxTQUFTLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBRTFGLG9CQUFvQjtBQUNwQixPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUVuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMifQ==
@@ -1,369 +0,0 @@
1
- import * as plugins from '../plugins.js';
2
- import * as fs from 'fs';
3
- import type {
4
- IContextConfig,
5
- ITrimConfig,
6
- ITaskConfig,
7
- TaskType,
8
- ContextMode,
9
- ICacheConfig,
10
- IAnalyzerConfig,
11
- IPrioritizationWeights,
12
- ITierConfig,
13
- IIterativeConfig
14
- } from './types.js';
15
-
16
- /**
17
- * Manages configuration for context building
18
- */
19
- export class ConfigManager {
20
- private static instance: ConfigManager;
21
- private config: IContextConfig;
22
- private projectDir: string = '';
23
- private configCache: { mtime: number; config: IContextConfig } | null = null;
24
-
25
- /**
26
- * Get the singleton instance of ConfigManager
27
- */
28
- public static getInstance(): ConfigManager {
29
- if (!ConfigManager.instance) {
30
- ConfigManager.instance = new ConfigManager();
31
- }
32
- return ConfigManager.instance;
33
- }
34
-
35
- /**
36
- * Private constructor for singleton pattern
37
- */
38
- private constructor() {
39
- this.config = this.getDefaultConfig();
40
- }
41
-
42
- /**
43
- * Initialize the config manager with a project directory
44
- * @param projectDir The project directory
45
- */
46
- public async initialize(projectDir: string): Promise<void> {
47
- this.projectDir = projectDir;
48
- await this.loadConfig();
49
- }
50
-
51
- /**
52
- * Get the default configuration
53
- */
54
- private getDefaultConfig(): IContextConfig {
55
- return {
56
- maxTokens: 190000, // Default for o4-mini with some buffer
57
- defaultMode: 'trimmed',
58
- taskSpecificSettings: {
59
- readme: {
60
- mode: 'trimmed',
61
- includePaths: ['ts/', 'src/'],
62
- excludePaths: ['test/', 'node_modules/']
63
- },
64
- commit: {
65
- mode: 'trimmed',
66
- focusOnChangedFiles: true
67
- },
68
- description: {
69
- mode: 'trimmed',
70
- includePackageInfo: true
71
- }
72
- },
73
- trimming: {
74
- removeImplementations: true,
75
- preserveInterfaces: true,
76
- preserveTypeDefs: true,
77
- preserveJSDoc: true,
78
- maxFunctionLines: 5,
79
- removeComments: true,
80
- removeBlankLines: true
81
- },
82
- cache: {
83
- enabled: true,
84
- ttl: 3600, // 1 hour
85
- maxSize: 100, // 100MB
86
- directory: undefined // Will be set to .nogit/context-cache by ContextCache
87
- },
88
- analyzer: {
89
- useAIRefinement: false, // Disabled by default for now
90
- aiModel: 'haiku'
91
- },
92
- prioritization: {
93
- dependencyWeight: 0.3,
94
- relevanceWeight: 0.4,
95
- efficiencyWeight: 0.2,
96
- recencyWeight: 0.1
97
- },
98
- tiers: {
99
- essential: { minScore: 0.8, trimLevel: 'none' },
100
- important: { minScore: 0.5, trimLevel: 'light' },
101
- optional: { minScore: 0.2, trimLevel: 'aggressive' }
102
- },
103
- iterative: {
104
- maxIterations: 5,
105
- firstPassFileLimit: 10,
106
- subsequentPassFileLimit: 5,
107
- temperature: 0.3,
108
- model: 'gpt-4-turbo-preview'
109
- }
110
- };
111
- }
112
-
113
- /**
114
- * Load configuration from npmextra.json
115
- */
116
- private async loadConfig(): Promise<void> {
117
- try {
118
- if (!this.projectDir) {
119
- return;
120
- }
121
-
122
- const npmextraJsonPath = plugins.path.join(this.projectDir, 'npmextra.json');
123
-
124
- // Check if file exists
125
- const fileExists = await plugins.fsInstance.file(npmextraJsonPath).exists();
126
- if (!fileExists) {
127
- return;
128
- }
129
-
130
- // Check cache
131
- const stats = await fs.promises.stat(npmextraJsonPath);
132
- const currentMtime = Math.floor(stats.mtimeMs);
133
-
134
- if (this.configCache && this.configCache.mtime === currentMtime) {
135
- // Use cached config
136
- this.config = this.configCache.config;
137
- return;
138
- }
139
-
140
- // Read the npmextra.json file
141
- const npmextraJsonFile = await plugins.smartfileFactory.fromFilePath(npmextraJsonPath);
142
- const npmextraContent = JSON.parse(npmextraJsonFile.contents.toString());
143
-
144
- // Check for tsdoc context configuration
145
- if (npmextraContent?.['@git.zone/tsdoc']?.context) {
146
- // Merge with default config
147
- this.config = this.mergeConfigs(this.config, npmextraContent['@git.zone/tsdoc'].context);
148
- }
149
-
150
- // Cache the config
151
- this.configCache = {
152
- mtime: currentMtime,
153
- config: { ...this.config }
154
- };
155
- } catch (error) {
156
- console.error('Error loading context configuration:', error);
157
- }
158
- }
159
-
160
- /**
161
- * Merge configurations, with userConfig taking precedence
162
- * @param defaultConfig The default configuration
163
- * @param userConfig The user configuration
164
- */
165
- private mergeConfigs(defaultConfig: IContextConfig, userConfig: Partial<IContextConfig>): IContextConfig {
166
- const result: IContextConfig = { ...defaultConfig };
167
-
168
- // Merge top-level properties
169
- if (userConfig.maxTokens !== undefined) result.maxTokens = userConfig.maxTokens;
170
- if (userConfig.defaultMode !== undefined) result.defaultMode = userConfig.defaultMode;
171
-
172
- // Merge task-specific settings
173
- if (userConfig.taskSpecificSettings) {
174
- result.taskSpecificSettings = result.taskSpecificSettings || {};
175
-
176
- // For each task type, merge settings
177
- (['readme', 'commit', 'description'] as TaskType[]).forEach(taskType => {
178
- if (userConfig.taskSpecificSettings?.[taskType]) {
179
- result.taskSpecificSettings![taskType] = {
180
- ...result.taskSpecificSettings![taskType],
181
- ...userConfig.taskSpecificSettings[taskType]
182
- };
183
- }
184
- });
185
- }
186
-
187
- // Merge trimming configuration
188
- if (userConfig.trimming) {
189
- result.trimming = {
190
- ...result.trimming,
191
- ...userConfig.trimming
192
- };
193
- }
194
-
195
- // Merge cache configuration
196
- if (userConfig.cache) {
197
- result.cache = {
198
- ...result.cache,
199
- ...userConfig.cache
200
- };
201
- }
202
-
203
- // Merge analyzer configuration
204
- if (userConfig.analyzer) {
205
- result.analyzer = {
206
- ...result.analyzer,
207
- ...userConfig.analyzer
208
- };
209
- }
210
-
211
- // Merge prioritization weights
212
- if (userConfig.prioritization) {
213
- result.prioritization = {
214
- ...result.prioritization,
215
- ...userConfig.prioritization
216
- };
217
- }
218
-
219
- // Merge tier configuration
220
- if (userConfig.tiers) {
221
- result.tiers = {
222
- ...result.tiers,
223
- ...userConfig.tiers
224
- };
225
- }
226
-
227
- // Merge iterative configuration
228
- if (userConfig.iterative) {
229
- result.iterative = {
230
- ...result.iterative,
231
- ...userConfig.iterative
232
- };
233
- }
234
-
235
- return result;
236
- }
237
-
238
- /**
239
- * Get the complete configuration
240
- */
241
- public getConfig(): IContextConfig {
242
- return this.config;
243
- }
244
-
245
- /**
246
- * Get the trimming configuration
247
- */
248
- public getTrimConfig(): ITrimConfig {
249
- return this.config.trimming || {};
250
- }
251
-
252
- /**
253
- * Get configuration for a specific task
254
- * @param taskType The type of task
255
- */
256
- public getTaskConfig(taskType: TaskType): ITaskConfig {
257
- // Get task-specific config or empty object
258
- const taskConfig = this.config.taskSpecificSettings?.[taskType] || {};
259
-
260
- // If mode is not specified, use default mode
261
- if (!taskConfig.mode) {
262
- taskConfig.mode = this.config.defaultMode;
263
- }
264
-
265
- return taskConfig;
266
- }
267
-
268
- /**
269
- * Get the maximum tokens allowed for context
270
- */
271
- public getMaxTokens(): number {
272
- return this.config.maxTokens || 190000;
273
- }
274
-
275
- /**
276
- * Update the configuration
277
- * @param config The new configuration
278
- */
279
- public async updateConfig(config: Partial<IContextConfig>): Promise<void> {
280
- // Merge with existing config
281
- this.config = this.mergeConfigs(this.config, config);
282
-
283
- // Invalidate cache
284
- this.configCache = null;
285
-
286
- try {
287
- if (!this.projectDir) {
288
- return;
289
- }
290
-
291
- // Read the existing npmextra.json file
292
- const npmextraJsonPath = plugins.path.join(this.projectDir, 'npmextra.json');
293
- let npmextraContent = {};
294
-
295
- if (await plugins.fsInstance.file(npmextraJsonPath).exists()) {
296
- const npmextraJsonFile = await plugins.smartfileFactory.fromFilePath(npmextraJsonPath);
297
- npmextraContent = JSON.parse(npmextraJsonFile.contents.toString()) || {};
298
- }
299
-
300
- // Update the tsdoc context configuration
301
- const typedContent = npmextraContent as any;
302
- if (!typedContent.tsdoc) typedContent.tsdoc = {};
303
- typedContent.tsdoc.context = this.config;
304
-
305
- // Write back to npmextra.json
306
- const updatedContent = JSON.stringify(npmextraContent, null, 2);
307
- await plugins.fsInstance.file(npmextraJsonPath).encoding('utf8').write(updatedContent);
308
- } catch (error) {
309
- console.error('Error updating context configuration:', error);
310
- }
311
- }
312
-
313
- /**
314
- * Get cache configuration
315
- */
316
- public getCacheConfig(): ICacheConfig {
317
- return this.config.cache || { enabled: true, ttl: 3600, maxSize: 100 };
318
- }
319
-
320
- /**
321
- * Get analyzer configuration
322
- */
323
- public getAnalyzerConfig(): IAnalyzerConfig {
324
- return this.config.analyzer || { useAIRefinement: false, aiModel: 'haiku' };
325
- }
326
-
327
- /**
328
- * Get prioritization weights
329
- */
330
- public getPrioritizationWeights(): IPrioritizationWeights {
331
- return this.config.prioritization || {
332
- dependencyWeight: 0.3,
333
- relevanceWeight: 0.4,
334
- efficiencyWeight: 0.2,
335
- recencyWeight: 0.1
336
- };
337
- }
338
-
339
- /**
340
- * Get tier configuration
341
- */
342
- public getTierConfig(): ITierConfig {
343
- return this.config.tiers || {
344
- essential: { minScore: 0.8, trimLevel: 'none' },
345
- important: { minScore: 0.5, trimLevel: 'light' },
346
- optional: { minScore: 0.2, trimLevel: 'aggressive' }
347
- };
348
- }
349
-
350
- /**
351
- * Get iterative configuration
352
- */
353
- public getIterativeConfig(): IIterativeConfig {
354
- return this.config.iterative || {
355
- maxIterations: 5,
356
- firstPassFileLimit: 10,
357
- subsequentPassFileLimit: 5,
358
- temperature: 0.3,
359
- model: 'gpt-4-turbo-preview'
360
- };
361
- }
362
-
363
- /**
364
- * Clear the config cache (force reload on next access)
365
- */
366
- public clearCache(): void {
367
- this.configCache = null;
368
- }
369
- }