Commit 4aa6fdd
committed
feat: Remove daemon from watch mode, use in-process file watching
Replace the daemon gRPC IPC in turbo watch with in-process file watching
infrastructure. All watcher components (FileSystemWatcher, CookieWriter,
GlobWatcher, PackageWatcher, HashWatcher, PackageChangesWatcher) are
instantiated directly in WatchClient, eliminating the daemon dependency
for watch mode.
Key changes:
- Replace DaemonClient with OutputWatcher trait in RunCache/TaskCache
- Create InProcessOutputWatcher wrapping GlobWatcher
- Build full watcher stack in WatchClient::new()
- Pre-populate hash baselines at startup to prevent spurious rebuilds
- Wait for active runs to complete before processing new change events
- Make TUI start_task resilient to concurrent/out-of-order events
- Handle SIGINT as clean exit (exit code 0, no error message)
The daemon is still used by other consumers (turbo daemon CLI, LSP,
turbo info, diagnostics). This change only decouples watch mode.1 parent 0efbe30 commit 4aa6fdd
File tree
9 files changed
+683
-266
lines changed- crates
- turborepo-lib/src
- cli
- run
- turborepo-run-cache
- src
- turborepo-ui/src/tui
- turborepo/tests
9 files changed
+683
-266
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1727 | 1727 | | |
1728 | 1728 | | |
1729 | 1729 | | |
1730 | | - | |
1731 | | - | |
1732 | | - | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
1733 | 1739 | | |
1734 | | - | |
1735 | | - | |
| 1740 | + | |
| 1741 | + | |
1736 | 1742 | | |
1737 | 1743 | | |
1738 | 1744 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
441 | 441 | | |
442 | 442 | | |
443 | 443 | | |
444 | | - | |
445 | | - | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
446 | 448 | | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
447 | 465 | | |
448 | 466 | | |
449 | 467 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | 14 | | |
16 | 15 | | |
17 | 16 | | |
| |||
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
64 | | - | |
| 63 | + | |
65 | 64 | | |
66 | 65 | | |
67 | 66 | | |
68 | | - | |
| 67 | + | |
69 | 68 | | |
70 | 69 | | |
71 | 70 | | |
| |||
108 | 107 | | |
109 | 108 | | |
110 | 109 | | |
111 | | - | |
| 110 | + | |
112 | 111 | | |
113 | 112 | | |
114 | 113 | | |
| |||
118 | 117 | | |
119 | 118 | | |
120 | 119 | | |
121 | | - | |
122 | | - | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
123 | 125 | | |
124 | 126 | | |
125 | 127 | | |
| |||
471 | 473 | | |
472 | 474 | | |
473 | 475 | | |
474 | | - | |
| 476 | + | |
475 | 477 | | |
476 | 478 | | |
477 | 479 | | |
| |||
0 commit comments