Aucun bug d'espace invisible ne vous échappera grâce à cet outil CLI

Les demandes de fusion alourdies par des espaces fantômes en fin de ligne, les scripts shell qui échouent en CI à cause de sauts de ligne CRLF corrompus, ou un fichier .env dont la première variable disparaît sous un BOM UTF-8 : ce sont les gremlins invisibles qui transforment des modifications mineures en un flot interminable de différences. Jusqu’à aujourd’hui, les repérer exigeait de combiner trois ou quatre linteurs et crochets distincts. Désormais, il y a wssweep : une seule commande sans configuration qui détecte sept problèmes courants d’espaces et peut les corriger sur place.
Une commande, sept vérifications
L’exécution de npx wssweep src/app.js analyse un fichier pour y repérer les espaces en fin de ligne, les sauts de ligne mixtes, les retours chariot isolés, les nouvelles lignes finales manquantes, les lignes vides supplémentaires en fin de fichier, les octets BOM UTF-8 et les indentations mixtes. Un simple drapeau --fix applique les corrections et quitte le processus avec un code non nul si des modifications ont été apportées — idéal pour les portes de CI. Le même comportement est disponible via pip install wssweep en Python, produisant des rapports et des corrections identiques octet par octet dans les deux environnements.
Pourquoi les outils existants ne suffisent pas
La plupart des utilitaires se concentrent sur une partie du problème. Editorconfig-checker peut signaler les anomalies mais ne les corrige pas sans fichier .editorconfig. Les crochets trailing-whitespace, end-of-file-fixer et mixed-line-ending de Pre-commit ne fonctionnent qu’à l’intérieur du cadre pre-commit et ne peuvent être exécutés à la volée. Prettier reformate le code mais ignore les fichiers qu’il ne parvient pas à analyser. Dos2unix ne gère que les sauts de ligne. Wssweep combine ces sept vérifications en une seule commande et s’intègre à n’importe quelle chaîne de traitement sans configuration ni verrouillage de framework.
Des réglages par défaut judicieux, sans surprise
Comme un outil sans configuration doit prendre les bonnes décisions par défaut, wssweep ne signale que les sauts de ligne CRLF/LF mixtes, conserve intactes les lignes CRLF dans les fichiers .bat/cmd, et ignore la vérification des espaces en fin de ligne dans les fichiers Markdown pour préserver les sauts de ligne forcés. Les indentations mixtes sont signalées mais non modifiées — deviner la largeur des tabulations risquerait de détruire silencieusement l’alignement. En interne, l’outil évite les particularités spécifiques à une plateforme en traitant les octets bruts via une vue en latin-1, garantissant que les versions Node et Python s’accordent sur chaque octet lors de l’utilisation du drapeau --fix.
Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

