docgen-ai 0.1.0
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/README.md +101 -0
- package/dist/ai/reasoner.d.ts +47 -0
- package/dist/ai/reasoner.d.ts.map +1 -0
- package/dist/ai/reasoner.js +235 -0
- package/dist/ai/reasoner.js.map +1 -0
- package/dist/cli/commands.d.ts +20 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +344 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +141 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/core/analyzers/project.d.ts +8 -0
- package/dist/core/analyzers/project.d.ts.map +1 -0
- package/dist/core/analyzers/project.js +303 -0
- package/dist/core/analyzers/project.js.map +1 -0
- package/dist/core/cache/file-cache.d.ts +26 -0
- package/dist/core/cache/file-cache.d.ts.map +1 -0
- package/dist/core/cache/file-cache.js +110 -0
- package/dist/core/cache/file-cache.js.map +1 -0
- package/dist/core/generators/api.d.ts +11 -0
- package/dist/core/generators/api.d.ts.map +1 -0
- package/dist/core/generators/api.js +105 -0
- package/dist/core/generators/api.js.map +1 -0
- package/dist/core/generators/architecture.d.ts +17 -0
- package/dist/core/generators/architecture.d.ts.map +1 -0
- package/dist/core/generators/architecture.js +180 -0
- package/dist/core/generators/architecture.js.map +1 -0
- package/dist/core/generators/functions.d.ts +11 -0
- package/dist/core/generators/functions.d.ts.map +1 -0
- package/dist/core/generators/functions.js +151 -0
- package/dist/core/generators/functions.js.map +1 -0
- package/dist/core/generators/integrations.d.ts +8 -0
- package/dist/core/generators/integrations.d.ts.map +1 -0
- package/dist/core/generators/integrations.js +53 -0
- package/dist/core/generators/integrations.js.map +1 -0
- package/dist/core/generators/modules.d.ts +11 -0
- package/dist/core/generators/modules.d.ts.map +1 -0
- package/dist/core/generators/modules.js +148 -0
- package/dist/core/generators/modules.js.map +1 -0
- package/dist/core/generators/readme.d.ts +25 -0
- package/dist/core/generators/readme.d.ts.map +1 -0
- package/dist/core/generators/readme.js +193 -0
- package/dist/core/generators/readme.js.map +1 -0
- package/dist/core/generators/registry.d.ts +26 -0
- package/dist/core/generators/registry.d.ts.map +1 -0
- package/dist/core/generators/registry.js +90 -0
- package/dist/core/generators/registry.js.map +1 -0
- package/dist/core/generators/setup.d.ts +8 -0
- package/dist/core/generators/setup.d.ts.map +1 -0
- package/dist/core/generators/setup.js +73 -0
- package/dist/core/generators/setup.js.map +1 -0
- package/dist/core/parsers/javascript.d.ts +12 -0
- package/dist/core/parsers/javascript.d.ts.map +1 -0
- package/dist/core/parsers/javascript.js +389 -0
- package/dist/core/parsers/javascript.js.map +1 -0
- package/dist/core/parsers/python-regex.d.ts +11 -0
- package/dist/core/parsers/python-regex.d.ts.map +1 -0
- package/dist/core/parsers/python-regex.js +337 -0
- package/dist/core/parsers/python-regex.js.map +1 -0
- package/dist/core/parsers/python.d.ts +37 -0
- package/dist/core/parsers/python.d.ts.map +1 -0
- package/dist/core/parsers/python.js +584 -0
- package/dist/core/parsers/python.js.map +1 -0
- package/dist/core/parsers/registry.d.ts +15 -0
- package/dist/core/parsers/registry.d.ts.map +1 -0
- package/dist/core/parsers/registry.js +56 -0
- package/dist/core/parsers/registry.js.map +1 -0
- package/dist/core/pipeline.d.ts +18 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +96 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/types/definitions.d.ts +220 -0
- package/dist/types/definitions.d.ts.map +1 -0
- package/dist/types/definitions.js +10 -0
- package/dist/types/definitions.js.map +1 -0
- package/dist/utils/helpers.d.ts +22 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +176 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/logger.d.ts +28 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +109 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Parser Registry — routes files to the correct language parser.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parsePythonFileAsync = exports.parsePythonFile = exports.parseJavaScriptFile = void 0;
|
|
7
|
+
exports.parseFile = parseFile;
|
|
8
|
+
exports.canParse = canParse;
|
|
9
|
+
exports.getSupportedLanguages = getSupportedLanguages;
|
|
10
|
+
exports.warmup = warmup;
|
|
11
|
+
const javascript_1 = require("./javascript");
|
|
12
|
+
const python_1 = require("./python");
|
|
13
|
+
const helpers_1 = require("../../utils/helpers");
|
|
14
|
+
const logger_1 = require("../../utils/logger");
|
|
15
|
+
const log = logger_1.logger.child('Parser');
|
|
16
|
+
const PARSERS = {
|
|
17
|
+
javascript: javascript_1.parseJavaScriptFile,
|
|
18
|
+
typescript: javascript_1.parseJavaScriptFile,
|
|
19
|
+
python: python_1.parsePythonFile,
|
|
20
|
+
};
|
|
21
|
+
function parseFile(filePath, rootDir) {
|
|
22
|
+
const language = (0, helpers_1.detectLanguage)(filePath);
|
|
23
|
+
const parser = PARSERS[language];
|
|
24
|
+
if (!parser) {
|
|
25
|
+
log.debug(`No parser for: ${language}`, { filePath });
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
return parser(filePath, (0, helpers_1.readFileContent)(filePath), rootDir);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
log.error(`Parse failed: ${filePath}`, { error: err.message });
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function canParse(filePath) {
|
|
37
|
+
return (0, helpers_1.detectLanguage)(filePath) in PARSERS;
|
|
38
|
+
}
|
|
39
|
+
function getSupportedLanguages() {
|
|
40
|
+
return Object.keys(PARSERS);
|
|
41
|
+
}
|
|
42
|
+
var javascript_2 = require("./javascript");
|
|
43
|
+
Object.defineProperty(exports, "parseJavaScriptFile", { enumerable: true, get: function () { return javascript_2.parseJavaScriptFile; } });
|
|
44
|
+
var python_2 = require("./python");
|
|
45
|
+
Object.defineProperty(exports, "parsePythonFile", { enumerable: true, get: function () { return python_2.parsePythonFile; } });
|
|
46
|
+
Object.defineProperty(exports, "parsePythonFileAsync", { enumerable: true, get: function () { return python_2.parsePythonFileAsync; } });
|
|
47
|
+
/**
|
|
48
|
+
* Pre-initialize tree-sitter for Python (call once at startup).
|
|
49
|
+
* After this, parsePythonFile uses tree-sitter synchronously.
|
|
50
|
+
*/
|
|
51
|
+
async function warmup() {
|
|
52
|
+
const { parsePythonFileAsync } = require('./python');
|
|
53
|
+
// Parse a trivial file to trigger WASM loading
|
|
54
|
+
await parsePythonFileAsync('/dev/null', 'pass\n', '/');
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/parsers/registry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAgBH,8BAUC;AAED,4BAEC;AAED,sDAEC;AASD,wBAIC;AA5CD,6CAAmD;AACnD,qCAA2C;AAC3C,iDAAsE;AACtE,+CAA4C;AAE5C,MAAM,GAAG,GAAG,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAEnC,MAAM,OAAO,GAAyF;IACpG,UAAU,EAAE,gCAAmB;IAC/B,UAAU,EAAE,gCAAmB;IAC/B,MAAM,EAAE,wBAAe;CACxB,CAAC;AAEF,SAAgB,SAAS,CAAC,QAAgB,EAAE,OAAe;IACzD,MAAM,QAAQ,GAAG,IAAA,wBAAc,EAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IACpF,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAA,yBAAe,EAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,QAAgB;IACvC,OAAO,IAAA,wBAAc,EAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;AAC7C,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAC5B,mCAAiE;AAAxD,yGAAA,eAAe,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAE9C;;;GAGG;AACI,KAAK,UAAU,MAAM;IAC1B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,+CAA+C;IAC/C,MAAM,oBAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* DOCUMENTATION PIPELINE — Master Orchestrator
|
|
4
|
+
* ============================================================================
|
|
5
|
+
*
|
|
6
|
+
* Config → Analyze → Generate → Write → Report
|
|
7
|
+
*/
|
|
8
|
+
import { DocgenConfig, ProjectAnalysis, GeneratedDoc } from '../types/definitions';
|
|
9
|
+
export interface PipelineResult {
|
|
10
|
+
analysis: ProjectAnalysis;
|
|
11
|
+
generatedDocs: GeneratedDoc[];
|
|
12
|
+
outputDir: string;
|
|
13
|
+
duration: number;
|
|
14
|
+
errors: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare function runPipeline(config: DocgenConfig): Promise<PipelineResult>;
|
|
17
|
+
export declare function runAnalysisOnly(config: DocgenConfig): Promise<ProjectAnalysis>;
|
|
18
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA+C/E;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAEpF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* DOCUMENTATION PIPELINE — Master Orchestrator
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* Config → Analyze → Generate → Write → Report
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.runPipeline = runPipeline;
|
|
44
|
+
exports.runAnalysisOnly = runAnalysisOnly;
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const project_1 = require("./analyzers/project");
|
|
48
|
+
const registry_1 = require("./generators/registry");
|
|
49
|
+
const logger_1 = require("../utils/logger");
|
|
50
|
+
const helpers_1 = require("../utils/helpers");
|
|
51
|
+
const log = logger_1.logger.child('Pipeline');
|
|
52
|
+
async function runPipeline(config) {
|
|
53
|
+
const startTime = Date.now();
|
|
54
|
+
const errors = [];
|
|
55
|
+
log.info('══════════════════════════════════════════════');
|
|
56
|
+
log.info(' DOCGEN — Documentation Generation Pipeline');
|
|
57
|
+
log.info('══════════════════════════════════════════════');
|
|
58
|
+
log.info(`Project: ${config.projectRoot}`);
|
|
59
|
+
log.info(`Output: ${config.outputDir}`);
|
|
60
|
+
log.info(`AI: ${config.ai.enabled ? config.ai.provider + '/' + config.ai.model : 'disabled'}`);
|
|
61
|
+
// Stage 1: Analyze
|
|
62
|
+
log.info('📂 Stage 1/3: Analyzing codebase...');
|
|
63
|
+
const analysis = await (0, project_1.analyzeProject)(config);
|
|
64
|
+
log.info(`✓ ${analysis.files.length} files, ${analysis.modules.length} modules, ${analysis.apiEndpoints.length} endpoints`);
|
|
65
|
+
// Stage 2: Generate
|
|
66
|
+
log.info('📝 Stage 2/3: Generating documentation...');
|
|
67
|
+
const generatedDocs = await (0, registry_1.runGenerators)(analysis, config);
|
|
68
|
+
log.info(`✓ ${generatedDocs.length} doc files generated`);
|
|
69
|
+
// Stage 3: Write
|
|
70
|
+
log.info('💾 Stage 3/3: Writing files...');
|
|
71
|
+
const outputDir = path.resolve(config.projectRoot, config.outputDir);
|
|
72
|
+
for (const doc of generatedDocs) {
|
|
73
|
+
try {
|
|
74
|
+
const finalPath = doc.filePath === 'README.md'
|
|
75
|
+
? path.join(config.projectRoot, 'README.md')
|
|
76
|
+
: doc.filePath.startsWith('docs/')
|
|
77
|
+
? path.join(config.projectRoot, doc.filePath)
|
|
78
|
+
: path.join(outputDir, doc.filePath);
|
|
79
|
+
(0, helpers_1.ensureDir)(path.dirname(finalPath));
|
|
80
|
+
fs.writeFileSync(finalPath, doc.content, 'utf-8');
|
|
81
|
+
log.info(` ✓ ${doc.filePath}`);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
errors.push(`Failed to write ${doc.filePath}: ${err.message}`);
|
|
85
|
+
log.error(` ✗ ${doc.filePath}: ${err.message}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const duration = Date.now() - startTime;
|
|
89
|
+
log.info('');
|
|
90
|
+
log.info(`✅ Done in ${(duration / 1000).toFixed(1)}s — ${generatedDocs.length} docs written to ${outputDir}`);
|
|
91
|
+
return { analysis, generatedDocs, outputDir, duration, errors };
|
|
92
|
+
}
|
|
93
|
+
async function runAnalysisOnly(config) {
|
|
94
|
+
return (0, project_1.analyzeProject)(config);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* DOCGEN — Public API
|
|
4
|
+
* ============================================================================
|
|
5
|
+
*
|
|
6
|
+
* This is the programmatic API. Use this when integrating docgen
|
|
7
|
+
* into other tools, build scripts, or CI pipelines.
|
|
8
|
+
*
|
|
9
|
+
* USAGE:
|
|
10
|
+
* import { analyzeProject, runPipeline, loadConfig } from '@docgen/core';
|
|
11
|
+
* const config = loadConfig('./my-project');
|
|
12
|
+
* const result = await runPipeline(config);
|
|
13
|
+
*/
|
|
14
|
+
export { loadConfig, generateConfigFile, DEFAULT_CONFIG } from './config/loader';
|
|
15
|
+
export { runPipeline, runAnalysisOnly } from './core/pipeline';
|
|
16
|
+
export { analyzeProject } from './core/analyzers/project';
|
|
17
|
+
export { runGenerators } from './core/generators/registry';
|
|
18
|
+
export { parseFile, canParse, getSupportedLanguages } from './core/parsers/registry';
|
|
19
|
+
export { AnalysisCache } from './core/cache/file-cache';
|
|
20
|
+
export * from './types/definitions';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* DOCGEN — Public API
|
|
5
|
+
* ============================================================================
|
|
6
|
+
*
|
|
7
|
+
* This is the programmatic API. Use this when integrating docgen
|
|
8
|
+
* into other tools, build scripts, or CI pipelines.
|
|
9
|
+
*
|
|
10
|
+
* USAGE:
|
|
11
|
+
* import { analyzeProject, runPipeline, loadConfig } from '@docgen/core';
|
|
12
|
+
* const config = loadConfig('./my-project');
|
|
13
|
+
* const result = await runPipeline(config);
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
27
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.AnalysisCache = exports.getSupportedLanguages = exports.canParse = exports.parseFile = exports.runGenerators = exports.analyzeProject = exports.runAnalysisOnly = exports.runPipeline = exports.DEFAULT_CONFIG = exports.generateConfigFile = exports.loadConfig = void 0;
|
|
31
|
+
var loader_1 = require("./config/loader");
|
|
32
|
+
Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return loader_1.loadConfig; } });
|
|
33
|
+
Object.defineProperty(exports, "generateConfigFile", { enumerable: true, get: function () { return loader_1.generateConfigFile; } });
|
|
34
|
+
Object.defineProperty(exports, "DEFAULT_CONFIG", { enumerable: true, get: function () { return loader_1.DEFAULT_CONFIG; } });
|
|
35
|
+
var pipeline_1 = require("./core/pipeline");
|
|
36
|
+
Object.defineProperty(exports, "runPipeline", { enumerable: true, get: function () { return pipeline_1.runPipeline; } });
|
|
37
|
+
Object.defineProperty(exports, "runAnalysisOnly", { enumerable: true, get: function () { return pipeline_1.runAnalysisOnly; } });
|
|
38
|
+
var project_1 = require("./core/analyzers/project");
|
|
39
|
+
Object.defineProperty(exports, "analyzeProject", { enumerable: true, get: function () { return project_1.analyzeProject; } });
|
|
40
|
+
var registry_1 = require("./core/generators/registry");
|
|
41
|
+
Object.defineProperty(exports, "runGenerators", { enumerable: true, get: function () { return registry_1.runGenerators; } });
|
|
42
|
+
var registry_2 = require("./core/parsers/registry");
|
|
43
|
+
Object.defineProperty(exports, "parseFile", { enumerable: true, get: function () { return registry_2.parseFile; } });
|
|
44
|
+
Object.defineProperty(exports, "canParse", { enumerable: true, get: function () { return registry_2.canParse; } });
|
|
45
|
+
Object.defineProperty(exports, "getSupportedLanguages", { enumerable: true, get: function () { return registry_2.getSupportedLanguages; } });
|
|
46
|
+
var file_cache_1 = require("./core/cache/file-cache");
|
|
47
|
+
Object.defineProperty(exports, "AnalysisCache", { enumerable: true, get: function () { return file_cache_1.AnalysisCache; } });
|
|
48
|
+
__exportStar(require("./types/definitions"), exports);
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;AAEH,0CAAiF;AAAxE,oGAAA,UAAU,OAAA;AAAE,4GAAA,kBAAkB,OAAA;AAAE,wGAAA,cAAc,OAAA;AACvD,4CAA+D;AAAtD,uGAAA,WAAW,OAAA;AAAE,2GAAA,eAAe,OAAA;AACrC,oDAA0D;AAAjD,yGAAA,cAAc,OAAA;AACvB,uDAA2D;AAAlD,yGAAA,aAAa,OAAA;AACtB,oDAAqF;AAA5E,qGAAA,SAAS,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AACnD,sDAAwD;AAA/C,2GAAA,aAAa,OAAA;AACtB,sDAAoC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* DOCGEN — CORE TYPE DEFINITIONS
|
|
4
|
+
* ============================================================================
|
|
5
|
+
* Every module speaks this language. Analyzers produce these types,
|
|
6
|
+
* generators consume them. This decouples all components.
|
|
7
|
+
*/
|
|
8
|
+
export type SupportedLanguage = 'javascript' | 'typescript' | 'python' | 'java' | 'go' | 'rust';
|
|
9
|
+
export type SupportedFramework = 'express' | 'nestjs' | 'nextjs' | 'fastapi' | 'flask' | 'django' | 'react' | 'vue' | 'angular' | 'generic';
|
|
10
|
+
export interface AnalyzedFile {
|
|
11
|
+
filePath: string;
|
|
12
|
+
relativePath: string;
|
|
13
|
+
language: SupportedLanguage;
|
|
14
|
+
lineCount: number;
|
|
15
|
+
contentHash: string;
|
|
16
|
+
functions: FunctionInfo[];
|
|
17
|
+
classes: ClassInfo[];
|
|
18
|
+
imports: ImportInfo[];
|
|
19
|
+
exports: ExportInfo[];
|
|
20
|
+
apiEndpoints: APIEndpoint[];
|
|
21
|
+
comments: CommentInfo[];
|
|
22
|
+
parseErrors: ParseError[];
|
|
23
|
+
}
|
|
24
|
+
export interface FunctionInfo {
|
|
25
|
+
name: string;
|
|
26
|
+
className?: string;
|
|
27
|
+
params: ParameterInfo[];
|
|
28
|
+
returnType?: string;
|
|
29
|
+
isExported: boolean;
|
|
30
|
+
isAsync: boolean;
|
|
31
|
+
startLine: number;
|
|
32
|
+
endLine: number;
|
|
33
|
+
complexity: number;
|
|
34
|
+
existingDoc?: string;
|
|
35
|
+
body?: string;
|
|
36
|
+
decorators: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface ParameterInfo {
|
|
39
|
+
name: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
defaultValue?: string;
|
|
42
|
+
isOptional: boolean;
|
|
43
|
+
description?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ClassInfo {
|
|
46
|
+
name: string;
|
|
47
|
+
superClass?: string;
|
|
48
|
+
implements: string[];
|
|
49
|
+
methods: FunctionInfo[];
|
|
50
|
+
properties: PropertyInfo[];
|
|
51
|
+
isExported: boolean;
|
|
52
|
+
startLine: number;
|
|
53
|
+
endLine: number;
|
|
54
|
+
existingDoc?: string;
|
|
55
|
+
decorators: string[];
|
|
56
|
+
}
|
|
57
|
+
export interface PropertyInfo {
|
|
58
|
+
name: string;
|
|
59
|
+
type?: string;
|
|
60
|
+
isStatic: boolean;
|
|
61
|
+
isPrivate: boolean;
|
|
62
|
+
defaultValue?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface ImportInfo {
|
|
65
|
+
source: string;
|
|
66
|
+
specifiers: string[];
|
|
67
|
+
isRelative: boolean;
|
|
68
|
+
defaultImport?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface ExportInfo {
|
|
71
|
+
name: string;
|
|
72
|
+
type: 'function' | 'class' | 'variable' | 'type' | 'default' | 'namespace';
|
|
73
|
+
isDefault: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface APIEndpoint {
|
|
76
|
+
method: string;
|
|
77
|
+
path: string;
|
|
78
|
+
handler: string;
|
|
79
|
+
middleware: string[];
|
|
80
|
+
requestSchema?: SchemaInfo;
|
|
81
|
+
responseSchema?: SchemaInfo;
|
|
82
|
+
requiresAuth: boolean;
|
|
83
|
+
filePath: string;
|
|
84
|
+
line: number;
|
|
85
|
+
}
|
|
86
|
+
export interface SchemaInfo {
|
|
87
|
+
type: string;
|
|
88
|
+
properties?: Record<string, {
|
|
89
|
+
type: string;
|
|
90
|
+
required?: boolean;
|
|
91
|
+
description?: string;
|
|
92
|
+
}>;
|
|
93
|
+
example?: unknown;
|
|
94
|
+
}
|
|
95
|
+
export interface CommentInfo {
|
|
96
|
+
type: 'line' | 'block' | 'jsdoc' | 'docstring';
|
|
97
|
+
text: string;
|
|
98
|
+
line: number;
|
|
99
|
+
associatedEntity?: string;
|
|
100
|
+
}
|
|
101
|
+
export interface ModuleInfo {
|
|
102
|
+
name: string;
|
|
103
|
+
path: string;
|
|
104
|
+
description?: string;
|
|
105
|
+
files: AnalyzedFile[];
|
|
106
|
+
dependencies: string[];
|
|
107
|
+
dependents: string[];
|
|
108
|
+
publicAPI: ExportInfo[];
|
|
109
|
+
totalLines: number;
|
|
110
|
+
role?: 'api' | 'service' | 'model' | 'utility' | 'config' | 'test' | 'ui' | 'middleware';
|
|
111
|
+
}
|
|
112
|
+
export interface ProjectAnalysis {
|
|
113
|
+
name: string;
|
|
114
|
+
rootPath: string;
|
|
115
|
+
version?: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
languages: LanguageStats[];
|
|
118
|
+
frameworks: FrameworkDetection[];
|
|
119
|
+
files: AnalyzedFile[];
|
|
120
|
+
modules: ModuleInfo[];
|
|
121
|
+
dependencyGraph: DependencyEdge[];
|
|
122
|
+
externalDependencies: ExternalDependency[];
|
|
123
|
+
apiEndpoints: APIEndpoint[];
|
|
124
|
+
configFiles: ConfigFile[];
|
|
125
|
+
envVariables: EnvVariable[];
|
|
126
|
+
analyzedAt: Date;
|
|
127
|
+
analysisDuration: number;
|
|
128
|
+
errors: ParseError[];
|
|
129
|
+
}
|
|
130
|
+
export interface LanguageStats {
|
|
131
|
+
language: string;
|
|
132
|
+
fileCount: number;
|
|
133
|
+
lineCount: number;
|
|
134
|
+
percentage: number;
|
|
135
|
+
}
|
|
136
|
+
export interface FrameworkDetection {
|
|
137
|
+
framework: string;
|
|
138
|
+
confidence: number;
|
|
139
|
+
evidence: string[];
|
|
140
|
+
}
|
|
141
|
+
export interface DependencyEdge {
|
|
142
|
+
from: string;
|
|
143
|
+
to: string;
|
|
144
|
+
type: 'import' | 'extends' | 'implements' | 'uses' | 'calls';
|
|
145
|
+
symbols: string[];
|
|
146
|
+
}
|
|
147
|
+
export interface ExternalDependency {
|
|
148
|
+
name: string;
|
|
149
|
+
version?: string;
|
|
150
|
+
category: string;
|
|
151
|
+
isDev: boolean;
|
|
152
|
+
}
|
|
153
|
+
export interface ConfigFile {
|
|
154
|
+
path: string;
|
|
155
|
+
type: string;
|
|
156
|
+
description?: string;
|
|
157
|
+
}
|
|
158
|
+
export interface EnvVariable {
|
|
159
|
+
name: string;
|
|
160
|
+
usedIn: string[];
|
|
161
|
+
hasDefault: boolean;
|
|
162
|
+
isRequired: boolean;
|
|
163
|
+
description?: string;
|
|
164
|
+
}
|
|
165
|
+
export interface ParseError {
|
|
166
|
+
filePath: string;
|
|
167
|
+
line?: number;
|
|
168
|
+
message: string;
|
|
169
|
+
severity: 'warning' | 'error';
|
|
170
|
+
}
|
|
171
|
+
export interface DocgenConfig {
|
|
172
|
+
projectRoot: string;
|
|
173
|
+
outputDir: string;
|
|
174
|
+
include: string[];
|
|
175
|
+
exclude: string[];
|
|
176
|
+
generators: GeneratorName[];
|
|
177
|
+
ai: AIConfig;
|
|
178
|
+
cache: CacheConfig;
|
|
179
|
+
logLevel: 'debug' | 'info' | 'warn' | 'error';
|
|
180
|
+
insertInlineDoc: boolean;
|
|
181
|
+
overwriteExistingDocs: boolean;
|
|
182
|
+
concurrency: number;
|
|
183
|
+
}
|
|
184
|
+
export type GeneratorName = 'readme' | 'architecture' | 'modules' | 'api' | 'functions' | 'integrations' | 'setup' | 'all';
|
|
185
|
+
export interface AIConfig {
|
|
186
|
+
enabled: boolean;
|
|
187
|
+
provider: string;
|
|
188
|
+
apiKey?: string;
|
|
189
|
+
model: string;
|
|
190
|
+
maxTokens: number;
|
|
191
|
+
temperature: number;
|
|
192
|
+
}
|
|
193
|
+
export interface CacheConfig {
|
|
194
|
+
enabled: boolean;
|
|
195
|
+
directory: string;
|
|
196
|
+
ttl: number;
|
|
197
|
+
}
|
|
198
|
+
export interface GeneratedDoc {
|
|
199
|
+
filePath: string;
|
|
200
|
+
content: string;
|
|
201
|
+
generator: GeneratorName;
|
|
202
|
+
generatedAt: Date;
|
|
203
|
+
inputHash: string;
|
|
204
|
+
}
|
|
205
|
+
export interface DocgenPlugin {
|
|
206
|
+
name: string;
|
|
207
|
+
version: string;
|
|
208
|
+
init?(config: DocgenConfig): Promise<void>;
|
|
209
|
+
analyzers?: PluginAnalyzer[];
|
|
210
|
+
generators?: PluginGenerator[];
|
|
211
|
+
}
|
|
212
|
+
export interface PluginAnalyzer {
|
|
213
|
+
extensions: string[];
|
|
214
|
+
analyze(filePath: string, content: string): Promise<AnalyzedFile>;
|
|
215
|
+
}
|
|
216
|
+
export interface PluginGenerator {
|
|
217
|
+
name: string;
|
|
218
|
+
generate(analysis: ProjectAnalysis, config: DocgenConfig): Promise<GeneratedDoc[]>;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/types/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ============================================================================
|
|
4
|
+
* DOCGEN — CORE TYPE DEFINITIONS
|
|
5
|
+
* ============================================================================
|
|
6
|
+
* Every module speaks this language. Analyzers produce these types,
|
|
7
|
+
* generators consume them. This decouples all components.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/types/definitions.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ============================================================================
|
|
3
|
+
* UTILITY HELPERS — Shared pure functions across the platform
|
|
4
|
+
* ============================================================================
|
|
5
|
+
*/
|
|
6
|
+
export declare function findFiles(rootDir: string, includePatterns: string[], excludePatterns: string[]): string[];
|
|
7
|
+
export declare function hashContent(content: string): string;
|
|
8
|
+
export declare function hashFile(filePath: string): string;
|
|
9
|
+
export declare function detectLanguage(filePath: string): string;
|
|
10
|
+
export declare function readFileContent(filePath: string): string;
|
|
11
|
+
export declare function fileExists(filePath: string): boolean;
|
|
12
|
+
export declare function ensureDir(dirPath: string): void;
|
|
13
|
+
export declare function inferModuleName(relativePath: string, depth?: number): string;
|
|
14
|
+
export declare function countLines(content: string): number;
|
|
15
|
+
export declare function truncate(text: string, maxLength: number): string;
|
|
16
|
+
export declare function detectFrameworks(rootDir: string): Array<{
|
|
17
|
+
framework: string;
|
|
18
|
+
confidence: number;
|
|
19
|
+
evidence: string[];
|
|
20
|
+
}>;
|
|
21
|
+
export declare function parsePackageJson(rootDir: string): Record<string, any> | null;
|
|
22
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EAAE,EACzB,eAAe,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CAyBV;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAUD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAID,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAID,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAM/E;AAID,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhE;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiCtH;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAI5E"}
|