🗜️ Minify4U: eine VS-Code-Extension, die zwei andere ablöst

Ich arbeite in fast allen Projekten nach demselben Muster: Die Quellen liegen in einem files4u/-Ordner, und beim Speichern soll daraus automatisch eine minifizierte Fassung in einen assets/-Ordner wandern. Klingt simpel – war in VS Code aber ein Dauerärgernis.

Zwei Erweiterungen haben den Job bei mir bisher geteilt: MinifyAll fürs Minifizieren von JavaScript und CSS, der Live Sass Compiler fürs Kompilieren von SCSS. Beide für sich okay – aber keine der beiden hat das gemacht, was ich eigentlich wollte. Also habe ich mir mein eigenes Werkzeug geschrieben, das beide ersetzt: Minify4U.

🎯 Endlich ein frei wählbarer Ausgabeordner

Das war der Auslöser. MinifyAll konnte keinen Ausgabeordner angeben – es legte die .min.js stur neben die Quelldatei ab, statt sie dorthin zu schreiben, wo sie hingehört. Ergebnis: Auf der Live-Seite lief am Ende ein veralteter Stand, weil das eingebundene File woanders lag als das frisch minifizierte. Bei Minify4U lege ich pro Dateityp einen Zielordner fest – und das Speichern schreibt genau dorthin. Genau das 4u-Build-Muster, automatisiert.

đź§© Ein Tool fĂĽr alle Formate

Statt zweier Erweiterungen kümmert sich jetzt eine um alles. Minify4U erkennt den Dateityp und wählt automatisch das passende Werkzeug und die richtige Endung:

  • JavaScript → terser → .min.js
  • CSS → clean-css → .min.css
  • SCSS / Sass → Dart Sass (kompiliert und minifiziert) → .min.css
  • LESS → less + clean-css → .min.css
  • HTML → html-minifier-terser → .min.html
  • JSON → kompakt geschrieben → .min.json

Der Sass-Teil ist dabei der Grund, warum ich auch den separaten Compiler nicht mehr brauche: SCSS wird in einem Rutsch kompiliert und minifiziert.

🛡️ Kein .min.min.js mehr

Ein Detail, das mich vorher regelmäßig genervt hat: Bereits minifizierte Dateien wurden einfach nochmal durch die Mangel gedreht – aus app.min.js wurde app.min.min.js, und fertige Vendor-Bibliotheken wurden beim bloĂźen Ă–ffnen + Speichern verändert. Minify4U hat einen eingebauten Schutz: Was schon minifiziert ist (oder auf .min endet), wird erkannt und ĂĽbersprungen – mit einer klaren Meldung im Ausgabe-Log.

⚙️ Pro Projekt konfigurierbar

Ich arbeite oft mit Multi-Root-Workspaces – mehrere Projekte in einem Fenster, jedes mit eigener Ordnerstruktur. Deshalb liest Minify4U seine Einstellungen pro Datei: Jedes Projekt kann denselben Dateityp in einen anderen Ordner schreiben. Für den Normalfall gibt es je Sprache eine einfache Einstellung (nur der Zielordner), für Sonderfälle ein Regel-System mit eigenem Pfad, Suffix und Minifier. Spezifischer schlägt allgemeiner – wie man es erwartet.

đź”§ Nichts neu erfunden

Ein Grundsatz war mir wichtig: keinen eigenen Minifier basteln. Minify4U wrappt die bewährten, seit Jahren erprobten Standard-Tools der Web-Welt – terser, clean-css, Dart Sass und Co. Das heiĂźt weniger eigener Code, weniger eigene Bugs und Ergebnisse, denen man vertrauen kann.

Fazit

Aus einem konkreten Ă„rgernis – „warum kann ich nicht einfach den Ausgabeordner festlegen?“ – ist ein kleines, aufgeräumtes Werkzeug geworden, das gleich zwei Erweiterungen aus meinem Workflow ersetzt. Ein Speichern, richtiger Output, am richtigen Ort. 🚀

Minify4U ist Open Source (MIT) und kostenlos. Du findest es im VS Code Marketplace und den Quellcode auf GitHub.

Fragen, Wünsche oder ein Bug entdeckt? Melde dich gerne – einfach Kontakt aufnehmen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert