Watchexec
Pengembangan perangkat lunak sering melibatkan menjalankan perintah yang sama berulang -ulang. Membosankan!
watchexec adalah alat yang sederhana dan mandiri yang menonton jalur dan menjalankan perintah setiap kali mendeteksi modifikasi.
Contoh Penggunaan Kasus:
- Secara otomatis menjalankan tes unit
- Jalankan Linters/Sintaks Pemeriksa
- Membangun kembali artefak
Fitur
- Doa dan penggunaan sederhana, tidak memerlukan baris perintah samar yang melibatkan
xargs - Berjalan di OS X, Linux, dan Windows
- Memantau direktori saat ini dan semua subdirektori untuk perubahan
- Menyatu dengan beberapa peristiwa sistem file menjadi satu, untuk editor yang menggunakan file swap/cadangan selama menabung
- Memuat file
.gitignore dan .ignore - Menggunakan kelompok proses untuk menjaga program forking
- Menyediakan jalur yang berubah dalam variabel lingkungan atau stdin
- Tidak memerlukan runtime bahasa, tidak terkait dengan bahasa atau ekosistem tertentu
- Dan banyak lagi!
Awal yang cepat
Tonton semua file JavaScript, CSS dan HTML di direktori saat ini dan semua subdirektori untuk perubahan, menjalankan npm run build ketika perubahan terdeteksi:
$ watchexec -e js,css,html npm run build
Hubungi/mulai ulang python server.py saat ada file python di direktori saat ini (dan semua subdirektori) berubah:
$ watchexec -r -e py -- python server.py
Contoh Penggunaan Lebih Lanjut: Dalam CLI Readme!
Memasang
- Dengan manajer paket Anda untuk Arch, Debian, Homebrew, Nix, Scoop, Chocolatey…
- Dari Binary With Binstall:
cargo binstall watchexec-cli - Sebagai paket biner pra-built dari github
- Dari Source With Cargo:
cargo install --locked watchexec-cli
Semua opsi secara detail: Di CLI Readme, dalam bantuan online ( watchexec -h , watchexec --help , atau watchexec --manual ), dan di halaman manual.
Menambah
Watchexec berpasangan dengan baik dengan:
- Checkexec: Untuk menjalankan hanya ketika file sumber lebih baru dari file target
- hanya: alternatif modern untuk
make - SystemFD: Socket-Passing dalam Pengembangan
Memperpanjang
- Watchexec Library: Untuk membuat alat Watchexec-bertenaga yang lebih khusus.
- Watchexec-Events: Jenis acara untuk Watchexec.
- WatchExec-Signals: Jenis Sinyal untuk Watchexec.
- Watchexec-Supervisor: Process Lifecycle Manager (bagian eksekutif Watchexec).
- ClearScreen: Untuk menghapus layar (terminal) di setiap platform.
- Grup Perintah: Untuk menjalankan perintah dalam grup proses.
- Abaikan file: Untuk menemukan, parse, dan interpretasikan abaikan file.
- Proyek Asal: Untuk menemukan direktori asal suatu proyek.
- Beri tahu: Untuk menanggapi modifikasi file (pihak ketiga).
Hilir
Dipilih hilir Watchexec dan Crates Terkait:
- CARGO WATCH: Pengamat khusus untuk proyek karat/kargo.
- Cargo Lambda: Alat pengembang untuk fungsi AWS Lambda bertenaga karat.
- Create-Rust-App: Template untuk Aplikasi Web Rust+React.
- Dotter: Manajer Dotfile.
- GhciWatch: Pengamat khusus untuk Proyek Haskell.
- Tektonik: Sistem pengaturan huruf TEX/LATEX.