23 releases
0.2.11 | Oct 8, 2024 |
---|---|
0.2.10 | Oct 5, 2024 |
0.2.7 | Sep 27, 2024 |
0.1.9 | Sep 22, 2024 |
#1034 in Command line utilities
33KB
729 lines
RustyWatch
Live Reloading Built with Rust
Inspired by Go Air, RustyWatch provides powerful live reloading capabilities designed for developers working across various programming languages.
Features
- Universal Live Reloading: Seamlessly supports live reloading for any programming language.
- Real-time Binary Reloading: Automatically reloads your binaries in real-time.
- Monorepo Development Support: Effortlessly manage monorepo projects with built-in support.
- Multi-Project Execution: Run multiple projects concurrently with a single command.
- Optimized Build Process: Efficient and highly optimized for faster builds and reloading.
- Automatic Directory Monitoring: Detects and tracks new directories without manual intervention.
- Enhanced Logging: Enjoy colorful and detailed log outputs for easier debugging and monitoring.
Install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install rustywatch
Usage
To start the project, ensure you have a rustywatch.yaml
configuration file in the root directory of your project. Then, run the CLI from the root directory to launch RustyWatch.
Configuration
The default configuration file is named rustywatch.yaml
, and it must be located in your project's root directory. For a reference configuration, please see the example below:
# define workspaces, rustywatch can be handled multi project at the same time.
workspaces:
# first project binary apps
- dir: 'golang-project' # define path directory
cmd: # define command to build binary
- cp ./golang-project/.env .env
- |
cd ./golang-project;
go build main.go
bin_path: './golang-projec/main' # define path for binary location
bin_arg: # define arguments
- server
ignore:
- '.git'
# second project binary apps
- dir: 'rust-project'
cmd:
- |
cd ./rust-project;
cargo build
bin_path: './rust-project/target/debug/rust-project'
# third project non binary apps
- dir: 'nodejs-project'
cmd: 'cd nodejs-project;npm run dev'
# more ...
# list directories
ls
.
└── your-project/
├── go-project/
│ ├── go.mod
│ ├── go.sum
│ └── main.go
├── rust-project/
│ ├── src/
│ │ └── main.rs
│ ├── Cargo.toml
│ └── Cargo.lock
├── nodejs-project/
│ ├── index.js
│ ├── package.json
│ └── package-lock.json
└── rustywatch.yaml (config here)
Run the project
rustywatch
Help
rustywatch --help
Update version
cargo install rustywatch
Support languages
- Go
- Rust
- Bun
- Node.js
- (more)
Star History
License
MIT & Apache-2.0
Dependencies
~7–16MB
~205K SLoC