Tiny Online Tools logoTiny Online ToolssearchRechercher des outils…grid_viewTous les outils
Accueilchevron_rightOutils ingénierie inversechevron_rightAnalyseur de Code Mort JavaScriptAnalyseur de Code Mort JavaScript

Analyseur de Code Mort JavaScript

Collez un bundle JS et trouvez les fonctions de premier niveau sans aucune référence statique dans le fichier — une analyse heuristique d'accessibilité, pas une certitude.

scienceSimple heuristique. Une fonction marquée « probablement inutilisée » peut encore être appelée dynamiquement — via obj[nomCalcule](), eval, new Function(...) ou Function.prototype.call/apply sur une référence choisie à l'exécution — de façons que cette analyse statique ne peut pas voir. Vérifiez à la main avant de supprimer quoi que ce soit.Code source JavaScript
Noms de fonctions séparés par des virgules à traiter comme racines accessibles même si aucune référence n'est trouvée ailleurs dans le fichier.

Outils similaires

Inspecteur de Bundle Webpack

Inspecteur de Bundle Webpack

Détecte l'amorçage runtime de webpack, la carte des modules et les métadonnées chunk-push par la forme de l'AST, affiche le vrai code source de chaque module et signale clairement quand un fichier n'est pas une sortie webpack.

Obfuscateur JavaScript

Obfuscateur JavaScript

Renomme les variables locales, masque les chaînes de caractères et aplatit le flux de contrôle en JavaScript, entièrement dans votre navigateur, sans rien envoyer.

Analyseur de Taille par Source Map

Analyseur de Taille par Source Map

Attribuez les octets d'un bundle aux fichiers et dossiers source qui les ont produits, grâce à sa source map — découvrez ce qui prend vraiment de la place.

Assistant de Désobfuscation JavaScript

Assistant de Désobfuscation JavaScript

Inverse les schémas courants d'obfuscation JavaScript statique : tableaux de chaînes, échappements, constantes calculées, branches mortes et crochets convertis en points.

Scanner de ports (local)

Scanner de ports (local)

Outil local de sondage des ports via des requetes navigateur.

SVG vers PNG

SVG vers PNG

Rendez un fichier SVG en image PNG à n'importe quelle taille dans votre navigateur.

Vérificateur d'Imprimabilité 3D

Vérificateur d'Imprimabilité 3D

Vérifiez qu'un modèle STL, 3MF, OBJ, PLY ou STEP est réellement imprimable avant de le trancher.

apps

Plus d'outils

Parcourez notre collection complète d'outils en ligne gratuits.

Ce que cet outil vérifie réellement

Cet outil analyse votre JavaScript avec acorn et construit un graphe de références : chaque fonction déclarée au premier niveau (ou const x = function(){} / const x = () => {} au premier niveau) devient un nœud, et chaque endroit où son nom apparaît comme identifiant devient une arête. Il calcule ensuite quelles fonctions sont accessibles depuis un ensemble de racines : le code qui s'exécute inconditionnellement au chargement du fichier — les instructions directement au premier niveau, le corps d'une fonction immédiatement invoquée (IIFE), tout ce qui est assigné à module.exports / exports.x / window.x / globalThis.x, et tout nom de point d'entrée que vous saisissez vous-même. Tout ce qui est accessible depuis une racine, de façon transitive, est conservé ; ce qui reste est signalé.

À lire avant de faire confiance à un résultat

Une fonction que cet outil appelle « probablement inutilisée » peut encore être réellement utilisée. L'analyse statique ne peut pas voir à travers :

  • Le dispatch dynamiqueobj[nomCalcule](), table[cle]() — le nom de la propriété n'est connu qu'à l'exécution.
  • eval et new Function(...) — le code construit à partir d'une chaîne est invisible pour un parcours de l'AST.
  • La réflexionfn.call(...), fn.apply(...) sur une référence choisie dynamiquement, ou Object.keys(obj).forEach(k => obj[k]()).

Chaque résultat est formulé comme « aucune référence statique trouvée », jamais comme un fait. Traitez cela comme une piste à vérifier à la main, pas comme un verdict — surtout avant de supprimer quoi que ce soit.

Comment l'utiliser

Collez ou chargez le contenu d'un fichier .js dans l'éditeur. Si vous connaissez déjà le nom de la vraie fonction d'entrée de votre bundle (celle que votre HTML appelle, ou qu'un framework appelle pour vous), saisissez-la dans le champ des points d'entrée pour qu'elle — et tout ce qu'elle touche transitivement — soit ancrée comme accessible même si rien dans le fichier ne la référence par son nom.

Le résumé affiche le nombre total de fonctions de premier niveau, combien sont accessibles et combien n'ont aucune référence statique. Chaque constat indique le nom de la fonction et sa ligne. Une liste séparée et repliée montre l'ensemble accessible complet avec une brève raison pour chacune — un point d'entrée, un export, un appel dans une IIFE, ou une référence trouvée dans une autre fonction accessible.

Rien de ce que vous collez ne quitte votre navigateur.