docstodev 1.0.0 → 1.0.2

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.
@@ -2,31 +2,41 @@
2
2
  import { globby } from "globby";
3
3
  import { writeFileSync, readFileSync, existsSync, mkdirSync } from "node:fs";
4
4
  import path from "node:path";
5
- import puppeteer from "puppeteer";
5
+ import puppeteer, { Browser, Page } from "puppeteer";
6
6
  import { exportToHTML } from "../exporters/html.js";
7
7
  import { askAI } from "../ai/analyzer.js";
8
+ import { getAnalyzer, getSupportedExtensions } from "../analyzers/languageAnalyzer.js";
9
+ import { CacheManager } from "../cache/cacheManager.js";
8
10
  const i18n = {
9
11
  fr: {
10
- role: "Vocation du fichier",
11
- density: "Densité et maintenance",
12
- exports: "Capacités offertes",
13
- imports: "Collaborations sollicitées",
14
- structure: "Architecture des dossiers",
15
- deps: "Inventaire des modules externes",
16
- aiTitle: "Synthèse Métier (par MakazouIA)",
12
+ role: "Rôle et responsabilités",
13
+ density: "Complexité et maintenance",
14
+ exports: "Exports publics",
15
+ imports: "Dépendances",
16
+ structure: "Architecture du projet",
17
+ deps: "Modules externes",
18
+ aiTitle: "Analyse Intelligente",
17
19
  genAt: "Généré le",
18
- reportTitle: "Rapport d'Analyse Technique DocsToDev"
20
+ reportTitle: "Rapport Technique DocsToDev",
21
+ functions: "Fonctions",
22
+ classes: "Classes",
23
+ types: "Types/Interfaces",
24
+ complexity: "Score de complexité"
19
25
  },
20
26
  en: {
21
- role: "File Purpose",
22
- density: "Density & Maintenance",
23
- exports: "Capabilities offered",
24
- imports: "External services",
27
+ role: "Role and responsibilities",
28
+ density: "Complexity & Maintenance",
29
+ exports: "Public exports",
30
+ imports: "Dependencies",
25
31
  structure: "Project Architecture",
26
- deps: "External Modules Inventory",
27
- aiTitle: "Business Insights (by MakazouIA)",
32
+ deps: "External Modules",
33
+ aiTitle: "Smart Analysis",
28
34
  genAt: "Generated on",
29
- reportTitle: "DocsToDev Technical Report"
35
+ reportTitle: "DocsToDev Technical Report",
36
+ functions: "Functions",
37
+ classes: "Classes",
38
+ types: "Types/Interfaces",
39
+ complexity: "Complexity score"
30
40
  }
31
41
  };
32
42
  function buildTree(files) {
@@ -35,8 +45,9 @@ function buildTree(files) {
35
45
  const parts = file.split(path.sep);
36
46
  let current = root;
37
47
  for (const part of parts) {
38
- if (!current[part])
48
+ if (!current[part]) {
39
49
  current[part] = {};
50
+ }
40
51
  current = current[part];
41
52
  }
42
53
  }
@@ -53,90 +64,263 @@ function renderTree(tree, prefix = "", currentPath = "") {
53
64
  const isFile = !child || Object.keys(child).length === 0;
54
65
  const label = isFile ? `[${key}](../${fullPath.replace(/\\/g, '/')})` : `**${key}/**`;
55
66
  output += `${prefix}${connector}${label}\n`;
56
- if (child && Object.keys(child).length > 0) {
67
+ if (child && typeof child === 'object' && Object.keys(child).length > 0) {
57
68
  output += renderTree(child, prefix + (isLast ? " " : "│ "), fullPath);
58
69
  }
59
70
  });
60
71
  return output;
61
72
  }
