Watchexec
Die Softwareentwicklung umfasst häufig immer wieder die gleichen Befehle. Langweilig!
watchexec ist ein einfaches eigenständiges Tool, das einen Pfad beobachtet und einen Befehl ausführt, wenn es Modifikationen erkennt.
Beispiel Anwendungsfälle:
- Führen Sie automatisch Unit -Tests aus
- Führen Sie Linter/Syntax -Prüfer aus
- Artefakte wieder aufbauen
Merkmale
- Einfacher Aufruf und Verwendung erfordert keine kryptische Befehlszeile mit
xargs - Läuft unter OS X, Linux und Windows
- Überwacht das aktuelle Verzeichnis und alle Unterverzeichnisse für Änderungen
- Vergleiche mehrere Dateisystemereignisse in eine, für Redakteure, die beim Speichern Swap-/Backup -Dateien verwenden
-
.ignore .gitignore - Verwendet Prozessgruppen, um Programmen zu bestehen
- Bietet die Pfade, die sich in Umgebungsvariablen oder Stdin geändert haben
- Erfordert keine Sprachlaufzeit, die nicht an eine bestimmte Sprache oder ein bestimmtes Ökosystem gebunden ist
- Und noch mehr!
Schneller Start
Sehen Sie sich alle JavaScript-, CSS- und HTML -Dateien im aktuellen Verzeichnis und alle Unterverzeichnisse für Änderungen an, wobei npm run build wird, wenn eine Änderung erkannt wird:
$ watchexec -e js,css,html npm run build
Rufen Sie/starten Sie python server.py neu, wenn eine Python -Datei im aktuellen Verzeichnis (und alle Unterverzeichnisse) ändert:
$ watchexec -r -e py -- python server.py
Weitere Nutzungsbeispiele: In der CLI Readme!
Installieren
- Mit Ihrem Paketmanager für Arch, Debian, Homebrew, Nix, Scoop, Chocolatey…
- Von Binary mit Binstall:
cargo binstall watchexec-cli - Als vorgefertigter Binärpaket von GitHub
- Von Quelle mit Fracht:
cargo install --locked watchexec-cli
Alle Optionen im Detail: In der CLI Readme, in der Online -Hilfe ( watchexec -h , watchexec --help oder watchexec --manual ) und auf der manuellen Seite.
Erweiterung
WatchExec passt gut mit:
- CHECKEXEC: Nur dann ausführen, wenn Quelldateien neuer sind als eine Zieldatei
- Nur: Eine moderne Alternative zum
make - Systemfd: Sockel-Passing in der Entwicklung
Verlängern
- WatchExec-Bibliothek: Erstellen mehr spezialisierte WatchExec-Tools.
- WatchExec-Events: Ereignisstypen für WatchExec.
- WatchExec-Signals: Signaltypen für WatchExec.
- WatchExec-supervisor: Process Lifecycle Manager ( Exec -Teil von WatchExec).
- Clearscreen: Um den (Terminal-) Bildschirm auf jeder Plattform zu löschen.
- Befehlsgruppe: Befehle in Prozessgruppen ausführen.
- Dateien ignorieren: Ignorieren Sie Dateien, um Dateien zu finden, zu analysieren und zu interpretieren.
- Project Origins: Finden Sie das Ursprungsverzeichnis eines Projekts.
- Benachrichtigen: Um auf Dateimodifikationen (Dritter) zu antworten.
Nachgelagerte
Ausgewählte nachgeschaltete WatchExec und zugehörige Kisten:
- Frachtuhr: Ein spezialisierter Beobachter für Rost/Frachtprojekte.
- Cargo Lambda: Ein Entwicklungswerkzeug für rostbetriebene AWS-Lambda-Funktionen.
- Erstellen von Rust-App: Eine Vorlage für Rost+React-Web-Apps.
- Dotter: Ein Dotfile -Manager.
- GHCIWATCH: Ein spezialisierter Beobachter für Haskell -Projekte.
- tektonisch: Ein Tex/Latex -Typ -Setting -System.