Skip to content

Commit 8f3df59

Browse files
authored
Merge branch 'main' into feat/check-no-lint-typecheck
2 parents 3ba2f78 + 1cd6165 commit 8f3df59

269 files changed

Lines changed: 2636 additions & 2715 deletions

File tree

Some content is hidden

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

.github/workflows/ci.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
target: x86_64-unknown-linux-gnu
7777
- os: windows-latest
7878
target: x86_64-pc-windows-msvc
79-
- os: namespace-profile-mac-default
79+
- os: macos-latest
8080
target: aarch64-apple-darwin
8181
runs-on: ${{ matrix.os }}
8282
steps:
@@ -121,6 +121,13 @@ jobs:
121121
# Pin Rust tooling paths to avoid $HOME mismatch issues.
122122
CARGO_HOME: /root/.cargo
123123
RUSTUP_HOME: /root/.rustup
124+
# `-crt-static`: vite-task's `fspy_preload_unix` cdylib (unconditional
125+
# build-dep since voidzero-dev/vite-task#344) can't link against a
126+
# static musl libc. vite+ ships as a NAPI module that links musl libc
127+
# dynamically anyway, so matching here is correct.
128+
# Must mirror `.cargo/config.toml` rustflags — RUSTFLAGS env overrides
129+
# both [build] and [target.*] levels.
130+
RUSTFLAGS: --cfg tokio_unstable -C link-args=-Wl,--warn-unresolved-symbols -C target-feature=-crt-static
124131
steps:
125132
- name: Install Alpine dependencies
126133
shell: sh {0}
@@ -193,7 +200,7 @@ jobs:
193200
include:
194201
- os: namespace-profile-linux-x64-default
195202
target: x86_64-unknown-linux-gnu
196-
- os: namespace-profile-mac-default
203+
- os: macos-latest
197204
target: aarch64-apple-darwin
198205
- os: windows-latest
199206
target: x86_64-pc-windows-msvc
@@ -607,15 +614,15 @@ jobs:
607614
target: x86_64-unknown-linux-gnu
608615
shard: 3
609616
shardTotal: 3
610-
- os: namespace-profile-mac-default
617+
- os: macos-latest
611618
target: aarch64-apple-darwin
612619
shard: 1
613620
shardTotal: 3
614-
- os: namespace-profile-mac-default
621+
- os: macos-latest
615622
target: aarch64-apple-darwin
616623
shard: 2
617624
shardTotal: 3
618-
- os: namespace-profile-mac-default
625+
- os: macos-latest
619626
target: aarch64-apple-darwin
620627
shard: 3
621628
shardTotal: 3

.github/workflows/e2e-test.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,15 @@ jobs:
314314
node-version: 24
315315
command: |
316316
vp check --fix
317+
- name: varlet
318+
node-version: 22
319+
command: |
320+
# scripts/bootstrap.mjs spawns `pnpm build` via tinyexec and needs
321+
# pnpm on PATH (not exposed by the vp install itself).
322+
vp i -g pnpm
323+
node scripts/bootstrap.mjs
324+
vp run lint
325+
vp run test:coverage
317326
exclude:
318327
# frm-stack uses Docker (testcontainers) which doesn't work the same way on Windows
319328
- os: windows-latest
@@ -335,6 +344,10 @@ jobs:
335344
- os: windows-latest
336345
project:
337346
name: npmx.dev
347+
# varlet upstream CI is ubuntu-only
348+
- os: windows-latest
349+
project:
350+
name: varlet
338351

339352
steps:
340353
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

.github/workflows/release.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ jobs:
7676
steps:
7777
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7878
- uses: ./.github/actions/clone
79-
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
8079
- uses: oxc-project/setup-rust@23f38cfb0c04af97a055f76acee94d5be71c7c82 # v1.0.16
8180
with:
8281
save-cache: ${{ github.ref_name == 'main' }}
@@ -160,12 +159,12 @@ jobs:
160159
path: ./packages/cli/dist
161160
if-no-files-found: error
162161

163-
- name: Upload cli skills (docs for agent integration)
162+
- name: Upload cli docs
164163
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
165164
if: ${{ matrix.settings.target == 'x86_64-unknown-linux-gnu' }}
166165
with:
167-
name: cli-skills
168-
path: ./packages/cli/skills
166+
name: cli-docs
167+
path: ./packages/cli/docs
169168
if-no-files-found: error
170169

171170
- name: Upload LICENSE files
@@ -210,11 +209,11 @@ jobs:
210209
pattern: cli
211210
merge-multiple: true
212211

213-
- name: Download cli skills
212+
- name: Download cli docs
214213
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
215214
with:
216-
path: packages/cli/skills
217-
pattern: cli-skills
215+
path: packages/cli/docs
216+
pattern: cli-docs
218217
merge-multiple: true
219218

220219
- name: Download cli binding

