Tiny Online Tools logoTiny Online ToolssearchRechercher des outils…grid_viewTous les outils
Accueilchevron_rightOutils ingénierie inversechevron_rightInspecteur de Bundle WebpackInspecteur 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.

Source du bundleColler le codeCharger un fichier

Outils similaires

Visualiseur de Dépendances de Bundle JS

Visualiseur de Dépendances de Bundle JS

Repérez les frontières de modules dans un bundle webpack, Rollup, esbuild ou Vite et voyez quel module dépend de quel autre, via une vraie correspondance de forme de l'AST, pas une devinette de texte.

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.

Analyseur 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.

Inspecteur de Binaire Universel

Inspecteur de Binaire Universel

Déposez n'importe quel binaire et détectez automatiquement s'il s'agit d'ELF, PE, Mach-O ou WebAssembly, avec un résumé réel, dans votre navigateur.

Inverser une vidéo

Inverser une vidéo

Inverser une vidéo vous aide à lire un clip à l’envers directement dans le navigateur. Utilisez-le pour préparer, nettoyer et publier des médias rapidement et en privé.

Extracteur CHM

Extracteur CHM

Décompressez un fichier d'aide HTML compilée en ses pages, feuilles de style et images, dans un ZIP qui conserve l'arborescence d'origine.

Compteur de frequence des caracteres

Compteur de frequence des caracteres

Analysez la frequence d apparition de chaque caractere dans un texte.

apps

Plus d'outils

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

Ce que cet outil vérifie

Une grande partie du web livre encore du code webpack, et sa structure mérite d'être comprise en tant que telle — indépendamment du graphe de dépendances général et agnostique du bundler que trace le Visualiseur de Dépendances de Bundle JS. Cet outil recherche spécifiquement les pièces d'un bundle webpack :

  • L'amorçage runtime — la fonction en forme __webpack_require__ que tout build webpack embarque, détectée par le mécanisme exact qu'elle utilise pour invoquer un module (modules[moduleId].call(module.exports, module, module.exports, require)), et non par la recherche du nom littéral. Ce mécanisme survit au renommage complet des identifiants, il détecte donc toujours un build où tous les noms ont été minifiés.
  • La carte des modules — soit sous la forme classique d'objet ({0: fn, 1: fn, ...}), soit sous la forme de tableau ([fn, fn, ...]) que les versions récentes de webpack utilisent par défaut.
  • Les métadonnées chunk-push — pour les builds avec découpage de code, l'appel (self.webpackChunkXxx = self.webpackChunkXxx || []).push([[chunkIds], {modules}, runtime]), dont on extrait le nom et les ids du chunk.
  • Les auxiliaires du runtime — lesquels parmi .m (carte des modules), .c (cache des modules), .d (define getter), .o (hasOwnProperty), .n (getter d'export par défaut), .s (id du module d'entrée) et .p (chemin public) sont présents.

Sélectionnez n'importe quel module dans la liste pour voir son vrai code source dans un panneau avec coloration syntaxique — sans rien exécuter, juste le texte que webpack lui-même a enroulé autour de ce module.

Quand ce n'est pas webpack

Si ni le runtime ni une carte des modules ne sont trouvés, l'outil indique « ceci ne ressemble pas à une sortie webpack » plutôt que de forcer une supposition, et ajoute un indice simple et honnête quand il y en a un — un commentaire //# sourceMappingURL=, ou le fait que le fichier soit analysé comme un module ES (fréquent pour les sorties Rollup, esbuild et Vite).

Limite connue

Un bundle passé par webpack puis par une seconde passe de minification plus agressive qui renomme aussi les noms de propriétés du runtime lui-même peut échapper à la vérification de forme .call() et être signalé comme non-webpack. C'est un compromis délibéré : un rare faux négatif vaut mieux qu'inventer une carte de modules qui n'existe pas réellement.

Confidentialité

Tout s'exécute dans votre navigateur via un vrai analyseur JavaScript (acorn). Le fichier que vous collez ou téléversez n'est jamais envoyé où que ce soit.