docstodev 2.0.1 → 3.0.1
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 +60 -0
- package/dist/ai/analyzer.d.ts +25 -1
- package/dist/ai/analyzer.d.ts.map +1 -1
- package/dist/ai/analyzer.js +205 -20
- package/dist/ai/analyzer.js.map +1 -1
- package/dist/cli/index.js +8 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +128 -78
- package/dist/commands/run.js.map +1 -1
- package/dist/exporters/html.d.ts.map +1 -1
- package/dist/exporters/html.js +273 -29
- package/dist/exporters/html.js.map +1 -1
- package/docs/docs-to-dev.md +69 -49
- package/docs/report.html +8 -3
- package/docs/summary.md +1 -1
- package/package.json +1 -1
package/docs/report.html
CHANGED
|
@@ -488,6 +488,11 @@ mark {
|
|
|
488
488
|
<div class="container">
|
|
489
489
|
|
|
490
490
|
|
|
491
|
+
<div class="project-goal-section">
|
|
492
|
+
<h2>🎯 But du Projet</h2>
|
|
493
|
+
<p>Le projet DocsToDev est conçu pour analyser et générer des documents techniques à partir de données brutes de projets logiciels. Il vise à résoudre les problèmes liés à la documentation et à la compréhension des structures de projets complexes. Le public cible est constitué de développeurs, d'architectes logiciels et de membres d'équipes de développement qui ont besoin d'une vision claire et d'une compréhension approfondie de leurs projets.</p>
|
|
494
|
+
</div>
|
|
495
|
+
|
|
491
496
|
|
|
492
497
|
|
|
493
498
|
|
|
@@ -540,8 +545,8 @@ graph TD
|
|
|
540
545
|
node0["📄 package-lock.json"]:::configStyle
|
|
541
546
|
node1["📄 package.json"]:::configStyle
|
|
542
547
|
node2["📄 tsconfig.json"]:::configStyle
|
|
543
|
-
node3["📄
|
|
544
|
-
node4["📄
|
|
548
|
+
node3["📄 srcanalyzerslanguageAnalyzer.ts"]:::tsStyle
|
|
549
|
+
node4["📄 srcaianalyzer.ts"]:::tsStyle
|
|
545
550
|
node5["📄 srccachecacheManager.ts"]:::tsStyle
|
|
546
551
|
node6["📄 srccliindex.ts"]:::tsStyle
|
|
547
552
|
node7["📄 srccommandsgenerateSummary.ts"]:::tsStyle
|
|
@@ -582,7 +587,7 @@ graph LR
|
|
|
582
587
|
</div>
|
|
583
588
|
</div>
|
|
584
589
|
|
|
585
|
-
<div id="content-area"><h1>Rapport Technique DocsToDev</h1><p>> 📅 Généré le : vendredi 9 janvier 2026 à 09:22</p><p>> 📊 7 fichiers analysés • 15 dépendances identifiées</p><h2>💡 Analyse Intelligente</h2><h2>1.</h2><p><code>But</code> du <code>Projet</code></p><p><code>Le</code> projet <code>DocsToDev</code> vise à analyser des données techniques brutes et à les transformer en documentation métier claire et structurée.</p><p><code>Il</code> résout les problèmes de compréhension et d'analyse de données techniques complexes pour les développeurs et les équipes de développement.</p><p><code>Le</code> public cible de ce projet inclut les développeurs, les architectes logiciels, et les équipes de développement qui cherchent à améliorer la qualité et la compréhension de leurs projets logiciels.</p><h2>2.</h2><p><code>Design</code> <code>System</code> Détecté</p><p><code>Le</code> design system détecté dans le projet inclut :</p><div class="list-item"><code>Palette</code> de couleurs : <code>Les</code> couleurs primaires et secondaires utilisées dans le projet ne sont pas explicitement définies dans les extraits de code fournis, mais il est mentionné que la palette de couleurs fait partie de l'analyse du design system.</div><div class="list-item"><code>Typographie</code> : <code>Les</code> polices utilisées ne sont pas spécifiquement mentionnées dans les extraits de code fournis.</div><div class="list-item"><code>Patterns</code> de composants : <code>Les</code> patterns de composants, tels que les cartes, les modales, les formulaires, etc., sont détectés et documentés dans le projet.</div><h2>3.</h2><p>⚠️ <code>Risques</code> <code>Identifi</code>és</p><p><code>Les</code> risques potentiels identifiés dans le projet sont classés par niveau :</p><div class="list-item">🔴 <code>Critique</code> :</div><div class="list-item"><code>La</code> sécurité du projet pourrait être compromise si les clés API comme <code>GROQ_API_KEY</code> ne sont pas sécurisées correctement.</div><div class="list-item">L'architecture du projet pourrait être affectée par la complexité et la maintenance des fichiers et des dépendances.</div><div class="list-item">🟡 <code>Moyen</code> :</div><div class="list-item"><code>La</code> dette technique et les performances du projet pourraient être impactées par la complexité croissante des analyses et des exports.</div><div class="list-item">🟢 <code>Faible</code> :</div><div class="list-item"><code>Les</code> améliorations mineures pourraient inclure la optimisation des requêtes, la mise à jour des dépendances, et la réduction de la duplication de code.</div><h2>4.</h2><p>💡 <code>Recommandations</code></p><p><code>Les</code> actions concrètes pour améliorer le projet sont :</p><div class="list-item"><code>Refactoring</code> : Réorganiser le code pour améliorer la lisibilité et la maintainabilité.</div><div class="list-item"><code>Optimisations</code> : <code>Optimiser</code> les performances en utilisant des méthodes plus efficaces pour les analyses et les exports.</div><div class="list-item"><code>Bonnes</code> pratiques : <code>Adopter</code> des bonnes pratiques de développement telles que les tests unitaires et d'intégration, et la mise à jour régulière des dépendances.</div><h2>5.</h2><p><code>Analyse</code> Détaillée des <code>Fichiers</code></p><div class="tree-line">- <code>src/ai/</code>analyzer.ts<code> : </code>Ce<code> fichier contient les fonctions d'analyse de l'IA, notamment </code>askAI<code> et </code>askAIDetailed`, qui analysent les données techniques et retournent des résultats détaillés.</div><div class="tree-line">- <code>src/analyzers/</code>languageAnalyzer<code>.ts</code> : <code>Ce</code> fichier contient les classes et les fonctions d'analyse de langage, notamment <code>TSJSAnalyzer</code>, qui analyse les fichiers de code et retourne des informations sur les exports, les imports, les fonctions, les classes, etc.</div><div class="tree-line">- <code>src/cache/</code>cacheManager<code>.ts</code> : <code>Ce</code> fichier contient la classe <code>CacheManager</code>, qui gère le cache des analyses pour améliorer les performances.</div><div class="tree-line">- <code>src/cli/</code>index.ts<code> : </code>Ce` fichier contient le point d'entrée de la ligne de commande, qui utilise les commandes pour exécuter les analyses et générer les rapports.</div><div class="tree-line">- <code>src/commands/</code>generateSummary<code>.ts</code> : <code>Ce</code> fichier contient la fonction <code>generateSummary</code>, qui génère un résumé du projet en fonction des données d'analyse.</div><div class="tree-line">- <code>src/commands/</code>run.ts<code> : </code>Ce<code> fichier contient la fonction </code>runCommand`, qui exécute les analyses et génère les rapports en fonction des options de la ligne de commande.</div><div class="tree-line">- <code>src/exporters/</code>html.ts<code> : </code>Ce<code> fichier contient la fonction </code>exportToHTML`, qui exporte les résultats des analyses en format HTML.</div><h2>📂 Architecture du projet</h2><p><code></code>`</p><div class="tree-line"><span class="branch">├─</span> <a href="../package-lock.json">package-lock.json</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../package.json">package.json</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/ai/analyzer.ts">src/ai/analyzer.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/analyzers/languageAnalyzer.ts">src/analyzers/languageAnalyzer.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/cache/cacheManager.ts">src/cache/cacheManager.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/cli/index.ts">src/cli/index.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/commands/generateSummary.ts">src/commands/generateSummary.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/commands/run.ts">src/commands/run.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/exporters/html.ts">src/exporters/html.ts</a></div><div class="tree-line"><span class="branch">└─</span> <a href="../tsconfig.json">tsconfig.json</a></div><p><code></code>`</p><h2>🔬 Analyse détaillée des composants</h2><div class="tree-line">### 📄 <a href="../src/ai/analyzer.ts"><code>src/ai/analyzer.ts</code></a></div><p>Complexité et maintenance : 289 lignes • 🟢 Faible (46)</p><p>Fonctions : <code>askAI()</code>, <code>askAIDetailed()</code>, <code>buildSystemPrompt()</code>, <code>parseAIResponse()</code></p><div class="tree-line">Types/Interfaces : <code>AIAnalysisOptions</code>, <code>AIAnalysisResult</code></div><p>Exports publics : <code>AIAnalysisOptions</code>, <code>AIAnalysisResult</code>, <code>askAI</code>, <code>askAIDetailed</code></p><p>---</p><div class="tree-line">### 📄 <a href="../src/analyzers/languageAnalyzer.ts"><code>src/analyzers/languageAnalyzer.ts</code></a></div><p>Complexité et maintenance : 580 lignes • 🟠 Élevée (270)</p><p>Fonctions : <code>getAnalyzer()</code>, <code>getSupportedExtensions()</code>, <code>isExplicitlySupported()</code></p><p>Classes : <code>TSJSAnalyzer</code>, <code>PythonAnalyzer</code>, <code>JavaAnalyzer</code>, <code>CSharpAnalyzer</code>, <code>GoAnalyzer</code>, <code>RustAnalyzer</code>, <code>HTMLAnalyzer</code>, <code>CSSAnalyzer</code>, <code>PHPAnalyzer</code>, <code>RubyAnalyzer</code>, <code>SQLAnalyzer</code>, <code>DefaultAnalyzer</code></p><div class="tree-line">Types/Interfaces : <code>LanguageAnalyzer</code>, <code>FileAnalysisResult</code></div><p>Exports publics : <code>LanguageAnalyzer</code>, <code>FileAnalysisResult</code>, <code>getAnalyzer</code>, <code>getSupportedExtensions</code>, <code>isExplicitlySupported</code></p><p>---</p><div class="tree-line">### 📄 <a href="../src/cache/cacheManager.ts"><code>src/cache/cacheManager.ts</code></a></div><p>Complexité et maintenance : 179 lignes • 🟢 Faible (36)</p><p>Classes : <code>CacheManager</code></p><div class="tree-line">Types/Interfaces : <code>CacheEntry</code>, <code>CacheManifest</code></div><p>Exports publics : <code>CacheEntry</code>, <code>CacheManifest</code>, <code>CacheManager</code></p><p>Dépendances :</p><div class="list-item"><code>node:crypto</code> (Node.js) → utilise <code>createHash</code></div><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>readFileSync, writeFileSync, existsSync, statSync, mkdirSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/cli/index.ts"><code>src/cli/index.ts</code></a></div><p>Complexité et maintenance : 355 lignes • 🟡 Modérée (77)</p><p>Fonctions : <code>typeWriter()</code>, <code>showBanner()</code>, <code>selectLanguage()</code>, <code>showTransition()</code></p><p>Classes : <code>Spinner</code>, <code>ProgressBar</code></p><p>Dépendances :</p><div class="list-item"><code>commander</code> (NPM) → utilise <code>Command</code></div><div class="tree-line">• <code>../commands/run.js</code> (Interne) → utilise <code>runCommand</code></div><div class="tree-line">• <code>../commands/generateSummary.js</code> (Interne) → utilise <code>generateSummary</code></div><div class="tree-line">• <code>node:readline/promises</code> (Node.js) → utilise <code>readline</code></div><div class="list-item"><code>node:process</code> (Node.js) → utilise <code>stdin as input, stdout as output</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/commands/generateSummary.ts"><code>src/commands/generateSummary.ts</code></a></div><p>Complexité et maintenance : 150 lignes • 🟢 Faible (27)</p><p>Fonctions : <code>generateSummary()</code></p><div class="tree-line">Types/Interfaces : <code>SummaryData</code></div><p>Exports publics : <code>generateSummary</code></p><p>Dépendances :</p><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>writeFileSync, mkdirSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/commands/run.ts"><code>src/commands/run.ts</code></a></div><p>Complexité et maintenance : 459 lignes • 🟡 Modérée (108)</p><p>Fonctions : <code>buildTree()</code>, <code>renderTree()</code>, <code>analyzeFile()</code>, <code>getComplexityLevel()</code>, <code>formatAISummary()</code>, <code>runCommand()</code>, <code>generatePDF()</code></p><div class="tree-line">Types/Interfaces : <code>AIAnalysisOptions</code>, <code>TreeNode</code>, <code>FileAnalysis</code></div><p>Exports publics : <code>runCommand</code></p><p>Dépendances :</p><div class="list-item"><code>globby</code> (NPM) → utilise <code>globby</code></div><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>writeFileSync, readFileSync, existsSync, mkdirSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><div class="list-item"><code>puppeteer</code> (NPM) → utilise <code>puppeteer</code></div><div class="tree-line">• <code>../exporters/html.js</code> (Interne) → utilise <code>exportToHTML</code></div><div class="tree-line">• <code>../ai/analyzer.js</code> (Interne) → utilise <code>askAIDetailed, type AIAnalysisOptions</code></div><div class="tree-line">• <code>../analyzers/languageAnalyzer.js</code> (Interne) → utilise <code>getAnalyzer, getSupportedExtensions</code></div><div class="tree-line">• <code>../cache/cacheManager.js</code> (Interne) → utilise <code>CacheManager</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/exporters/html.ts"><code>src/exporters/html.ts</code></a></div><p>Complexité et maintenance : 894 lignes • 🟠 Élevée (152)</p><p>Fonctions : <code>exportToHTML()</code>, <code>toggleTheme()</code>, <code>sanitizeMermaidGraph()</code>, <code>generateHierarchyGraph()</code>, <code>sanitizeLabel()</code>, <code>getFileExtension()</code>, <code>getNodeStyle()</code>, <code>traverse()</code>, <code>getDefaultHierarchyGraph()</code>, <code>generateDataFlowGraph()</code>, <code>formatRisksSection()</code>, <code>formatText()</code></p><div class="tree-line">Types/Interfaces : <code>TreeStructure</code></div><p>Exports publics : <code>exportToHTML</code></p><p>Dépendances :</p><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>writeFileSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><div class="tree-line">• <code>https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs</code> (NPM) → utilise <code>mermaid</code></div><p>---</p><h2>📦 Modules externes</h2><div class="table-container"><table><tr><th>Module</th><th>Type</th><th>Occurrences</th></tr><tr><td><code>../ai/analyzer.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../analyzers/languageAnalyzer.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../cache/cacheManager.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../commands/generateSummary.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../commands/run.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../exporters/html.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>commander</code></td><td>NPM</td><td>1</td></tr><tr><td><code>globby</code></td><td>NPM</td><td>1</td></tr><tr><td><code>https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs</code></td><td>NPM</td><td>1</td></tr><tr><td><code>node:crypto</code></td><td>Node.js</td><td>1</td></tr><tr><td><code>node:fs</code></td><td>Node.js</td><td>4</td></tr><tr><td><code>node:path</code></td><td>Node.js</td><td>5</td></tr><tr><td><code>node:process</code></td><td>Node.js</td><td>1</td></tr><tr><td><code>node:readline/promises</code></td><td>Node.js</td><td>1</td></tr><tr><td><code>puppeteer</code></td><td>NPM</td><td>1</td></tr></table></div></div>
|
|
590
|
+
<div id="content-area"><h1>Rapport Technique DocsToDev</h1><p>> 📅 Généré le : vendredi 9 janvier 2026 à 10:01</p><p>> 📊 7 fichiers analysés • 15 dépendances identifiées</p><h2>🎯 But du Projet</h2><p>Le projet DocsToDev est conçu pour analyser et générer des documents techniques à partir de données brutes de projets logiciels. Il vise à résoudre les problèmes liés à la documentation et à la compréhension des structures de projets complexes. Le public cible est constitué de développeurs, d'architectes logiciels et de membres d'équipes de développement qui ont besoin d'une vision claire et d'une compréhension approfondie de leurs projets.</p><h2>💡 Recommandations</h2><div class="list-item">1. Refactorisation et Modularisation : Organiser le code en modules plus petits et plus spécialisés pour améliorer la lisibilité et la maintenabilité.</div><p>2. Gestion des Secrets : Utiliser des méthodes sécurisées pour stocker et récupérer les clés API et autres secrets, comme les variables d'environnement ou des services de gestion de secrets.</p><p>3. Optimisation des Performances : Analyser les performances de l'application, notamment lors de l'analyse de projets de grande taille, et optimiser les algorithmes et les requêtes pour améliorer les temps de réponse.</p><p>4. Tests Automatisés : Développer une suite de tests automatisés pour vérifier la fonctionnalité, la performance et la sécurité de l'application.</p><p>5. Documentation et Commentaires : Améliorer la documentation et les commentaires dans le code pour faciliter la compréhension et la maintenance par d'autres développeurs.</p><h2>💡 Analyse Intelligente</h2><h2>`But` du `Projet`</h2><p><code>Le</code> projet <code>DocsToDev</code> est conçu pour analyser et générer des documents techniques à partir de données brutes de projets logiciels.</p><p><code>Il</code> vise à résoudre les problèmes liés à la documentation et à la compréhension des structures de projets complexes.</p><p><code>Le</code> public cible est constitué de développeurs, d'architectes logiciels et de membres d'équipes de développement qui ont besoin d'une vision claire et d'une compréhension approfondie de leurs projets.</p><h2>`Design` `System` Détecté</h2><p><code>Le</code> projet utilise une palette de couleurs qui n'est pas explicitement définie dans les extraits de code fournis, mais il semblerait qu'il s'appuie sur des standards web modernes.</p><p><code>La</code> typographie est également standard, sans spécifications particulières.</p><p><code>Les</code> patterns de composants incluent des éléments tels que des tables, des liens, des codes, et potentiellement des graphiques générés par <code>Mermaid</code> pour représenter des structures de données ou des flux de travail.</p><h2>`Risques` `Identifi`és</h2><div class="list-item">🔴 <code>Critique</code> : <code>La</code> sécurité des données et la gestion des clés API (comme la clé GROQ_API_KEY) sont cruciales.</div><p>L'exposition de ces clés dans le code pose un risque élevé.</p><div class="list-item">🟡 <code>Moyen</code> : <code>La</code> complexité du code et la gestion des dépendances pourraient nécessiter une attention particulière pour éviter les problèmes de maintenance et de performance.</div><div class="list-item">🟢 <code>Faible</code> : L'amélioration de l'expérience utilisateur et la personnalisation de la génération de rapports pourraient être des points d'amélioration mineurs mais importants pour l'adoption et la satisfaction des utilisateurs.</div><h2>`Recommandations`</h2><p>1.</p><p><code>Refactorisation</code> et <code>Modularisation</code> : <code>Organiser</code> le code en modules plus petits et plus spécialisés pour améliorer la lisibilité et la maintenabilité.</p><p>2.</p><p><code>Gestion</code> des <code>Secrets</code> : <code>Utiliser</code> des méthodes sécurisées pour stocker et récupérer les clés API et autres secrets, comme les variables d'environnement ou des services de gestion de secrets.</p><p>3.</p><p><code>Optimisation</code> des <code>Performances</code> : <code>Analyser</code> les performances de l'application, notamment lors de l'analyse de projets de grande taille, et optimiser les algorithmes et les requêtes pour améliorer les temps de réponse.</p><p>4.</p><p><code>Tests</code> <code>Automatis</code>és : Développer une suite de tests automatisés pour vérifier la fonctionnalité, la performance et la sécurité de l'application.</p><p>5.</p><p><code>Documentation</code> et <code>Commentaires</code> : <code>Am</code>éliorer la documentation et les commentaires dans le code pour faciliter la compréhension et la maintenance par d'autres développeurs.</p><h2>`Analyse` Détaillée des `Fichiers`</h2><div class="tree-line">- <code>src/analyzers/</code>languageAnalyzer<code>.ts</code> : <code>Ce</code> fichier définit les analyseurs de langages de programmation.</div><p><code>Il</code> joue un rôle crucial dans l'analyse du code source et la génération de rapports.</p><p><code>Ses</code> dépendances incluent les régular expressions pour l'analyse syntaxique.</p><div class="tree-line">- <code>src/ai/</code>analyzer.ts<code> : </code>Ce` fichier est responsable de l'interaction avec l'IA pour l'analyse des données techniques.</div><p><code>Il</code> utilise des options de configuration pour personnaliser l'analyse et les résultats.</p><div class="tree-line">- <code>src/cache/</code>cacheManager<code>.ts</code> : <code>Il</code> gère le cache des analyses pour améliorer les performances en réutilisant les résultats d'analyses précédentes.</div><p><code>Ses</code> dépendances incluent les modules de fichier et de cryptographie pour la gestion sécurisée du cache.</p><div class="tree-line">- <code>src/cli/</code>index.ts<code> : </code>Ce` fichier définit l'interface de ligne de commande de l'application.</div><p><code>Il</code> utilise des commandes pour exécuter des tâches spécifiques, comme générer des résumés ou exécuter l'analyse.</p><div class="tree-line">- <code>src/commands/</code>generateSummary<code>.ts</code> : <code>Il</code> est utilisé pour générer un résumé du projet analysé, en incluant des métadonnées et des statistiques sur le code.</div><div class="tree-line">- <code>src/commands/</code>run.ts<code> : </code>Ce` fichier contient la logique pour exécuter l'analyse complète d'un projet, en utilisant les analyseurs de langage et les capacités d'analyse IA.</div><div class="tree-line">- <code>src/exporters/</code>html.ts<code> : </code>Il` est responsable de la conversion des résultats d'analyse en documents HTML, facilitant ainsi la visualisation et la partage des résultats.</div><h2>📂 Architecture du projet</h2><p><code></code>`</p><div class="tree-line"><span class="branch">├─</span> <a href="../package-lock.json">package-lock.json</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../package.json">package.json</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/ai/analyzer.ts">src/ai/analyzer.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/analyzers/languageAnalyzer.ts">src/analyzers/languageAnalyzer.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/cache/cacheManager.ts">src/cache/cacheManager.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/cli/index.ts">src/cli/index.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/commands/generateSummary.ts">src/commands/generateSummary.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/commands/run.ts">src/commands/run.ts</a></div><div class="tree-line"><span class="branch">├─</span> <a href="../src/exporters/html.ts">src/exporters/html.ts</a></div><div class="tree-line"><span class="branch">└─</span> <a href="../tsconfig.json">tsconfig.json</a></div><p><code></code>`</p><h2>🔬 Analyse détaillée des composants</h2><div class="tree-line">### 📄 <a href="../src/analyzers/languageAnalyzer.ts"><code>src/analyzers/languageAnalyzer.ts</code></a></div><p>Complexité et maintenance : 580 lignes • 🟠 Élevée (270)</p><p>Fonctions : <code>getAnalyzer()</code>, <code>getSupportedExtensions()</code>, <code>isExplicitlySupported()</code></p><p>Classes : <code>TSJSAnalyzer</code>, <code>PythonAnalyzer</code>, <code>JavaAnalyzer</code>, <code>CSharpAnalyzer</code>, <code>GoAnalyzer</code>, <code>RustAnalyzer</code>, <code>HTMLAnalyzer</code>, <code>CSSAnalyzer</code>, <code>PHPAnalyzer</code>, <code>RubyAnalyzer</code>, <code>SQLAnalyzer</code>, <code>DefaultAnalyzer</code></p><div class="tree-line">Types/Interfaces : <code>LanguageAnalyzer</code>, <code>FileAnalysisResult</code></div><p>Exports publics : <code>LanguageAnalyzer</code>, <code>FileAnalysisResult</code>, <code>getAnalyzer</code>, <code>getSupportedExtensions</code>, <code>isExplicitlySupported</code></p><p>---</p><div class="tree-line">### 📄 <a href="../src/ai/analyzer.ts"><code>src/ai/analyzer.ts</code></a></div><p>Complexité et maintenance : 289 lignes • 🟢 Faible (46)</p><p>Fonctions : <code>askAI()</code>, <code>askAIDetailed()</code>, <code>buildSystemPrompt()</code>, <code>parseAIResponse()</code></p><div class="tree-line">Types/Interfaces : <code>AIAnalysisOptions</code>, <code>AIAnalysisResult</code></div><p>Exports publics : <code>AIAnalysisOptions</code>, <code>AIAnalysisResult</code>, <code>askAI</code>, <code>askAIDetailed</code></p><p>---</p><div class="tree-line">### 📄 <a href="../src/cache/cacheManager.ts"><code>src/cache/cacheManager.ts</code></a></div><p>Complexité et maintenance : 179 lignes • 🟢 Faible (36)</p><p>Classes : <code>CacheManager</code></p><div class="tree-line">Types/Interfaces : <code>CacheEntry</code>, <code>CacheManifest</code></div><p>Exports publics : <code>CacheEntry</code>, <code>CacheManifest</code>, <code>CacheManager</code></p><p>Dépendances :</p><div class="list-item"><code>node:crypto</code> (Node.js) → utilise <code>createHash</code></div><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>readFileSync, writeFileSync, existsSync, statSync, mkdirSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/cli/index.ts"><code>src/cli/index.ts</code></a></div><p>Complexité et maintenance : 355 lignes • 🟡 Modérée (77)</p><p>Fonctions : <code>typeWriter()</code>, <code>showBanner()</code>, <code>selectLanguage()</code>, <code>showTransition()</code></p><p>Classes : <code>Spinner</code>, <code>ProgressBar</code></p><p>Dépendances :</p><div class="list-item"><code>commander</code> (NPM) → utilise <code>Command</code></div><div class="tree-line">• <code>../commands/run.js</code> (Interne) → utilise <code>runCommand</code></div><div class="tree-line">• <code>../commands/generateSummary.js</code> (Interne) → utilise <code>generateSummary</code></div><div class="tree-line">• <code>node:readline/promises</code> (Node.js) → utilise <code>readline</code></div><div class="list-item"><code>node:process</code> (Node.js) → utilise <code>stdin as input, stdout as output</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/commands/generateSummary.ts"><code>src/commands/generateSummary.ts</code></a></div><p>Complexité et maintenance : 150 lignes • 🟢 Faible (27)</p><p>Fonctions : <code>generateSummary()</code></p><div class="tree-line">Types/Interfaces : <code>SummaryData</code></div><p>Exports publics : <code>generateSummary</code></p><p>Dépendances :</p><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>writeFileSync, mkdirSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/commands/run.ts"><code>src/commands/run.ts</code></a></div><p>Complexité et maintenance : 459 lignes • 🟡 Modérée (108)</p><p>Fonctions : <code>buildTree()</code>, <code>renderTree()</code>, <code>analyzeFile()</code>, <code>getComplexityLevel()</code>, <code>formatAISummary()</code>, <code>runCommand()</code>, <code>generatePDF()</code></p><div class="tree-line">Types/Interfaces : <code>AIAnalysisOptions</code>, <code>TreeNode</code>, <code>FileAnalysis</code></div><p>Exports publics : <code>runCommand</code></p><p>Dépendances :</p><div class="list-item"><code>globby</code> (NPM) → utilise <code>globby</code></div><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>writeFileSync, readFileSync, existsSync, mkdirSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><div class="list-item"><code>puppeteer</code> (NPM) → utilise <code>puppeteer</code></div><div class="tree-line">• <code>../exporters/html.js</code> (Interne) → utilise <code>exportToHTML</code></div><div class="tree-line">• <code>../ai/analyzer.js</code> (Interne) → utilise <code>askAIDetailed, type AIAnalysisOptions</code></div><div class="tree-line">• <code>../analyzers/languageAnalyzer.js</code> (Interne) → utilise <code>getAnalyzer, getSupportedExtensions</code></div><div class="tree-line">• <code>../cache/cacheManager.js</code> (Interne) → utilise <code>CacheManager</code></div><p>---</p><div class="tree-line">### 📄 <a href="../src/exporters/html.ts"><code>src/exporters/html.ts</code></a></div><p>Complexité et maintenance : 894 lignes • 🟠 Élevée (152)</p><p>Fonctions : <code>exportToHTML()</code>, <code>toggleTheme()</code>, <code>sanitizeMermaidGraph()</code>, <code>generateHierarchyGraph()</code>, <code>sanitizeLabel()</code>, <code>getFileExtension()</code>, <code>getNodeStyle()</code>, <code>traverse()</code>, <code>getDefaultHierarchyGraph()</code>, <code>generateDataFlowGraph()</code>, <code>formatRisksSection()</code>, <code>formatText()</code></p><div class="tree-line">Types/Interfaces : <code>TreeStructure</code></div><p>Exports publics : <code>exportToHTML</code></p><p>Dépendances :</p><div class="list-item"><code>node:fs</code> (Node.js) → utilise <code>writeFileSync</code></div><div class="list-item"><code>node:path</code> (Node.js) → utilise <code>path</code></div><div class="tree-line">• <code>https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs</code> (NPM) → utilise <code>mermaid</code></div><p>---</p><h2>📦 Modules externes</h2><div class="table-container"><table><tr><th>Module</th><th>Type</th><th>Occurrences</th></tr><tr><td><code>../ai/analyzer.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../analyzers/languageAnalyzer.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../cache/cacheManager.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../commands/generateSummary.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../commands/run.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>../exporters/html.js</code></td><td>Interne</td><td>1</td></tr><tr><td><code>commander</code></td><td>NPM</td><td>1</td></tr><tr><td><code>globby</code></td><td>NPM</td><td>1</td></tr><tr><td><code>https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs</code></td><td>NPM</td><td>1</td></tr><tr><td><code>node:crypto</code></td><td>Node.js</td><td>1</td></tr><tr><td><code>node:fs</code></td><td>Node.js</td><td>4</td></tr><tr><td><code>node:path</code></td><td>Node.js</td><td>5</td></tr><tr><td><code>node:process</code></td><td>Node.js</td><td>1</td></tr><tr><td><code>node:readline/promises</code></td><td>Node.js</td><td>1</td></tr><tr><td><code>puppeteer</code></td><td>NPM</td><td>1</td></tr></table></div></div>
|
|
586
591
|
|
|
587
592
|
</div>
|
|
588
593
|
|
package/docs/summary.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 📊 Vue d'ensemble du Projet – DocsToDev
|
|
2
2
|
|
|
3
|
-
> 📅 **Rapport généré le :** vendredi 9 janvier 2026 à
|
|
3
|
+
> 📅 **Rapport généré le :** vendredi 9 janvier 2026 à 10:01
|
|
4
4
|
|
|
5
5
|
## 🚀 État des lieux
|
|
6
6
|
Salut ! J'ai passé ton projet au peigne fin. Voici un résumé rapide de ce que j'ai trouvé :
|