Minificateur JavaScript en ligne comparé à UglifyJS, Terser et Google Closure Compiler| Minification JavaScript en ligne | UglifyJS | Terser | Compilateur Google Closure |
|---|
| Moteur de minification : La page DigitalOcean se décrit comme une interface web interactive pour Terser ; le résultat affiché est donc celui produit par Terser et non celui d'un algorithme distinct. | Moteur de minification : UglifyJS est un analyseur syntaxique, un outil de manipulation et de compression de code JavaScript. Terser est dérivé de sa variante ES6+ (uglify-es), et les deux outils conservent en grande partie la même API et la même ligne de commande. | Moteur de minification : Terser est le moteur qui encapsule la page DigitalOcean. Utilisé directement, il expose les options compress, mangle, mangle-props, format et parse. | Moteur de minification : Closure Compiler est un compilateur Java indépendant. Outre le raccourcissement du code, il vérifie la syntaxe, les références et les types des variables, et signale les pièges courants de JavaScript. |
| Prise en charge linguistique : Terser, le moteur qui anime la page, est décrit comme une boîte à outils pour le code ES6+. | Prise en charge linguistique : Le projet indique qu'il prend en charge JavaScript et la plupart des fonctionnalités du langage ECMAScript. Pour les fonctionnalités plus spécifiques, il recommande une transpilation préalable avec un outil tel que Babel. | Prise en charge linguistique : Terser est décrit comme une boîte à outils pour ES6+. Son option ecma peut être définie sur 2015 ou une version ultérieure pour autoriser les transformations de sortie ES6+. | Prise en charge linguistique : Les informations de type peuvent être déclarées à l'aide d'annotations dans les commentaires, que le compilateur utilise lors de ses vérifications. |
| Niveaux d'optimisation : Le texte de la page ne liste pas les paramètres individuels. | Niveaux d'optimisation : Le comportement est ajusté via les options compress et mangle, sur la ligne de commande ou via l'API minify(). | Niveaux d'optimisation : Le comportement est ajusté via les options compress, mangle, mangle-props et format. | Niveaux d'optimisation : L'option `--compilation_level` accepte les valeurs BUNDLE, WHITESPACE_ONLY, SIMPLE (par défaut) et ADVANCED. Le projet indique que le compilateur tire le meilleur parti de la réception de l'intégralité du code source en une seule fois, ce qui active le mode ADVANCED, et que les autres modes sont obsolètes. |
| Installation et automatisation : Aucune installation requise : le code est saisi directement dans le navigateur. La page ne contient aucune information sur son utilisation dans un pipeline de compilation. | Installation et automatisation : Installé avec npm, globalement pour la ligne de commande ou localement pour une utilisation programmatique, avec une version récente de Node.js. | Installation et automatisation : Installation via npm, globale ou locale. L'API propose les fonctions async minify() et minify_sync(). | Installation et automatisation : Disponible via npm (packages maintenus par un tiers, et non par Google), sous forme de version Maven précompilée, ou compilée à partir du code source, ce qui nécessite Java 21 ou une version ultérieure, Node.js, Git et Bazelisk. |
| Cartes sources : Les cartes sources sont activées avec --source-map sur la ligne de commande ou l'option sourceMap dans minify(), y compris la composition avec les cartes sources d'entrée. | Cartes sources : Les cartes sources sont activées avec `--source-map` ou `sourceMap`. Les options incluent `filename`, `url`, `root`, `content` et `includeSources`, et l'API renvoie la carte dans `result.map`. | |