
Déboguer du JS minifié : source maps et DevTools
Code de production illisible : pretty-print Chrome, source maps, et déminifier en local seulement si les maps manquent. Les noms mangled restent.
Le problème du code minifié en production
Un TypeError de production sur `main.js:1:245` n’est pas le même travail que « coller ça dans un déminificateur en ligne ». La minification retire espaces et commentaires ; le mangling renomme les fonctions en `a`, `b`, `c`. Le pretty-print restaure la forme. Seule une source map restaure les noms d’origine. Si les maps manquent et qu’il vous faut une copie locale, utilisez le déminificateur JavaScript — en sachant que les identifiants restent mangled.
Quand le JavaScript de production est illisible
Ce sont des problèmes de débogage. Déminifier est une tactique — pas le réflexe par défaut.

Formater n’est pas décompiler. Tenez ces limites pour définitives :

Limitations :
Ce qui fonctionne :
Quand déminifier vs pretty-print
Ne commencez pas par coller dans un outil. Suivez cet ordre — la page déminifier JavaScript est l’étape 3, quand les maps manquent.

1Chercher une source map
Dans DevTools → Sources, vérifiez les fichiers d’origine à côté du bundle, un voisin `.map`, ou un commentaire `//# sourceMappingURL=`. Si une map se charge, déboguez là et arrêtez-vous.
2Pretty-print dans le navigateur ou l’éditeur
Chrome Sources : le contrôle `{}` Pretty Print formate le fichier sur place. VS Code : Format Document (formateur JS intégré ou Prettier) sur un `.min.js` enregistré. Même limite : les noms restent mangled.
3Déminifier en local seulement si vous avez besoin d’un fichier
Pas de map, et vous voulez du source indenté sur disque : collez dans déminifier JavaScript. Le traitement reste dans le navigateur. Taille et caractère d’indentation sont les réglages de format — pas un désobfuscateur.
4Naviguer avec les littéraux, pas les noms
Cherchez des chaînes, URLs et messages d’erreur uniques. Suivez les motifs `if` / `return` / `.then(`. N’attendez pas que `a` redevienne un identifiant réel.
Exemple :
Avant (minifié) :
Après (déminifié) :
Le pretty-print (ou une source map) doit précéder le copier-coller d’un bundle d’un mégaoctet dans un éditeur.

Code minifié :
Code déminifié (aperçu) :
Source maps : la meilleure voie de debug en production
Un fichier `.map` relie les positions minifiées aux sources d’origine. DevTools peut alors afficher vrais chemins, identifiants originaux et breakpoints dans le code que vous avez écrit — ce qu’aucun déminificateur ne peut reconstruire.

Webpack 5 : réglez `devtool` (ne passez plus `sourceMap: true` à TerserPlugin — option retirée). Vite : `build.sourcemap: true` ou `'hidden'`. Terser en CLI peut toujours attacher un objet map comme ci-dessous.
Terser
Webpack
Déboguer avec les DevTools du navigateur
Chrome (et les autres DevTools Chromium) peuvent formater le fichier que vous inspectez déjà. C’est plus rapide qu’exporter le bundle si vous voulez seulement lire la ligne qui casse. Format Document dans VS Code sur un `.min.js` enregistré est l’équivalent éditeur — toujours pas une source map.

Une fois que DevTools (ou un éditeur) a formaté le fichier, les numéros de ligne se rapportent à la vue pretty-printée, sauf si une map est active :
Conseils :
Quand il vous faut encore une copie locale formatée
Ces options ré-indentent le JavaScript. Aucune ne restaure les noms mangled. Le job « étendre du JS minifié » est sur déminifier JavaScript. La page sœur beautifier JavaScript est l’URL formateur ; minifier JavaScript est l’opération inverse.
FastMinify — Déminifier JS
Déminificateur local au navigateur : collez un snippet minifié, récupérez une sortie indentée. Taille d’indentation et espaces vs tabulations seulement. Rien n’est envoyé au serveur.
Avantages :
Inconvénients :
VS Code + Prettier
Enregistrez le fichier et lancez Format Document. C’est le chemin habituel « déminifier dans VS Code » : même gain de lisibilité que le pretty-print, toujours pas d’identifiants d’origine.
Avantages :
Inconvénients :
JS Beautifier
Formateur open-source (js-beautify) en bibliothèque, CLI et diverses UI web. Même famille d’outil : espaces et structure, pas les symboles d’origine.
Avantages :
Inconvénients :
La suite à faire
Déboguez le JavaScript minifié dans cet ordre : source maps si elles existent, pretty-print dans DevTools ou VS Code si vous voulez seulement lire la ligne qui casse, et un déminificateur local seulement quand vous avez besoin d’une copie formatée et que les maps manquent. L’outil n’annule pas le mangling. Corrigez le build pour que le prochain incident ait des maps.
Articles connexes

Stages, includes, règles `rules:` : validez la structure d'un .gitlab-ci.yml avant la pipeline — pas un runner GitLab, pas le CI Lint officiel.

YAML cassé, `on` ou `jobs` manquants, steps vides : validez la structure de vos workflows avant le push — et laissez actionlint à la CI.

Erreurs de syntaxe SDL, review de schéma et formatage avant merge — complément au beautify GraphQL existant.