Skip to content

Commit f3e5f39

Browse files
authored
Merge branch 'main' into fix-renovate
2 parents b33f6ed + 3c08bc5 commit f3e5f39

File tree

241 files changed

+5198
-1958
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

241 files changed

+5198
-1958
lines changed

.claude/skills/bump-vite-task/SKILL.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,23 @@ To update snap tests:
5959

6060
Snap test files are at `packages/cli/snap-tests/*/snap.txt` and `packages/cli/snap-tests-global/*/snap.txt`.
6161

62-
### 7. Create the PR
62+
### 7. Review changelog and update docs
63+
64+
- Fetch the vite-task `CHANGELOG.md` diff between old and new commits to see what changed:
65+
```
66+
https://raw.githubusercontent.com/voidzero-dev/vite-task/<new-hash>/CHANGELOG.md
67+
```
68+
- Review each changelog entry and determine if it affects user-facing behavior: new CLI options, changed defaults, new config fields, removed features, etc.
69+
- The changelog contains links to the corresponding vite-task PRs. For complex changes, check the PR description and code diff (especially any docs changes in the PR) to understand the full scope of the change.
70+
- If user-facing changes are found, update the relevant docs in `docs/` (e.g., `docs/guide/`, `docs/config/`).
71+
- Common doc updates include:
72+
- **New CLI flags/options**: Update the relevant config doc (e.g., `docs/config/run.md`, `docs/config/build.md`)
73+
- **New features or commands**: Add or update the relevant guide page (e.g., `docs/guide/cache.md`)
74+
- **Changed defaults or behavior**: Update any docs that describe the old behavior
75+
- **Removed/deprecated options**: Remove or mark as deprecated in the relevant docs
76+
- If no user-facing changes are found, skip this step.
77+
78+
### 8. Create the PR
6379

6480
- Commit message: `chore: bump vite-task to <short-hash>`
6581
- PR title: `chore: bump vite-task to <short-hash>`
@@ -68,7 +84,7 @@ Snap test files are at `packages/cli/snap-tests/*/snap.txt` and `packages/cli/sn
6884
https://github.com/voidzero-dev/vite-task/compare/<old-hash>...<new-hash>#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed
6985
```
7086

71-
### 8. Verify CI
87+
### 9. Verify CI
7288

7389
Wait for CI and ensure the `done` check passes. Key checks to monitor:
7490

.github/actions/build-upstream/action.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ runs:
2727
run: |
2828
echo "key=napi-binding-v3-${{ inputs.target }}-${{ env.RELEASE_BUILD }}-${{ env.DEBUG }}-${{ env.VERSION }}-${{ env.NPM_TAG }}-${{ hashFiles('packages/tools/.upstream-versions.json', 'Cargo.lock', 'crates/**/*.rs', 'crates/*/Cargo.toml', 'packages/cli/binding/**/*.rs', 'packages/cli/binding/Cargo.toml', 'Cargo.toml', '.cargo/config.toml', 'packages/cli/package.json', 'packages/cli/build.ts') }}" >> $GITHUB_OUTPUT
2929
30+
# Resolve the Rust target directory (CARGO_TARGET_DIR from setup-rust, or default "target")
31+
- name: Resolve Rust target directory
32+
id: rust-target
33+
shell: bash
34+
run: echo "dir=${CARGO_TARGET_DIR:-target}" >> $GITHUB_OUTPUT
35+
3036
# Cache NAPI bindings and Rust CLI binary (the slow parts, especially on Windows)
3137
- name: Restore NAPI binding cache
3238
id: cache-restore
@@ -38,9 +44,9 @@ runs:
3844
packages/cli/binding/index.d.ts
3945
packages/cli/binding/index.cjs
4046
packages/cli/binding/index.d.cts
41-
target/${{ inputs.target }}/release/vp
42-
target/${{ inputs.target }}/release/vp.exe
43-
target/${{ inputs.target }}/release/vp-shim.exe
47+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp
48+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp.exe
49+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp-shim.exe
4450
key: ${{ steps.cache-key.outputs.key }}
4551

4652
# Apply Vite+ branding patches to vite source (CI checks out
@@ -147,9 +153,9 @@ runs:
147153
packages/cli/binding/index.d.ts
148154
packages/cli/binding/index.cjs
149155
packages/cli/binding/index.d.cts
150-
target/${{ inputs.target }}/release/vp
151-
target/${{ inputs.target }}/release/vp.exe
152-
target/${{ inputs.target }}/release/vp-shim.exe
156+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp
157+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp.exe
158+
${{ steps.rust-target.outputs.dir }}/${{ inputs.target }}/release/vp-shim.exe
153159
key: ${{ steps.cache-key.outputs.key }}
154160

155161
# Build vite-plus TypeScript after native bindings are ready

