Commit c4a3709
feat(cache): add explicit inputs config for cache fingerprinting
Add `inputs` field to task configuration supporting:
- Explicit glob patterns: `inputs: ["src/**/*.ts"]`
- Auto-inference from fspy: `inputs: [{ auto: true }]`
- Negative patterns: `inputs: ["src/**", "!**/*.test.ts"]`
- Mixed mode: `inputs: ["package.json", { auto: true }, "!dist/**"]`
- Empty array to disable file tracking: `inputs: []`
Key changes:
- Add `ResolvedInputConfig` to parse and normalize user input config
- Add `glob_inputs.rs` for walking glob patterns and hashing files
- Update `PreRunFingerprint` to include `input_config` and `glob_base`
- Bump cache DB version to 6 for new fingerprint structure
- Add comprehensive e2e tests for all input combinations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 389ca7a commit c4a3709
144 files changed
Lines changed: 3319 additions & 287 deletions
File tree
- crates
- fspy/src
- unix
- windows
- vite_task_bin
- src
- tests/e2e_snapshots/fixtures
- cache-miss-reasons
- snapshots
- glob-base-test
- other
- packages/sub-pkg
- other
- src
- snapshots
- src
- inputs-cache-test
- dist
- snapshots
- src
- test
- inputs-negative-glob-subpackage
- packages
- sub-pkg
- dist
- src
- snapshots
- vite_task_graph
- src/config
- vite_task_plan
- src
- tests/plan_snapshots/fixtures
- additional-envs/snapshots
- cache-cli-override/snapshots
- cache-keys/snapshots
- cache-scripts-default/snapshots
- cache-scripts-enabled/snapshots
- cache-scripts-task-override/snapshots
- cache-sharing/snapshots
- cache-subcommand/snapshots
- cache-tasks-disabled/snapshots
- cache-true-no-force-enable/snapshots
- cd-in-scripts/snapshots
- comprehensive-task-graph/snapshots
- conflict-test/snapshots
- cycle-dependency/snapshots
- dependency-both-topo-and-explicit/snapshots
- duplicate-package-names/snapshots
- empty-package-test/snapshots
- explicit-deps-workspace/snapshots
- filter-workspace/snapshots
- fingerprint-ignore-test/snapshots
- nested-cache-override/snapshots
- nested-tasks/snapshots
- pnpm-workspace-packages-optional/snapshots
- recursive-topological-workspace/snapshots
- shell-fallback/snapshots
- synthetic-cache-disabled/snapshots
- synthetic-in-subpackage/snapshots
- transitive-skip-intermediate/snapshots
- vpr-shorthand/snapshots
- workspace-root-cd-no-skip/snapshots
- workspace-root-depends-on-passthrough/snapshots
- workspace-root-multi-command/snapshots
- workspace-root-mutual-recursion/snapshots
- workspace-root-no-package-json/snapshots
- workspace-root-self-reference/snapshots
- vite_task
- src/session
- cache
- execute
- reporter
- docs
- packages/tools/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some 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 | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
| 78 | + | |
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
36 | | - | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
43 | 47 | | |
44 | 48 | | |
45 | 49 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | 42 | | |
49 | 43 | | |
50 | 44 | | |
| |||
70 | 64 | | |
71 | 65 | | |
72 | 66 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | 67 | | |
80 | 68 | | |
81 | 69 | | |
| |||
141 | 129 | | |
142 | 130 | | |
143 | 131 | | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | 132 | | |
159 | 133 | | |
160 | 134 | | |
| |||
196 | 170 | | |
197 | 171 | | |
198 | 172 | | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | 173 | | |
204 | 174 | | |
205 | 175 | | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
206 | 182 | | |
207 | 183 | | |
208 | 184 | | |
| |||
0 commit comments