.github/workflows/test-vp-create.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,16 +123,29 @@ jobs:
123123
create-args: vite:monorepo --directory test-project
124124
template-args: ''
125125
verify-command: vp run ready
126+
verify-migration: 'false'
126127
- name: application
127128
create-args: vite:application --directory test-project
128129
template-args: '-- --template vanilla-ts'
129130
verify-command: vp run build
131+
verify-migration: 'false'
130132
- name: library
131133
create-args: vite:library --directory test-project
132134
template-args: ''
133135
verify-command: |
134136
vp run build
135137
vp run test
138+
verify-migration: 'false'
139+
# Remote template that ships ESLint (+ an eslint.config.js importing
140+
# @eslint/js etc.). Exercises the migrate-before-rewrite reorder in
141+
# `vp create`: after scaffold, ESLint → oxlint and Prettier → oxfmt
142+
# run before the vite-plus rewrite so `.oxlintrc` / `.oxfmtrc` get
143+
# merged into vite.config.ts.
144+
- name: remote-vite-react-ts
145+
create-args: vite@9.0.5
146+
template-args: '-- test-project --template react-ts'
147+
verify-command: vp run build
148+
verify-migration: 'true'
136149
package-manager:
137150
- pnpm
138151
- npm
@@ -253,6 +266,41 @@ jobs:
253266
console.log('✓ vite-plus@' + pkg.version + ' installed correctly');
254267
"
255268
269+
- name: Verify ESLint/Prettier auto-migration
270+
if: matrix.template.verify-migration == 'true'
271+
working-directory: ${{ runner.temp }}/test-project
272+
run: |
273+
# eslint.config.js must be gone (migration deleted it)
274+
test ! -f eslint.config.js
275+
echo "✓ eslint.config.js removed"
276+
277+
# .oxlintrc.json must NOT be loose on disk — it was merged into
278+
# vite.config.ts by the rewrite step that runs after migration.
279+
test ! -f .oxlintrc.json
280+
echo "✓ .oxlintrc.json merged into vite.config.ts"
281+
282+
# vite.config.ts must contain the merged oxlint config.
283+
grep -q '^[[:space:]]*lint:' vite.config.ts
284+
echo "✓ vite.config.ts has merged lint section"
285+
286+
# package.json: eslint devDep removed, vite-plus present, lint script rewritten.
287+
node -e "
288+
const pkg = require('./package.json');
289+
if (pkg.devDependencies && pkg.devDependencies.eslint) {
290+
console.error('✗ eslint devDependency should have been removed');
291+
process.exit(1);
292+
}
293+
if (!pkg.devDependencies || !pkg.devDependencies['vite-plus']) {
294+
console.error('✗ vite-plus devDependency missing');
295+
process.exit(1);
296+
}
297+
if (!pkg.scripts || !pkg.scripts.lint || !pkg.scripts.lint.includes('vp lint')) {
298+
console.error('✗ lint script should invoke vp lint, got: ' + (pkg.scripts && pkg.scripts.lint));
299+
process.exit(1);
300+
}
301+
console.log('✓ package.json migrated (eslint gone, vite-plus added, lint script rewritten)');
302+
"
303+
256304
- name: Run vp check
257305
working-directory: ${{ runner.temp }}/test-project
258306
run: vp check

.github/workflows/upgrade-deps.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ jobs:
1212
if: github.event.repository.fork == false
1313
runs-on: ubuntu-latest
1414
permissions:
15-
contents: write
16-
pull-requests: write
1715
actions: read
1816
id-token: write
1917
steps:
2018
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
19+
with:
20+
persist-credentials: false
2121
- uses: ./.github/actions/clone
2222

2323
- name: Set up metadata directory
@@ -252,9 +252,15 @@ jobs:
252252
echo 'UPGRADE_DEPS_BODY_EOF'
253253
} >> "${GITHUB_OUTPUT}"
254254
255+
- uses: actions/create-github-app-token@1b10c78c7865c340bc4f6099eb2f838309f1e8c3 # v3.1.1
256+
id: app-token
257+
with:
258+
client-id: ${{ secrets.APP_ID }}
259+
private-key: ${{ secrets.APP_PRIVATE_KEY }}
260+
255261
- name: Close and delete previous PR
256262
env:
257-
GH_TOKEN: ${{ secrets.AUTO_UPDATE_BRANCH_TOKEN }}
263+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
258264
run: |
259265
# Find PR with the deps/upstream-update branch
260266
PR_NUMBER=$(gh pr list --head deps/upstream-update --json number --jq '.[0].number')
@@ -273,7 +279,6 @@ jobs:
273279
branch: deps/upstream-update
274280
title: 'feat(deps): upgrade upstream dependencies'
275281
sign-commits: true
276-
token: ${{ secrets.AUTO_UPDATE_BRANCH_TOKEN }}
277-
branch-token: ${{ secrets.GITHUB_TOKEN }}
282+
token: ${{ steps.app-token.outputs.token }}
278283
body: ${{ steps.pr-content.outputs.body }}
279284
commit-message: ${{ steps.pr-content.outputs.commit-message }}

0 commit comments

Comments
 (0)