.github/actions/clone/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ runs:
3131
node -e "console.log('ECOSYSTEM_CI_PROJECT_REPOSITORY=' + require('./ecosystem-ci/repo.json')['${{ inputs.ecosystem-ci-project }}'].repository.replace('https://github.com/', '').replace('.git', ''))" >> $GITHUB_OUTPUT
3232
echo "ECOSYSTEM_CI_PROJECT_PATH=${{ runner.temp }}/vite-plus-ecosystem-ci/${{ inputs.ecosystem-ci-project }}" >> $GITHUB_OUTPUT
3333
34-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
34+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3535
with:
3636
repository: rolldown/rolldown
3737
path: rolldown
3838
ref: ${{ steps.upstream-versions.outputs.ROLLDOWN_HASH }}
3939

40-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
40+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4141
with:
4242
repository: vitejs/vite
4343
path: vite

.github/workflows/ci.yml

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
outputs:
4545
code-changed: ${{ steps.filter.outputs.code }}
4646
steps:
47-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
47+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4848
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
4949
id: filter
5050
with:
@@ -60,7 +60,7 @@ jobs:
6060
contents: read
6161
packages: read
6262
steps:
63-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
63+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6464
- uses: ./.github/actions/download-rolldown-binaries
6565
with:
6666
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -80,7 +80,7 @@ jobs:
8080
target: aarch64-apple-darwin
8181
runs-on: ${{ matrix.os }}
8282
steps:
83-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
83+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8484
- uses: ./.github/actions/clone
8585

8686
- name: Setup Dev Drive
@@ -93,7 +93,7 @@ jobs:
9393
CARGO_HOME,{{ DEV_DRIVE }}/.cargo
9494
RUSTUP_HOME,{{ DEV_DRIVE }}/.rustup
9595
96-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
96+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
9797
with:
9898
save-cache: ${{ github.ref_name == 'main' }}
9999
cache-key: test
@@ -126,7 +126,7 @@ jobs:
126126
shell: sh {0}
127127
run: apk add --no-cache bash curl git musl-dev gcc g++ python3 cmake make
128128

129-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
129+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
130130
- uses: ./.github/actions/clone
131131

132132
- name: Install rustup
@@ -152,10 +152,10 @@ jobs:
152152
name: Lint
153153
runs-on: namespace-profile-linux-x64-default
154154
steps:
155-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
155+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
156156
- uses: ./.github/actions/clone
157157

158-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
158+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
159159
with:
160160
save-cache: ${{ github.ref_name == 'main' }}
161161
cache-key: lint
@@ -168,11 +168,11 @@ jobs:
168168
# cargo clippy --all-targets --all-features -- -D warnings
169169
# RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --document-private-items
170170
171-
- uses: crate-ci/typos@631208b7aac2daa8b707f55e7331f9112b0e062d # v1.44.0
171+
- uses: crate-ci/typos@02ea592e44b3a53c302f697cddca7641cd051c3d # v1.45.0
172172
with:
173173
files: .
174174

175-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
175+
- uses: oxc-project/setup-node@4c26e7cb3605b6bdef5450dacd02c434b10fd8ba # v1.2.0
176176

177177
- name: Install docs dependencies
178178
run: pnpm -C docs install --frozen-lockfile
@@ -196,7 +196,7 @@ jobs:
196196
target: x86_64-pc-windows-msvc
197197
runs-on: ${{ matrix.os }}
198198
steps:
199-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
199+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
200200
- uses: ./.github/actions/clone
201201

202202
- name: Setup Dev Drive
@@ -209,13 +209,13 @@ jobs:
209209
CARGO_HOME,{{ DEV_DRIVE }}/.cargo
210210
RUSTUP_HOME,{{ DEV_DRIVE }}/.rustup
211211
212-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
212+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
213213
with:
214214
save-cache: ${{ github.ref_name == 'main' }}
215215
cache-key: cli-e2e-test-${{ matrix.target }}
216216
target-dir: ${{ runner.os == 'Windows' && format('{0}/target', env.DEV_DRIVE) || '' }}
217217

218-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
218+
- uses: oxc-project/setup-node@4c26e7cb3605b6bdef5450dacd02c434b10fd8ba # v1.2.0
219219