62
- export async function runCommand(language = "fr") {
73
+ function analyzeFile(file, content) {
74
+ const lines = content.split(/\r?\n/);
75
+ const analyzer = getAnalyzer(file);
76
+ if (analyzer) {
77
+ const result = analyzer.analyzeFile(content);
78
+ const ifCount = (content.match(/\b(if|elif|else if)\s*\(/g) || []).length;
79
+ const forCount = (content.match(/\b(for|foreach|while)\s*\(/g) || []).length;
80
+ const whileCount = (content.match(/\bwhile\s*\(/g) || []).length;
81
+ const complexity = lines.length * 0.1 +
82
+ result.functions.length * 2 +
83
+ result.classes.length * 3 +
84
+ result.imports.length * 1.5 +
85
+ ifCount * 1 +
86
+ forCount * 1.5 +
87
+ whileCount * 1.5;
88
+ return {
89
+ path: file,
90
+ lines: lines.length,
91
+ exports: result.exports,
92
+ imports: result.imports,
93
+ functions: result.functions,
94
+ classes: result.classes,
95
+ types: result.types,
96
+ complexity: Math.round(complexity)
97
+ };
98
+ }
99
+ return {
100
+ path: file,
101
+ lines: lines.length,
102
+ exports: [],
103
+ imports: [],
104
+ functions: [],
105
+ classes: [],
106
+ types: [],
107
+ complexity: 0
108
+ };
109
+ }
110
+ function getComplexityLevel(score) {
111
+ if (score < 50)
112
+ return "🟢 Faible";
113
+ if (score < 150)
114
+ return "🟡 Modérée";
115
+ if (score < 300)
116
+ return "🟠 Élevée";
117
+ return "🔴 Très élevée";
118
+ }
119
+ function formatAISummary(summary) {
120
+ let formatted = summary.replace(/([a-zA-Z0-9_-]+\.(ts|js|py|java|cs|go|rs|tsx|jsx|mjs|cjs))/g, '`$1`');
121
+ formatted = formatted.replace(/([a-zA-Z0-9_-]+\/[a-zA-Z0-9_\/-]+)/g, '`$1`');
122
+ formatted = formatted.replace(/\b([a-z][a-zA-Z0-9]*[A-Z][a-zA-Z0-9]*|[A-Z][a-z][a-zA-Z0-9]*)\b/g, '`$1`');
123
+ formatted = formatted.replace(/\.\s+/g, '.\n\n');
124
+ formatted = formatted.replace(/`+/g, '`');
125
+ return formatted.trim();
126
+ }
127
+ export async function runCommand(language = "fr", options = {}) {
63
128
  const t = i18n[language];
64
- console.log(language === "fr" ? "🚀 DocsToDev : Analyse Deep Scan & Graphe..." : "🚀 DocsToDev: Deep Scan & Graph analysis...");
129
+ console.log("\n╔══════════════════════════════════════════╗");
130
+ console.log("║ 🚀 DocsToDev - Analyse Avancée ║");
131
+ console.log("╚══════════════════════════════════════════╝\n");
132
+ const projectRoot = process.cwd();
133
+ const cache = new CacheManager(projectRoot);
134
+ if (options.clearCache) {
135
+ console.log("🗑️ Nettoyage du cache...");
136
+ cache.invalidateAll();
137
+ console.log(" ✓ Cache vidé\n");
138
+ }
139
+ console.log("📂 Étape 1/6 : Scan des fichiers du projet...");
140
+ const supportedExts = getSupportedExtensions();
65
141
  const files = await globby(["**/*"], {
66
142
  gitignore: true,
67
- ignore: ["**/node_modules/**", "**/.git/**", "**/dist/**", "**/docs/**"]
143
+ ignore: ["**/node_modules/**", "**/.git/**", "**/dist/**", "**/docs/**", "**/.docstodev/**"]
144
+ });
145
+ const sourceFiles = files.filter(f => {
146
+ const ext = path.extname(f);
147
+ return supportedExts.includes(ext);
68
148
  });
149
+ console.log(` ✓ ${files.length} fichiers détectés (${sourceFiles.length} fichiers sources)\n`);
69
150
  const docsDir = "docs";
70
- if (!existsSync(docsDir))
151
+ if (!existsSync(docsDir)) {
152
+ console.log("📁 Création du dossier 'docs'...");
71
153
  mkdirSync(docsDir, { recursive: true });
72
- let aiContext = `Analyse ces fichiers pour DocsToDev. Explique pourquoi ils utilisent leurs dépendances. Format: "Utilise [X] pour [Y]".\n\n`;
154
+ }
155
+ let filesToAnalyze = sourceFiles;
156
+ let cachedCount = 0;
157
+ if (options.incremental) {
158
+ console.log("⚡ Mode incrémental activé - Détection des modifications...");
159
+ const modifiedFiles = cache.getModifiedFiles(sourceFiles);
160
+ filesToAnalyze = modifiedFiles;
161
+ cachedCount = sourceFiles.length - modifiedFiles.length;
162
+ console.log(` ✓ ${modifiedFiles.length} fichiers modifiés, ${cachedCount} en cache\n`);
163
+ }
164
+ console.log("🔍 Étape 2/6 : Analyse approfondie des fichiers sources...");
165
+ let aiContext = `Tu es un expert en analyse de code. Analyse ces fichiers et explique leur architecture, leurs responsabilités et comment ils collaborent ensemble. Identifie le rôle de chaque fichier (Page, Component, Service, API, Utility, etc.). Sois précis et technique.\n\n`;
73
166
  let detailContent = `## 🔬 Analyse détaillée des composants\n\n`;
74
- let mermaidGraph = "";
167
+ let mermaidGraph = "graph LR\n";
75
168
  const allDeps = new Map();
76
- for (const file of files) {
77
- const ext = path.extname(file);
78
- if (![".ts", ".js", ".tsx", ".jsx"].includes(ext))
79
- continue;
169
+ const analyses = [];
170
+ let processedCount = 0;
171
+ if (options.incremental) {
172
+ for (const file of sourceFiles) {
173
+ if (!filesToAnalyze.includes(file)) {
174
+ const cached = cache.get(file);
175
+ if (cached) {
176
+ analyses.push(cached.analysis);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ for (const file of filesToAnalyze) {
182
+ processedCount++;
183
+ if (processedCount % 5 === 0) {
184
+ process.stdout.write(` Analysé: ${processedCount}/${filesToAnalyze.length} fichiers...\r`);
185
+ }
80
186
  const content = readFileSync(file, "utf-8");
81
- const lines = content.split(/\r?\n/);
82
- const fileNameSanitized = path.basename(file).replace(/\./g, '_');
83
- const exports = lines
84
- .filter(l => l.startsWith("export "))
85
- .map(l => l.match(/(?:function|const|class|type|interface)\s+([a-zA-Z0-9_]+)/)?.[1])
86
- .filter(Boolean);
87
- const importLines = lines.filter(l => l.trim().startsWith("import "));
88
- detailContent += `### 📄 [\`${file}\`](../${file.replace(/\\/g, '/')})\n`;
89
- detailContent += `• **${t.density} :** ${lines.length} lignes\n`;
90
- if (exports.length > 0)
91
- detailContent += `• **${t.exports} :** ${exports.map(e => `\`${e}\``).join(", ")}\n`;
92
- if (importLines.length > 0) {
93
- detailContent += `• **${t.imports} :**\n`;
94
- importLines.forEach(line => {
95
- const match = line.match(/from ['"]([^'"]+)['"]/);
96
- if (match?.[1]) {
97
- const name = match[1];
98
- const type = name.startsWith('.') ? 'Internal' : (name.startsWith('node:') ? 'Node.js' : 'External');
99
- allDeps.set(name, type);
100
- detailContent += ` - Utilise \`${name}\` (${type})\n`;
101
- if (type === 'Internal') {
102
- const targetName = path.basename(name).replace(/\./g, '_');
103
- mermaidGraph += ` ${fileNameSanitized} --> ${targetName}\n`;
104
- }
187
+ const analysis = analyzeFile(file, content);
188
+ analyses.push(analysis);
189
+ if (options.incremental) {
190
+ cache.set(file, content, analysis);
191
+ }
192
+ const fileNameSanitized = path.basename(file).replace(/[.\-]/g, '_');
193
+ detailContent += `### 📄 [\`${file}\`](../${file.replace(/\\/g, '/')})\n\n`;
194
+ detailContent += `**${t.density}** : ${analysis.lines} lignes • ${getComplexityLevel(analysis.complexity)} (${analysis.complexity})\n\n`;
195
+ if (analysis.functions.length > 0) {
196
+ detailContent += `**${t.functions}** : ${analysis.functions.map(f => `\`${f}()\``).join(", ")}\n\n`;
197
+ }
198
+ if (analysis.classes.length > 0) {
199
+ detailContent += `**${t.classes}** : ${analysis.classes.map(c => `\`${c}\``).join(", ")}\n\n`;
200
+ }
201
+ if (analysis.types.length > 0) {
202
+ detailContent += `**${t.types}** : ${analysis.types.map(t => `\`${t}\``).join(", ")}\n\n`;
203
+ }
204
+ if (analysis.exports.length > 0) {
205
+ detailContent += `**${t.exports}** : ${analysis.exports.map(e => `\`${e}\``).join(", ")}\n\n`;
206
+ }
207
+ if (analysis.imports.length > 0) {
208
+ detailContent += `**${t.imports}** :\n\n`;
209
+ analysis.imports.forEach(imp => {
210
+ allDeps.set(imp.name, imp.type);
211
+ const usageInfo = imp.usage ? ` → utilise \`${imp.usage}\`` : '';
212
+ detailContent += `• \`${imp.name}\` (${imp.type})${usageInfo}\n`;
213
+ if (imp.type === 'Interne') {
214
+ const targetName = path.basename(imp.name).replace(/[.\-]/g, '_');
215
+ mermaidGraph += ` ${fileNameSanitized} --> ${targetName}\n`;
105
216
  }
106
217
  });
218
+ detailContent += `\n`;
107
219
  }
108
- detailContent += `\n---\n\n`;
109
- aiContext += `FICHIER: ${file}\nEXPORTS: ${exports.join(",")}\nCODE:\n${lines.slice(0, 40).join("\n")}\n\n`;
220
+ detailContent += `---\n\n`;
221
+ aiContext += `═══ FICHIER: ${file} ═══\n`;
222
+ aiContext += `Langage: ${path.extname(file)}\n`;
223
+ aiContext += `Complexité: ${analysis.complexity}\n`;
224
+ aiContext += `Fonctions: ${analysis.functions.join(", ") || "Aucune"}\n`;
225
+ aiContext += `Classes: ${analysis.classes.join(", ") || "Aucune"}\n`;
226
+ aiContext += `Exports: ${analysis.exports.join(", ") || "Aucun"}\n`;
227
+ aiContext += `Dépendances: ${analysis.imports.map(i => i.name).join(", ")}\n`;
228
+ aiContext += `\nExtrait du code:\n${content.split(/\r?\n/).slice(0, 50).join("\n")}\n\n`;
110
229
  }
111
- const aiSummary = await askAI(aiContext) || "Synthèse IA indisponible.";
230
+ const totalAnalyzed = processedCount + cachedCount;
231
+ console.log(` ✓ ${totalAnalyzed} fichiers analysés (${processedCount} nouvelles analyses, ${cachedCount} depuis cache)\n`);
232
+ console.log("🤖 Étape 3/6 : Génération de l'analyse intelligente (IA)...");
233
+ const aiSummary = await askAI(aiContext) || "⚠️ Analyse IA indisponible. Vérifiez votre configuration.";
234
+ const formattedAiSummary = formatAISummary(aiSummary);
235
+ console.log(` ✓ Synthèse IA générée\n`);
236
+ console.log("📝 Étape 4/6 : Construction du rapport Markdown...");
112
237
  let finalMD = `# ${t.reportTitle}\n\n`;
113
- finalMD += `> 📅 ${t.genAt} : ${new Date().toLocaleString()}\n\n`;
114
- finalMD += `## 💡 ${t.aiTitle}\n${aiSummary}\n\n`;
115
- finalMD += `## 📂 ${t.structure}\n\n${renderTree(buildTree(files))}\n\n`;
238
+ finalMD += `> 📅 ${t.genAt} : ${new Date().toLocaleString("fr-FR", { dateStyle: "full", timeStyle: "short" })}\n`;
239
+ finalMD += `> 📊 ${totalAnalyzed} fichiers analysés • ${allDeps.size} dépendances identifiées\n`;
240
+ if (options.incremental && cachedCount > 0) {
241
+ finalMD += `> ⚡ Mode incrémental : ${cachedCount} fichiers depuis cache\n`;
242
+ }
243
+ finalMD += `\n`;
244
+ finalMD += `## 💡 ${t.aiTitle}\n\n${formattedAiSummary}\n\n`;
245
+ finalMD += `## 📂 ${t.structure}\n\n`;
246
+ finalMD += "```\n";
247
+ finalMD += renderTree(buildTree(files));
248
+ finalMD += "```\n\n";
116
249
  finalMD += detailContent;
117
- finalMD += `## 📦 ${t.deps}\n\n| Module | Type |\n| :--- | :--- |\n`;
118
- Array.from(allDeps.entries()).sort().forEach(([n, ty]) => finalMD += `| \`${n}\` | ${ty} |\n`);
250
+ finalMD += `## 📦 ${t.deps}\n\n`;
251
+ finalMD += `| Module | Type | Occurrences |\n`;
252
+ finalMD += `| :--- | :--- | :---: |\n`;
253
+ const depCount = new Map();
254
+ analyses.forEach(a => {
255
+ a.imports.forEach(imp => {
256
+ depCount.set(imp.name, (depCount.get(imp.name) || 0) + 1);
257
+ });
258
+ });
259
+ Array.from(allDeps.entries())
260
+ .sort(([a], [b]) => a.localeCompare(b))
261
+ .forEach(([name, type]) => {
262
+ finalMD += `| \`${name}\` | ${type} | ${depCount.get(name) || 1} |\n`;
263
+ });
119
264
  writeFileSync(path.join(docsDir, "docs-to-dev.md"), finalMD);
120
- exportToHTML(docsDir, finalMD, mermaidGraph, language);
121
- console.log("📄 Génération du PDF automatique...");
265
+ console.log(` ✓ Rapport Markdown généré : docs/docs-to-dev.md\n`);
266
+ console.log("🎨 Étape 5/6 : Export HTML avec graphiques...");
267
+ const fileTreeStructure = buildTree(files);
268
+ exportToHTML(docsDir, finalMD, mermaidGraph, language, fileTreeStructure);
269
+ console.log(` ✓ Rapport HTML généré : docs/report.html\n`);
270
+ console.log("📄 Étape 6/6 : Génération du PDF...");
122
271
  await generatePDF(path.join(docsDir, "report.html"), path.join(docsDir, "report.pdf"));
272
+ console.log(` ✓ PDF exporté : docs/report.pdf\n`);
273
+ console.log("╔══════════════════════════════════════════╗");
274
+ console.log("║ ✨ Analyse terminée avec succès ! ║");
275
+ console.log("╚══════════════════════════════════════════╝\n");
276
+ console.log(`📊 Statistiques :`);
277
+ console.log(` • ${files.length} fichiers scannés`);
278
+ console.log(` • ${totalAnalyzed} fichiers analysés`);
279
+ if (options.incremental) {
280
+ console.log(` • ${cachedCount} fichiers depuis cache`);
281
+ }
282
+ console.log(` • ${allDeps.size} dépendances uniques`);
283
+ const avgComp = analyses.length > 0 ? Math.round(analyses.reduce((sum, a) => sum + a.complexity, 0) / analyses.length) : 0;
284
+ console.log(` • Complexité moyenne : ${avgComp}`);
285
+ if (options.incremental) {
286
+ const cacheStats = cache.getStats();
287
+ console.log(`\n💾 Cache :`);
288
+ console.log(` • ${cacheStats.total} entrées`);
289
+ console.log(` • ${Math.round(cacheStats.size / 1024)} KB`);
290
+ }
291
+ console.log("");
123
292
  return files.length;
124
293
  }
125
294
  async function generatePDF(htmlPath, outputPath) {
295
+ let browser = null;
126
296
  try {
127
- const browser = await puppeteer.launch({ headless: true });
297
+ browser = await puppeteer.launch({
298
+ headless: true,
299
+ args: ['--no-sandbox', '--disable-setuid-sandbox']
300
+ });
128
301
  const page = await browser.newPage();
129
- await page.goto(`file://${path.resolve(htmlPath)}`, { waitUntil: "networkidle0" });
302
+ await page.goto(`file://${path.resolve(htmlPath)}`, {
303
+ waitUntil: "networkidle0",
304
+ timeout: 30000
305
+ });
306
+ await page.waitForFunction(() => {
307
+ return typeof window.mermaid !== 'undefined';
308
+ }, { timeout: 5000 }).catch(() => { });
309
+ await new Promise(resolve => setTimeout(resolve, 2000));
130
310
  await page.pdf({
131
311
  path: outputPath,
132
312
  format: 'A4',
133
313
  printBackground: true,
134
- margin: { top: '1cm', bottom: '1cm', left: '1cm', right: '1cm' }
314
+ margin: { top: '1cm', bottom: '1cm', left: '1cm', right: '1cm' },
315
+ preferCSSPageSize: true
135
316
  });
136
317
  await browser.close();
137
318
  }
138
319
  catch (e) {
139
- console.error("Erreur PDF:", e);
320
+ console.error(" ⚠️ Erreur lors de la génération du PDF:", e);
321
+ if (browser) {
322
+ await browser.close().catch(() => { });
323
+ }
140
324
  }
141
325
  }
142
326
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
- export declare function exportToHTML(docsDir: string, markdownContent: string, mermaidGraph: string, lang?: "fr" | "en"): void;
1
+ interface TreeStructure {
2
+ [key: string]: TreeStructure | null;
3
+ }
4
+ export declare function exportToHTML(docsDir: string, markdownContent: string, mermaidGraph: string, lang?: "fr" | "en", fileTree?: TreeStructure): void;
5
+ export {};
2
6
  //# sourceMappingURL=html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/exporters/html.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,IAAI,GAAG,IAAW,QAyIpH"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/exporters/html.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,YAAY,CACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,IAAI,GAAG,IAAW,EACxB,QAAQ,CAAC,EAAE,aAAa,QA+e3B"}