Documentation

Workspace frontend

Lancez un petit workspace frontend avec plusieurs serveurs de dev et une readiness basée sur les logs.

Quand utiliser cet exemple

Utilisez cette forme quand un projet frontend a plusieurs commandes longues à lancer ensemble: une app publique, une app backoffice et un watcher de génération de code ou Relay.

Exemple

[global]
disable_color_env = true
log_mode = "both"

[[process]]
name = "public"
command = "npm run dev:public"

[process.readiness]
type = "log"

[process.readiness.ready]
pattern = ".*ready in.*"

[[process]]
name = "backoffice"
command = "npm run dev:backoffice"

[process.readiness]
type = "log"

[process.readiness.ready]
pattern = ".*ready in.*"

[[process]]
name = "relay"
command = "npm run relay:watch"

[process.readiness]
type = "log"

[process.readiness.ready]
pattern = ".*compiled documents.*"

Pourquoi cela fonctionne

log_mode = "both" garde la TUI utile tout en conservant des logs fichiers pour inspection. Chaque processus déclare son propre motif de readiness, car les outils frontend impriment souvent des messages de démarrage différents.

disable_color_env = true aide quand les outils produisent des logs structurés ou parsés et que les séquences ANSI rendraient le matching ou le rendu moins fiables.

Valeurs par défaut utiles ici

  • log_format : défaut text
  • instances : défaut 1
  • show_timestamps : valeur effective par défaut true
  • ready.stream : défaut stdout
  • log_dir : défaut .vectron/logs

Ce qu’il faut personnaliser

  • Remplacez les commandes npm run ... par les scripts de votre package.
  • Adaptez les regex de readiness aux messages exacts imprimés par vos outils.
  • Ajoutez working_dir si les commandes démarrent depuis des dossiers différents.
  • Ajoutez port_env seulement si le processus enfant doit recevoir un port alloué par Vectron.

Voir aussi