From 6e646336ae0da85018323729e7035b5f970b182b Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 16:11:00 +0000 Subject: [PATCH 01/14] chore: bump vite-task to 51e35ea --- Cargo.lock | 224 ++++++++++++++--------- Cargo.toml | 16 +- docs/config/run.md | 32 +++- packages/cli/binding/src/cli/handler.rs | 1 + packages/cli/binding/src/cli/resolver.rs | 6 + packages/cli/src/run-config.ts | 13 +- 6 files changed, 194 insertions(+), 98 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ead75a326b..7c2cca5a64 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -75,6 +75,21 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc43e46599f3d77fcf2f2ca89e4d962910b0c19c44e7b58679cbbdfd1820a662" +[[package]] +name = "anstream" +version = "0.6.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +dependencies = [ + "anstyle", + "anstyle-parse 0.2.7", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + [[package]] name = "anstream" version = "1.0.0" @@ -82,7 +97,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", - "anstyle-parse", + "anstyle-parse 1.0.0", "anstyle-query", "anstyle-wincon", "colorchoice", @@ -96,6 +111,15 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" +[[package]] +name = "anstyle-parse" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +dependencies = [ + "utf8parse", +] + [[package]] name = "anstyle-parse" version = "1.0.0" @@ -877,7 +901,7 @@ version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ - "anstream", + "anstream 1.0.0", "anstyle", "clap_lex", "strsim", @@ -1265,6 +1289,16 @@ dependencies = [ "dtor", ] +[[package]] +name = "ctor" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "378f0974ae2468eaf63aa036dbe9c926b0dc7ea64c156f2ea618bc2f75b934f0" +dependencies = [ + "link-section", + "linktime-proc-macro", +] + [[package]] name = "ctor-proc-macro" version = "0.0.7" @@ -1670,7 +1704,7 @@ version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a" dependencies = [ - "anstream", + "anstream 1.0.0", "anstyle", "env_filter", "log", @@ -1872,7 +1906,7 @@ dependencies = [ [[package]] name = "fspy" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "allocator-api2", "anyhow", @@ -1893,7 +1927,7 @@ dependencies = [ "nix 0.31.2", "ouroboros", "rustc-hash", - "sha2", + "sha2 0.11.0", "tar", "tempfile", "thiserror 2.0.18", @@ -1908,7 +1942,7 @@ dependencies = [ [[package]] name = "fspy_detours_sys" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "cc", "winapi", @@ -1917,11 +1951,11 @@ dependencies = [ [[package]] name = "fspy_preload_unix" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "anyhow", "bstr", - "ctor", + "ctor 1.0.5", "fspy_shared", "fspy_shared_unix", "libc", @@ -1932,7 +1966,7 @@ dependencies = [ [[package]] name = "fspy_preload_windows" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "constcat", "fspy_detours_sys", @@ -1948,7 +1982,7 @@ dependencies = [ [[package]] name = "fspy_seccomp_unotify" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "futures-util", "libc", @@ -1965,7 +1999,7 @@ dependencies = [ [[package]] name = "fspy_shared" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "allocator-api2", "bitflags 2.11.0", @@ -1984,7 +2018,7 @@ dependencies = [ [[package]] name = "fspy_shared_unix" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "anyhow", "base64 0.22.1", @@ -1994,7 +2028,7 @@ dependencies = [ "fspy_shared", "memmap2", "nix 0.31.2", - "phf 0.11.3", + "phf", "stackalloc", "wincode", ] @@ -2238,11 +2272,11 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +checksum = "ea0b22561a9c04a7cb1a302c013e0259cd3b4bb619f145b32f72b8b4bcbed230" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.16.1", ] [[package]] @@ -3047,9 +3081,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f" +checksum = "b1f111c8c41e7c61a49cd34e44c7619462967221a6443b0ec299e0ac30cfb9b1" dependencies = [ "cc", "pkg-config", @@ -3066,6 +3100,18 @@ dependencies = [ "version_check", ] +[[package]] +name = "link-section" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c8600ca3dbe044f07955b443ff606c50f45295b863289bbe7d0844d50cf11e4" + +[[package]] +name = "linktime-proc-macro" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44cd706ff0d503ee32b2071166510ca27e281228de10cd3aa8d35ff94560f81" + [[package]] name = "linux-raw-sys" version = "0.12.1" @@ -3109,7 +3155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1670343e58806300d87950e3401e820b519b9384281bbabfb15e3636689ffd69" dependencies = [ "crc", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -3124,7 +3170,7 @@ dependencies = [ [[package]] name = "materialized_artifact" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "tempfile", ] @@ -3132,7 +3178,7 @@ dependencies = [ [[package]] name = "materialized_artifact_build" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "xxhash-rust", ] @@ -3271,7 +3317,7 @@ checksum = "e6944d0bf100571cd6e1a98a316cdca262deb6fccf8d93f5ae1502ca3fc88bd3" dependencies = [ "anyhow", "bitflags 2.11.0", - "ctor", + "ctor 0.6.3", "futures", "indexmap", "napi-build", @@ -3297,7 +3343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c914b5e420182bfb73504e0607592cdb8e2e21437d450883077669fb72a114d" dependencies = [ "convert_case 0.11.0", - "ctor", + "ctor 0.6.3", "napi-derive-backend", "proc-macro2", "quote", @@ -3346,7 +3392,7 @@ dependencies = [ [[package]] name = "native_str" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "allocator-api2", "bytemuck", @@ -3851,7 +3897,7 @@ version = "0.128.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "340ac9cb05bc9963811e3dc1585b85618471cc339d0ab0072d097dd85d78d09e" dependencies = [ - "phf 0.13.1", + "phf", "proc-macro2", "quote", "syn 2.0.117", @@ -4127,7 +4173,7 @@ dependencies = [ "oxc_diagnostics", "oxc_span", "oxc_str", - "phf 0.13.1", + "phf", "rustc-hash", "unicode-id-start", ] @@ -4255,7 +4301,7 @@ dependencies = [ "oxc_index", "oxc_span", "oxc_str", - "phf 0.13.1", + "phf", "serde", "unicode-id-start", ] @@ -4489,37 +4535,17 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_macros 0.11.3", - "phf_shared 0.11.3", -] - [[package]] name = "phf" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ - "phf_macros 0.13.1", + "phf_macros", "phf_shared 0.13.1", "serde", ] -[[package]] -name = "phf_generator" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" -dependencies = [ - "phf_shared 0.11.3", - "rand 0.8.5", -] - [[package]] name = "phf_generator" version = "0.13.1" @@ -4530,26 +4556,13 @@ dependencies = [ "phf_shared 0.13.1", ] -[[package]] -name = "phf_macros" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", - "syn 2.0.117", -] - [[package]] name = "phf_macros" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" dependencies = [ - "phf_generator 0.13.1", + "phf_generator", "phf_shared 0.13.1", "proc-macro2", "quote", @@ -4805,7 +4818,7 @@ dependencies = [ [[package]] name = "pty_terminal_test_client" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" [[package]] name = "quote" @@ -5351,7 +5364,6 @@ name = "rolldown_devtools" version = "0.1.0" dependencies = [ "blake3", - "dashmap", "rolldown_devtools_action", "rustc-hash", "serde", @@ -5577,7 +5589,7 @@ name = "rolldown_plugin_oxc_runtime" version = "0.1.0" dependencies = [ "arcstr", - "phf 0.13.1", + "phf", "rolldown_plugin", "rolldown_utils", ] @@ -5974,11 +5986,21 @@ dependencies = [ "str_indices", ] +[[package]] +name = "rsqlite-vfs" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a1f2315036ef6b1fbacd1972e8ee7688030b0a2121edfc2a6550febd41574d" +dependencies = [ + "hashbrown 0.16.1", + "thiserror 2.0.18", +] + [[package]] name = "rusqlite" -version = "0.37.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165ca6e57b20e1351573e3729b958bc62f0e48025386970b6e4d29e7a7e71f3f" +checksum = "a0d2b0146dd9661bf67bb107c0bb2a55064d556eeb3fc314151b957f313bcd4e" dependencies = [ "bitflags 2.11.0", "fallible-iterator", @@ -5986,6 +6008,7 @@ dependencies = [ "hashlink", "libsqlite3-sys", "smallvec 1.15.1", + "sqlite-wasm-rs", ] [[package]] @@ -6413,6 +6436,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.2", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -6559,6 +6593,18 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "sqlite-wasm-rs" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b2c760607300407ddeaee518acf28c795661b7108c75421303dbefb237d3a36" +dependencies = [ + "cc", + "js-sys", + "rsqlite-vfs", + "wasm-bindgen", +] + [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -6703,9 +6749,9 @@ dependencies = [ [[package]] name = "syscalls" -version = "0.6.18" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d0e35dc7d73976a53c7e6d7d177ef804a0c0ee774ec77bcc520c2216fd7cbe" +checksum = "81c645a4de0d803ced6ef0388a2646aa1ef8467173b5d59a2c33c88de4ab76e7" [[package]] name = "tar" @@ -7483,7 +7529,7 @@ dependencies = [ [[package]] name = "vite_glob" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "thiserror 2.0.18", "vite_path", @@ -7524,7 +7570,7 @@ dependencies = [ [[package]] name = "vite_graph_ser" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "petgraph 0.8.3", "serde", @@ -7547,7 +7593,7 @@ dependencies = [ "serde", "serde_json", "sha1 0.10.6", - "sha2", + "sha2 0.10.9", "tar", "tempfile", "test-log", @@ -7592,7 +7638,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "tar", "tempfile", "thiserror 2.0.18", @@ -7623,7 +7669,7 @@ dependencies = [ [[package]] name = "vite_path" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "diff-struct", "path-clean", @@ -7654,7 +7700,7 @@ dependencies = [ [[package]] name = "vite_powershell" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "vite_path", "which", @@ -7663,7 +7709,7 @@ dependencies = [ [[package]] name = "vite_select" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "anyhow", "crossterm", @@ -7681,7 +7727,7 @@ dependencies = [ "node-semver", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "tar", "tempfile", "thiserror 2.0.18", @@ -7713,7 +7759,7 @@ dependencies = [ [[package]] name = "vite_shell" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "brush-parser 0.3.0 (git+https://github.com/reubeno/brush?rev=dcb760933b10ee0433d7b740a5709b06f5c67c6b)", "diff-struct", @@ -7740,7 +7786,7 @@ dependencies = [ [[package]] name = "vite_str" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "compact_str", "diff-struct", @@ -7751,8 +7797,9 @@ dependencies = [ [[package]] name = "vite_task" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ + "anstream 0.6.21", "anyhow", "async-trait", "clap", @@ -7770,11 +7817,14 @@ dependencies = [ "rustc-hash", "serde", "serde_json", + "supports-color 3.0.2", + "tar", "thiserror 2.0.18", "tokio", "tokio-util", "tracing", "twox-hash", + "uuid", "vite_path", "vite_select", "vite_str", @@ -7784,12 +7834,13 @@ dependencies = [ "wax 0.7.0", "winapi", "wincode", + "zstd", ] [[package]] name = "vite_task_graph" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "anyhow", "async-trait", @@ -7811,7 +7862,7 @@ dependencies = [ [[package]] name = "vite_task_plan" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "anyhow", "async-trait", @@ -7821,9 +7872,8 @@ dependencies = [ "petgraph 0.8.3", "rustc-hash", "serde", - "sha2", + "sha2 0.11.0", "shell-escape", - "supports-color 3.0.2", "thiserror 2.0.18", "tracing", "vite_glob", @@ -7844,7 +7894,7 @@ version = "0.0.0" [[package]] name = "vite_workspace" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=88bacaa770200ddab151dea252e04ba8cdcc4ade#88bacaa770200ddab151dea252e04ba8cdcc4ade" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" dependencies = [ "clap", "petgraph 0.8.3", @@ -8543,9 +8593,9 @@ dependencies = [ [[package]] name = "winsafe" -version = "0.0.24" +version = "0.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271ae8f63c109d73bc6fcf352b117166757fabcce6a769649ef18303dbf2491" +checksum = "bcfff8264c3af1b0352006934e2265365ecb5a145aee88e770dc8b82e0456f4f" [[package]] name = "wit-bindgen" diff --git a/Cargo.toml b/Cargo.toml index df9fcd2f3c..bc174cea8c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -89,7 +89,7 @@ dunce = "1.0.5" fast-glob = "1.0.0" flate2 = { version = "=1.1.9", features = ["zlib-rs"] } form_urlencoded = "1.2.1" -fspy = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } +fspy = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } futures = "0.3.31" futures-util = "0.3.31" glob = "0.3.2" @@ -150,7 +150,7 @@ reqwest = { version = "0.13", default-features = false } rolldown-notify = "10.2.0" rolldown-notify-debouncer-full = "0.7.5" ropey = "1.6.1" -rusqlite = { version = "0.37.0", features = ["bundled"] } +rusqlite = { version = "0.39.0", features = ["bundled"] } rustc-hash = "2.1.1" rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"] } schemars = "1.0.0" @@ -194,18 +194,18 @@ vfs = "0.13.0" vite_command = { path = "crates/vite_command" } vite_error = { path = "crates/vite_error" } vite_js_runtime = { path = "crates/vite_js_runtime" } -vite_glob = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } +vite_glob = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } vite_install = { path = "crates/vite_install" } vite_migration = { path = "crates/vite_migration" } vite_pm_cli = { path = "crates/vite_pm_cli" } vite_setup = { path = "crates/vite_setup" } vite_shared = { path = "crates/vite_shared" } vite_static_config = { path = "crates/vite_static_config" } -vite_path = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } -vite_powershell = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } -vite_str = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } -vite_task = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } -vite_workspace = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "88bacaa770200ddab151dea252e04ba8cdcc4ade" } +vite_path = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +vite_powershell = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +vite_str = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +vite_task = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +vite_workspace = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } walkdir = "2.5.0" wax = "0.6.0" which = "8.0.0" diff --git a/docs/config/run.md b/docs/config/run.md index c10114782d..d6668d5e8f 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** `TERM`, `COLORTERM`, `FORCE_COLOR`, `NO_COLOR` +- **Terminal:** `FORCE_COLOR` (auto-injected with value `1` so cached task output is always colored; colors are stripped at display time when the terminal does not support them). Other color-related variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) are not passed through by default — opt in via `env`/`untrackedEnv`. ### `input` @@ -233,6 +233,36 @@ tasks: { String glob patterns are resolved relative to the package directory by default. Use the object form with `base: "workspace"` to resolve relative to the workspace root. ::: +### `output` + +- **Type:** `Array` +- **Default:** `[]` (no output archiving) + +Files to archive after a successful task run and restore from the cache on a cache hit. When omitted or empty, no output archiving is performed. + +```ts [vite.config.ts] +tasks: { + build: { + command: 'vp build', + output: ['dist/**', '!dist/cache/**'], + }, +} +``` + +Use the object form with `base: "workspace"` to capture files outside the package directory: + +```ts [vite.config.ts] +tasks: { + build: { + command: 'vp build', + output: [ + 'dist/**', + { pattern: 'shared-artifacts/**', base: 'workspace' }, + ], + }, +} +``` + ### `cwd` - **Type:** `string` diff --git a/packages/cli/binding/src/cli/handler.rs b/packages/cli/binding/src/cli/handler.rs index 77d9096ef4..518305ac1a 100644 --- a/packages/cli/binding/src/cli/handler.rs +++ b/packages/cli/binding/src/cli/handler.rs @@ -67,6 +67,7 @@ impl CommandHandler for VitePlusCommandHandler { env: Some(Box::new([Str::from("OXLINT_TSGOLINT_PATH")])), untracked_env: None, input: Some(check_cache_inputs()), + output: None, }), ))) } diff --git a/packages/cli/binding/src/cli/resolver.rs b/packages/cli/binding/src/cli/resolver.rs index 5208fc7a42..0b6d05a4d9 100644 --- a/packages/cli/binding/src/cli/resolver.rs +++ b/packages/cli/binding/src/cli/resolver.rs @@ -116,6 +116,7 @@ impl SubcommandResolver { env: Some(Box::new([Str::from("OXLINT_TSGOLINT_PATH")])), untracked_env: None, input: None, + output: None, }), envs: merge_resolved_envs_with_version(envs, resolved.envs), }) @@ -151,6 +152,7 @@ impl SubcommandResolver { env: None, untracked_env: None, input: None, + output: None, }), envs: merge_resolved_envs_with_version(envs, resolved.envs), }) @@ -173,6 +175,7 @@ impl SubcommandResolver { env: Some(Box::new([Str::from("VITE_*")])), untracked_env: None, input: Some(build_pack_cache_inputs()), + output: None, }), envs: merge_resolved_envs_with_version(envs, resolved.envs), }) @@ -205,6 +208,7 @@ impl SubcommandResolver { InputBase::Package, ), ]), + output: None, }), envs: merge_resolved_envs_with_version(envs, resolved.envs), }) @@ -226,6 +230,7 @@ impl SubcommandResolver { env: None, untracked_env: None, input: Some(build_pack_cache_inputs()), + output: None, }), envs: merge_resolved_envs(envs, resolved.envs), }) @@ -283,6 +288,7 @@ impl SubcommandResolver { env: None, untracked_env: None, input: None, + output: None, }), envs: merge_resolved_envs(envs, resolved.envs), }) diff --git a/packages/cli/src/run-config.ts b/packages/cli/src/run-config.ts index 9c7852a91d..1fa4ee8687 100644 --- a/packages/cli/src/run-config.ts +++ b/packages/cli/src/run-config.ts @@ -53,7 +53,16 @@ untrackedEnv?: Array, * - `{auto: true}` enables automatic file tracking * - Negative patterns (e.g. `"!dist/**"`) exclude matched files */ -input?: Array, } | { +input?: Array, +/** + * Output files to archive after a successful run and restore on cache hit. + * + * - Omitted or `[]` (empty): no output archiving (default) + * - Glob patterns (e.g. `"dist/**"`) select specific output files, relative to the package directory + * - `{pattern: "...", base: "workspace" | "package"}` specifies a glob with an explicit base directory + * - Negative patterns (e.g. `"!dist/cache/**"`) exclude matched files + */ +output?: Array, } | { /** * Whether to cache the task */ @@ -91,7 +100,7 @@ cache?: UserGlobalCacheConfig, /** * Task definitions */ -tasks?: { [key in string]?: Task }, +tasks?: { [key in string]: Task }, /** * Whether to automatically run `preX`/`postX` package.json scripts as * lifecycle hooks when script `X` is executed. From cc4051567a780530659167a4472f4fae5607d5d9 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 16:15:16 +0000 Subject: [PATCH 02/14] docs: rephrase output and terminal env docs --- docs/config/run.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/config/run.md b/docs/config/run.md index d6668d5e8f..477980cd3f 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** `FORCE_COLOR` (auto-injected with value `1` so cached task output is always colored; colors are stripped at display time when the terminal does not support them). Other color-related variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) are not passed through by default — opt in via `env`/`untrackedEnv`. +- **Terminal:** `FORCE_COLOR` is set to `1` so cached output keeps its colors. When the terminal doesn't render them, colors get stripped on display. Other color variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) aren't passed through. If you need them, list them in `env` or `untrackedEnv`. ### `input` @@ -236,9 +236,9 @@ String glob patterns are resolved relative to the package directory by default. ### `output` - **Type:** `Array` -- **Default:** `[]` (no output archiving) +- **Default:** `[]` (nothing is archived) -Files to archive after a successful task run and restore from the cache on a cache hit. When omitted or empty, no output archiving is performed. +Files the task produces. They get archived after a successful run and restored on a cache hit, so you don't have to rebuild them. Leave it empty (or omit it) and nothing is archived. ```ts [vite.config.ts] tasks: { @@ -249,7 +249,7 @@ tasks: { } ``` -Use the object form with `base: "workspace"` to capture files outside the package directory: +If a task writes outside its own package, use the object form with `base: "workspace"`: ```ts [vite.config.ts] tasks: { From 5ac34c3f15b8fb91dde69d2f59d4cf5959472b1e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 16:27:24 +0000 Subject: [PATCH 03/14] test(snap): opt NO_COLOR into untrackedEnv for pass-no-color-env --- packages/cli/snap-tests/pass-no-color-env/vite.config.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/cli/snap-tests/pass-no-color-env/vite.config.ts b/packages/cli/snap-tests/pass-no-color-env/vite.config.ts index 5f95ceeb78..2f635fc500 100644 --- a/packages/cli/snap-tests/pass-no-color-env/vite.config.ts +++ b/packages/cli/snap-tests/pass-no-color-env/vite.config.ts @@ -1,5 +1,11 @@ export default { run: { cache: true, + tasks: { + check: { + command: 'node check.js', + untrackedEnv: ['NO_COLOR'], + }, + }, }, }; From 7068818fbffcbb3bcdc68511ed27ca70a593870b Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 16:31:59 +0000 Subject: [PATCH 04/14] test(snap): drop conflicting check script from pass-no-color-env --- packages/cli/snap-tests/pass-no-color-env/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/cli/snap-tests/pass-no-color-env/package.json b/packages/cli/snap-tests/pass-no-color-env/package.json index ea08c0566a..0967ef424b 100644 --- a/packages/cli/snap-tests/pass-no-color-env/package.json +++ b/packages/cli/snap-tests/pass-no-color-env/package.json @@ -1,5 +1 @@ -{ - "scripts": { - "check": "node check.js" - } -} +{} From bd47c97c6035658bee8bb74fa130facbb0d04cf5 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 16:37:13 +0000 Subject: [PATCH 05/14] test(snap): suppress node warning from FORCE_COLOR+NO_COLOR conflict --- packages/cli/snap-tests/pass-no-color-env/snap.txt | 4 ++-- packages/cli/snap-tests/pass-no-color-env/vite.config.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/snap-tests/pass-no-color-env/snap.txt b/packages/cli/snap-tests/pass-no-color-env/snap.txt index dab568862b..a9b69afe1c 100644 --- a/packages/cli/snap-tests/pass-no-color-env/snap.txt +++ b/packages/cli/snap-tests/pass-no-color-env/snap.txt @@ -1,9 +1,9 @@ > vp run check -- --foo # get NO_COLOR=true from default env -$ node check.js -- --foo +$ node --no-warnings check.js -- --foo NO_COLOR=true, CI=true > NO_COLOR=false vp run check -- --bar # get NO_COLOR=false from custom env -$ node check.js -- --bar +$ node --no-warnings check.js -- --bar NO_COLOR=false, CI=true diff --git a/packages/cli/snap-tests/pass-no-color-env/vite.config.ts b/packages/cli/snap-tests/pass-no-color-env/vite.config.ts index 2f635fc500..6c12b1d5c8 100644 --- a/packages/cli/snap-tests/pass-no-color-env/vite.config.ts +++ b/packages/cli/snap-tests/pass-no-color-env/vite.config.ts @@ -3,7 +3,7 @@ export default { cache: true, tasks: { check: { - command: 'node check.js', + command: 'node --no-warnings check.js', untrackedEnv: ['NO_COLOR'], }, }, From d2703ad55260cd324283a4493d0e5227fc5b9743 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 16:39:41 +0000 Subject: [PATCH 06/14] test(snap): remove pass-no-color-env (no longer relevant after vite-task bump) --- packages/cli/snap-tests/pass-no-color-env/check.js | 1 - .../cli/snap-tests/pass-no-color-env/package.json | 1 - packages/cli/snap-tests/pass-no-color-env/snap.txt | 9 --------- packages/cli/snap-tests/pass-no-color-env/steps.json | 6 ------ .../cli/snap-tests/pass-no-color-env/vite.config.ts | 11 ----------- 5 files changed, 28 deletions(-) delete mode 100644 packages/cli/snap-tests/pass-no-color-env/check.js delete mode 100644 packages/cli/snap-tests/pass-no-color-env/package.json delete mode 100644 packages/cli/snap-tests/pass-no-color-env/snap.txt delete mode 100644 packages/cli/snap-tests/pass-no-color-env/steps.json delete mode 100644 packages/cli/snap-tests/pass-no-color-env/vite.config.ts diff --git a/packages/cli/snap-tests/pass-no-color-env/check.js b/packages/cli/snap-tests/pass-no-color-env/check.js deleted file mode 100644 index aa2a75d8db..0000000000 --- a/packages/cli/snap-tests/pass-no-color-env/check.js +++ /dev/null @@ -1 +0,0 @@ -console.log('NO_COLOR=%s, CI=%s', process.env.NO_COLOR, process.env.CI); diff --git a/packages/cli/snap-tests/pass-no-color-env/package.json b/packages/cli/snap-tests/pass-no-color-env/package.json deleted file mode 100644 index 0967ef424b..0000000000 --- a/packages/cli/snap-tests/pass-no-color-env/package.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/packages/cli/snap-tests/pass-no-color-env/snap.txt b/packages/cli/snap-tests/pass-no-color-env/snap.txt deleted file mode 100644 index a9b69afe1c..0000000000 --- a/packages/cli/snap-tests/pass-no-color-env/snap.txt +++ /dev/null @@ -1,9 +0,0 @@ -> vp run check -- --foo # get NO_COLOR=true from default env -$ node --no-warnings check.js -- --foo -NO_COLOR=true, CI=true - - -> NO_COLOR=false vp run check -- --bar # get NO_COLOR=false from custom env -$ node --no-warnings check.js -- --bar -NO_COLOR=false, CI=true - diff --git a/packages/cli/snap-tests/pass-no-color-env/steps.json b/packages/cli/snap-tests/pass-no-color-env/steps.json deleted file mode 100644 index b13a1bc3ec..0000000000 --- a/packages/cli/snap-tests/pass-no-color-env/steps.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "commands": [ - "vp run check -- --foo # get NO_COLOR=true from default env", - "NO_COLOR=false vp run check -- --bar # get NO_COLOR=false from custom env" - ] -} diff --git a/packages/cli/snap-tests/pass-no-color-env/vite.config.ts b/packages/cli/snap-tests/pass-no-color-env/vite.config.ts deleted file mode 100644 index 6c12b1d5c8..0000000000 --- a/packages/cli/snap-tests/pass-no-color-env/vite.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -export default { - run: { - cache: true, - tasks: { - check: { - command: 'node --no-warnings check.js', - untrackedEnv: ['NO_COLOR'], - }, - }, - }, -}; From 7bd2ac59563359c3ee29f024a2a580c4ea6c8441 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:44:35 +0000 Subject: [PATCH 07/14] chore: bump vite-task to c63db22 --- Cargo.lock | 44 ++++++++++++++++++++++---------------------- Cargo.toml | 14 +++++++------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7c2cca5a64..8a84e67104 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1906,7 +1906,7 @@ dependencies = [ [[package]] name = "fspy" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "allocator-api2", "anyhow", @@ -1942,7 +1942,7 @@ dependencies = [ [[package]] name = "fspy_detours_sys" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "cc", "winapi", @@ -1951,7 +1951,7 @@ dependencies = [ [[package]] name = "fspy_preload_unix" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "anyhow", "bstr", @@ -1966,7 +1966,7 @@ dependencies = [ [[package]] name = "fspy_preload_windows" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "constcat", "fspy_detours_sys", @@ -1982,7 +1982,7 @@ dependencies = [ [[package]] name = "fspy_seccomp_unotify" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "futures-util", "libc", @@ -1999,7 +1999,7 @@ dependencies = [ [[package]] name = "fspy_shared" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "allocator-api2", "bitflags 2.11.0", @@ -2018,7 +2018,7 @@ dependencies = [ [[package]] name = "fspy_shared_unix" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "anyhow", "base64 0.22.1", @@ -3170,7 +3170,7 @@ dependencies = [ [[package]] name = "materialized_artifact" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "tempfile", ] @@ -3178,7 +3178,7 @@ dependencies = [ [[package]] name = "materialized_artifact_build" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "xxhash-rust", ] @@ -3392,7 +3392,7 @@ dependencies = [ [[package]] name = "native_str" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "allocator-api2", "bytemuck", @@ -4818,7 +4818,7 @@ dependencies = [ [[package]] name = "pty_terminal_test_client" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" [[package]] name = "quote" @@ -7529,7 +7529,7 @@ dependencies = [ [[package]] name = "vite_glob" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "thiserror 2.0.18", "vite_path", @@ -7570,7 +7570,7 @@ dependencies = [ [[package]] name = "vite_graph_ser" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "petgraph 0.8.3", "serde", @@ -7669,7 +7669,7 @@ dependencies = [ [[package]] name = "vite_path" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "diff-struct", "path-clean", @@ -7700,7 +7700,7 @@ dependencies = [ [[package]] name = "vite_powershell" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "vite_path", "which", @@ -7709,7 +7709,7 @@ dependencies = [ [[package]] name = "vite_select" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "anyhow", "crossterm", @@ -7759,7 +7759,7 @@ dependencies = [ [[package]] name = "vite_shell" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "brush-parser 0.3.0 (git+https://github.com/reubeno/brush?rev=dcb760933b10ee0433d7b740a5709b06f5c67c6b)", "diff-struct", @@ -7786,7 +7786,7 @@ dependencies = [ [[package]] name = "vite_str" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "compact_str", "diff-struct", @@ -7797,7 +7797,7 @@ dependencies = [ [[package]] name = "vite_task" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "anstream 0.6.21", "anyhow", @@ -7840,7 +7840,7 @@ dependencies = [ [[package]] name = "vite_task_graph" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "anyhow", "async-trait", @@ -7862,7 +7862,7 @@ dependencies = [ [[package]] name = "vite_task_plan" version = "0.1.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "anyhow", "async-trait", @@ -7894,7 +7894,7 @@ version = "0.0.0" [[package]] name = "vite_workspace" version = "0.0.0" -source = "git+https://github.com/voidzero-dev/vite-task.git?rev=51e35ea09bd75542d6183f37d38376406d20f5eb#51e35ea09bd75542d6183f37d38376406d20f5eb" +source = "git+https://github.com/voidzero-dev/vite-task.git?rev=c63db22ff0258e4e45f03205104838ab795161ac#c63db22ff0258e4e45f03205104838ab795161ac" dependencies = [ "clap", "petgraph 0.8.3", diff --git a/Cargo.toml b/Cargo.toml index bc174cea8c..6756d07313 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -89,7 +89,7 @@ dunce = "1.0.5" fast-glob = "1.0.0" flate2 = { version = "=1.1.9", features = ["zlib-rs"] } form_urlencoded = "1.2.1" -fspy = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +fspy = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } futures = "0.3.31" futures-util = "0.3.31" glob = "0.3.2" @@ -194,18 +194,18 @@ vfs = "0.13.0" vite_command = { path = "crates/vite_command" } vite_error = { path = "crates/vite_error" } vite_js_runtime = { path = "crates/vite_js_runtime" } -vite_glob = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +vite_glob = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } vite_install = { path = "crates/vite_install" } vite_migration = { path = "crates/vite_migration" } vite_pm_cli = { path = "crates/vite_pm_cli" } vite_setup = { path = "crates/vite_setup" } vite_shared = { path = "crates/vite_shared" } vite_static_config = { path = "crates/vite_static_config" } -vite_path = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } -vite_powershell = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } -vite_str = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } -vite_task = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } -vite_workspace = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "51e35ea09bd75542d6183f37d38376406d20f5eb" } +vite_path = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } +vite_powershell = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } +vite_str = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } +vite_task = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } +vite_workspace = { git = "https://github.com/voidzero-dev/vite-task.git", rev = "c63db22ff0258e4e45f03205104838ab795161ac" } walkdir = "2.5.0" wax = "0.6.0" which = "8.0.0" From 327688b0ebae2ce95899dfd4f623aeaced005c55 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:47:24 +0000 Subject: [PATCH 08/14] docs: rephrase output and terminal env passages --- docs/config/run.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/config/run.md b/docs/config/run.md index 477980cd3f..cbdbc5ace7 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** `FORCE_COLOR` is set to `1` so cached output keeps its colors. When the terminal doesn't render them, colors get stripped on display. Other color variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) aren't passed through. If you need them, list them in `env` or `untrackedEnv`. +- **Terminal:** `FORCE_COLOR` is set to `1` so cached output keeps its colors. If the terminal can't show them, they're stripped at display time. The other color variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) don't come along by default. If your task needs them, add them under `env` or `untrackedEnv`. ### `input` @@ -238,7 +238,7 @@ String glob patterns are resolved relative to the package directory by default. - **Type:** `Array` - **Default:** `[]` (nothing is archived) -Files the task produces. They get archived after a successful run and restored on a cache hit, so you don't have to rebuild them. Leave it empty (or omit it) and nothing is archived. +Files the task produces. Once a run finishes successfully, they're stashed in the cache. On the next cache hit they're put back, so you don't have to rebuild them. Leave it empty (or omit it) and nothing is stashed. ```ts [vite.config.ts] tasks: { @@ -249,7 +249,7 @@ tasks: { } ``` -If a task writes outside its own package, use the object form with `base: "workspace"`: +If the task writes somewhere outside its own package, reach for the object form with `base: "workspace"`: ```ts [vite.config.ts] tasks: { From 0c34045a88ccc29847e55d2fca686bcc6fc3143e Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:48:30 +0000 Subject: [PATCH 09/14] docs: clarify FORCE_COLOR is a fallback that can be overridden --- docs/config/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/run.md b/docs/config/run.md index cbdbc5ace7..ff1cb35ec8 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** `FORCE_COLOR` is set to `1` so cached output keeps its colors. If the terminal can't show them, they're stripped at display time. The other color variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) don't come along by default. If your task needs them, add them under `env` or `untrackedEnv`. +- **Terminal:** `FORCE_COLOR` falls back to `1` so cached output stays colored. If the terminal can't show colors, they're stripped at display time. You can override `FORCE_COLOR` in your own env, and you can opt other color variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) in via `env` or `untrackedEnv` if your task needs them. ### `input` From dfdeef8a1b060617db44a4716060423fda4e381b Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:49:34 +0000 Subject: [PATCH 10/14] docs: describe color env config uniformly --- docs/config/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/run.md b/docs/config/run.md index ff1cb35ec8..de34bb470a 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** `FORCE_COLOR` falls back to `1` so cached output stays colored. If the terminal can't show colors, they're stripped at display time. You can override `FORCE_COLOR` in your own env, and you can opt other color variables (`NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) in via `env` or `untrackedEnv` if your task needs them. +- **Terminal:** `FORCE_COLOR` falls back to `1` so cached output stays colored, and colors are stripped on display when the terminal can't show them. To configure any of the color variables (`FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`), list them under your task's `env` or `untrackedEnv`. ### `input` From 926e9a2c3bed2e778f8a6e9ff3fc4052dd913389 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:51:28 +0000 Subject: [PATCH 11/14] docs: rewrite color env section without 'configure' or 'falls back' --- docs/config/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/run.md b/docs/config/run.md index de34bb470a..09106b4578 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** `FORCE_COLOR` falls back to `1` so cached output stays colored, and colors are stripped on display when the terminal can't show them. To configure any of the color variables (`FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`), list them under your task's `env` or `untrackedEnv`. +- **Terminal:** Color variables aren't passed through automatically. To pass any of `FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, or `TERM_PROGRAM` to a task, list it under `env` (the value is fingerprinted, so a change invalidates the cache) or `untrackedEnv` (passed through without fingerprinting). If neither the parent env nor the task sets `FORCE_COLOR`, it's set to `1` on the child so cached output stays colored. The reporter strips colors on display when the terminal can't render them. ### `input` From 615afb90850ed63611b8be23df9305803e88f7c1 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:52:28 +0000 Subject: [PATCH 12/14] docs: tie FORCE_COLOR default sentence to env/untrackedEnv --- docs/config/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/run.md b/docs/config/run.md index 09106b4578..ebd75ee5f8 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** Color variables aren't passed through automatically. To pass any of `FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, or `TERM_PROGRAM` to a task, list it under `env` (the value is fingerprinted, so a change invalidates the cache) or `untrackedEnv` (passed through without fingerprinting). If neither the parent env nor the task sets `FORCE_COLOR`, it's set to `1` on the child so cached output stays colored. The reporter strips colors on display when the terminal can't render them. +- **Terminal:** Color variables aren't passed through automatically. To pass any of `FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, or `TERM_PROGRAM` to a task, list it under `env` (the value is fingerprinted, so a change invalidates the cache) or `untrackedEnv` (passed through without fingerprinting). When no `FORCE_COLOR` value comes through `env` or `untrackedEnv`, the child gets `FORCE_COLOR=1` so cached output stays colored. The reporter strips colors on display when the terminal can't render them. ### `input` From f3f630c5feff1c29444caaf21088a15fcde11dbc Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 01:55:36 +0000 Subject: [PATCH 13/14] docs: use simpler verbs in color env section --- docs/config/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/run.md b/docs/config/run.md index ebd75ee5f8..422120dbd8 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** Color variables aren't passed through automatically. To pass any of `FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, or `TERM_PROGRAM` to a task, list it under `env` (the value is fingerprinted, so a change invalidates the cache) or `untrackedEnv` (passed through without fingerprinting). When no `FORCE_COLOR` value comes through `env` or `untrackedEnv`, the child gets `FORCE_COLOR=1` so cached output stays colored. The reporter strips colors on display when the terminal can't render them. +- **Terminal:** Color variables don't reach your task on their own. To pass `FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, or `TERM_PROGRAM`, add it to `env` (the value gets fingerprinted, so changing it invalidates the cache) or `untrackedEnv` (passed without fingerprinting). If `FORCE_COLOR` isn't in either list, the child gets `FORCE_COLOR=1` so cached output stays colored. Colors get stripped on display when the terminal can't render them. ### `input` From 048387e3644f63b50705c821eebd9d6ca9373c4a Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 02:01:33 +0000 Subject: [PATCH 14/14] docs: refine color env wording and revert output field rephrase --- docs/config/run.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/config/run.md b/docs/config/run.md index 422120dbd8..b6e3fc8d0c 100644 --- a/docs/config/run.md +++ b/docs/config/run.md @@ -167,7 +167,7 @@ A set of common environment variables are automatically passed through to all ta - **System:** `HOME`, `USER`, `PATH`, `SHELL`, `LANG`, `TZ` - **Node.js:** `NODE_OPTIONS`, `COREPACK_HOME`, `PNPM_HOME` - **CI/CD:** `CI`, `VERCEL_*`, `NEXT_*` -- **Terminal:** Color variables don't reach your task on their own. To pass `FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, or `TERM_PROGRAM`, add it to `env` (the value gets fingerprinted, so changing it invalidates the cache) or `untrackedEnv` (passed without fingerprinting). If `FORCE_COLOR` isn't in either list, the child gets `FORCE_COLOR=1` so cached output stays colored. Colors get stripped on display when the terminal can't render them. +- **Terminal:** Color variables (`FORCE_COLOR`, `NO_COLOR`, `COLORTERM`, `TERM`, `TERM_PROGRAM`) aren't passed to tasks unless you list them under `env` (the value gets fingerprinted, so changing it invalidates the cache) or `untrackedEnv` (passed without fingerprinting). If `FORCE_COLOR` isn't in either list, the child gets `FORCE_COLOR=1` so cached logs stay colored. Colors get stripped on display when the terminal can't render them. ### `input` @@ -238,7 +238,7 @@ String glob patterns are resolved relative to the package directory by default. - **Type:** `Array` - **Default:** `[]` (nothing is archived) -Files the task produces. Once a run finishes successfully, they're stashed in the cache. On the next cache hit they're put back, so you don't have to rebuild them. Leave it empty (or omit it) and nothing is stashed. +Files the task produces. They get archived after a successful run and restored on a cache hit, so you don't have to rebuild them. Leave it empty (or omit it) and nothing is archived. ```ts [vite.config.ts] tasks: { @@ -249,7 +249,7 @@ tasks: { } ``` -If the task writes somewhere outside its own package, reach for the object form with `base: "workspace"`: +If a task writes outside its own package, use the object form with `base: "workspace"`: ```ts [vite.config.ts] tasks: {