fix: limit hot-reload to usefull situations

This commit is contained in:
Florian Briand 2024-09-24 18:33:54 +02:00
parent 2ded18692d
commit 5f20c4b893
Signed by: florian_briand
GPG Key ID: CC981B9E6B98E70B
3 changed files with 8 additions and 4 deletions

View File

@ -75,7 +75,7 @@ Pour lancer l'application en mode développement, il est nécessaire d'exécuter
```bash ```bash
# Lancement du serveur backend # Lancement du serveur backend
systemfd --no-pid -s http::8080 -- cargo watch -x 'run --bin backend' systemfd --no-pid -s http::8080 -- cargo watch -w crates/backend -x 'run --bin backend'
``` ```
```bash ```bash
@ -83,9 +83,13 @@ systemfd --no-pid -s http::8080 -- cargo watch -x 'run --bin backend'
# - frontend (serveur web, accessible via navigateur) # - frontend (serveur web, accessible via navigateur)
bun run --cwd frontend/ dev bun run --cwd frontend/ dev
# - desktop (client desktop, basé sur Tauri) # - desktop (client desktop, basé sur Tauri)
cargo tauri dev cargo tauri dev --no-watch
``` ```
> Pour circonscrire les hot-reloads intempestifs mais peu utiles :
> - le `backend` n'est rechargé que si des modifications sont détectées dans le dossier précisé par `-w crates/backend`
> - le rechargement du `desktop` est désactivé par l'option `--no-watch` ; en effet, le rechargement du `frontend` est déjà pris en charge par `bun` et ne nécessite pas de rechargement du `desktop`
## Build ## Build
Pour packager le client `desktop`, il est nécessaire de faire appel à la CLI Tauri, qui se charge de gérer le build du `frontend` et son intégration au bundle : Pour packager le client `desktop`, il est nécessaire de faire appel à la CLI Tauri, qui se charge de gérer le build du `frontend` et son intégration au bundle :

View File

@ -8,6 +8,7 @@ anyhow = "1.0.89"
axum = { version = "0.7.6", features = ["macros"] } axum = { version = "0.7.6", features = ["macros"] }
listenfd = "1.0.1" listenfd = "1.0.1"
tokio = { version = "1.40.0", features = ["macros", "rt-multi-thread"] } tokio = { version = "1.40.0", features = ["macros", "rt-multi-thread"] }
tower-http = { version = "0.6.1", features = ["cors"] }
sea-orm = { workspace = true, features = [ sea-orm = { workspace = true, features = [
# Same `ASYNC_RUNTIME` and `DATABASE_DRIVER` as in the migration crate # Same `ASYNC_RUNTIME` and `DATABASE_DRIVER` as in the migration crate
@ -21,7 +22,6 @@ thiserror.workspace = true
entity = { path = "../../entity" } entity = { path = "../../entity" }
migration = { path = "../../migration" } migration = { path = "../../migration" }
utils = { path = "../utils" } utils = { path = "../utils" }
tower-http = { version = "0.6.1", features = ["cors"] }
[dev-dependencies] [dev-dependencies]
cargo-watch = "8.5.2" cargo-watch = "8.5.2"

View File

@ -24,5 +24,5 @@ ln -s ../../.env .env
Pour lancer le serveur en mode développement, exécutez la commande suivante : Pour lancer le serveur en mode développement, exécutez la commande suivante :
```bash ```bash
systemfd --no-pid -s http::8080 -- cargo watch -x 'run --bin backend' systemfd --no-pid -s http::8080 -- cargo watch -w crates/backend -x 'run --bin backend'
``` ```