220220
- name: Install docs dependencies
221221
run: pnpm -C docs install --frozen-lockfile
@@ -521,7 +521,16 @@ jobs:
521521
- name: Test implode (bash)
522522
shell: bash
523523
run: |
524-
vp implode --yes
524+
# Retry on Windows — file locks can cause transient "Access is denied" errors
525+
if [[ "$RUNNER_OS" == "Windows" ]]; then
526+
for i in 1 2 3; do
527+
vp implode --yes && break
528+
echo "Retry $i: vp implode failed, waiting 5s..."
529+
sleep 5
530+
done
531+
else
532+
vp implode --yes
533+
fi
525534
ls -la ~/
526535
VP_HOME="${USERPROFILE:-$HOME}/.vite-plus"
527536
if [ -d "$VP_HOME" ]; then
@@ -536,7 +545,13 @@ jobs:
536545
if: ${{ matrix.os == 'windows-latest' }}
537546
shell: pwsh
538547
run: |
539-
vp implode --yes
548+
# Retry — Windows file locks can cause transient "Access is denied" errors
549+
foreach ($i in 1..3) {
550+
vp implode --yes
551+
if ($LASTEXITCODE -eq 0) { break }
552+
Write-Host "Retry $i`: vp implode failed, waiting 5s..."
553+
Start-Sleep -Seconds 5
554+
}
540555
Start-Sleep -Seconds 5
541556
dir "$env:USERPROFILE\"
542557
if (Test-Path "$env:USERPROFILE\.vite-plus") {
@@ -550,9 +565,16 @@ jobs:
550565
if: ${{ matrix.os == 'windows-latest' }}
551566
shell: cmd
552567
run: |
568+
REM Retry — Windows file locks can cause transient "Access is denied" errors
553569
REM vp.exe renames its own parent directory; cmd.exe may report
554570
REM "The system cannot find the path specified" on exit — ignore it.
555-
vp implode --yes || ver >NUL
571+
for /L %%i in (1,1,3) do (
572+
vp implode --yes || ver >NUL
573+
if not exist "%USERPROFILE%\.vite-plus" goto implode_done
574+
echo Retry %%i: vp implode failed, waiting 5s...
575+
timeout /T 5 /NOBREAK >NUL
576+
)
577+
:implode_done
556578
timeout /T 5 /NOBREAK >NUL
557579
dir "%USERPROFILE%\"
558580
if exist "%USERPROFILE%\.vite-plus" (
@@ -608,7 +630,7 @@ jobs:
608630
shardTotal: 3
609631
runs-on: ${{ matrix.os }}
610632
steps:
611-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
633+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
612634
- uses: ./.github/actions/clone
613635

614636
- name: Setup Dev Drive
@@ -621,13 +643,13 @@ jobs:
621643
CARGO_HOME,{{ DEV_DRIVE }}/.cargo
622644
RUSTUP_HOME,{{ DEV_DRIVE }}/.rustup
623645
624-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
646+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
625647
with:
626648
save-cache: ${{ github.ref_name == 'main' }}
627649
cache-key: cli-snap-test-${{ matrix.target }}
628650
target-dir: ${{ runner.os == 'Windows' && format('{0}/target', env.DEV_DRIVE) || '' }}
629651

630-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
652+
- uses: oxc-project/setup-node@4c26e7cb3605b6bdef5450dacd02c434b10fd8ba # v1.2.0
631653

632654
- name: Install docs dependencies
633655
run: pnpm -C docs install --frozen-lockfile
@@ -666,15 +688,15 @@ jobs:
666688
- download-previous-rolldown-binaries
667689
runs-on: namespace-profile-linux-x64-default
668690
steps:
669-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
691+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
670692
- uses: ./.github/actions/clone
671693

672-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
694+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
673695
with:
674696
save-cache: ${{ github.ref_name == 'main' }}
675697
cache-key: cli-e2e-test-musl
676698

677-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
699+
- uses: oxc-project/setup-node@4c26e7cb3605b6bdef5450dacd02c434b10fd8ba # v1.2.0
678700

679701
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
680702
with:
@@ -745,15 +767,15 @@ jobs:
745767
github.event_name != 'pull_request' ||
746768
contains(github.event.pull_request.labels.*.name, 'test: install-e2e')
747769
steps:
748-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
770+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
749771
- uses: ./.github/actions/clone
750772

751-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
773+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
752774
with:
753775
save-cache: ${{ github.ref_name == 'main' }}
754776
cache-key: install-e2e-test
755777

756-
- uses: oxc-project/setup-node@fdbf0dfd334c4e6d56ceeb77d91c76339c2a0885 # v1.0.4
778+
- uses: oxc-project/setup-node@4c26e7cb3605b6bdef5450dacd02c434b10fd8ba # v1.2.0
757779

758780
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
759781
with:

.github/workflows/deny.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,21 @@ jobs:
2727
name: Cargo Deny
2828
runs-on: ubuntu-latest
2929
steps:
30-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
30+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3131
with:
3232
persist-credentials: false
3333

3434
- name: Output rolldown hash
3535
id: upstream-versions
3636
run: node -e "console.log('ROLLDOWN_HASH=' + require('./packages/tools/.upstream-versions.json').rolldown.hash)" >> $GITHUB_OUTPUT
3737

38-
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
38+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3939
with:
4040
repository: rolldown/rolldown
4141
path: rolldown
4242
ref: ${{ steps.upstream-versions.outputs.ROLLDOWN_HASH }}
4343

44-
- uses: oxc-project/setup-rust@d286d43bc1f606abbd98096666ff8be68c8d5f57 # v1.0.0
44+
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
4545
with:
4646
restore-cache: false
4747
# Pinned to 0.18.6+ for CVSS 4.0 support (EmbarkStudios/cargo-deny#805)

0 commit comments

Comments
 (0)