Conversation
Replace tsdown, vitest, oxfmt, and turbo with vite-plus unified toolchain. - tsdown -> vp pack, vitest -> vp test, oxfmt -> vp fmt, turbo -> vp run - Merge tsdown.config.ts + vitest.config.ts into vite.config.ts (pack/test blocks) - Merge .oxfmtrc.json into vite.config.ts fmt block - Rewrite test imports from "vitest" to "vite-plus/test" (156 files) - Replace turbo.json task graph with vp run -r and explicit dependency chains - Add pnpm catalog for vite/vitest/vite-plus version management - Add explicit entry points to knip.json (tsdown plugin no longer auto-detects) - Retain .oxlintrc.json (vp lint does not read vite.config.ts lint block yet)
…ange - Update .oxlintrc.json files to reference vite.config.ts instead of removed tsdown.config.ts and vitest.config.ts - Revert drive-by removal of null coalescing guard in label.ts
- Replace turbo run with vp run in all GitHub Actions workflows - Update CLAUDE.md, README.md, getting-started.md, testing.md to reference vp commands instead of turbo - Remove .turbo from .gitignore (vp cache is in node_modules/.vite/)
|
commit: |
📖 Docs Consistency Check
|
| File | Issue | Suggested Fix |
|---|---|---|
packages/sdk/src/cli/commands/secret/check-vault-managed.test.ts:1 |
Still imports from "vitest" instead of "vite-plus/test" | Change import { describe, test, expect, vi, beforeEach } from "vitest"; to import { describe, test, expect, vi, beforeEach } from "vite-plus/test"; |
Details
Import inconsistency in test file
File: packages/sdk/src/cli/commands/secret/check-vault-managed.test.ts
- Current (line 1):
import { describe, test, expect, vi, beforeEach } from "vitest"; - Expected:
import { describe, test, expect, vi, beforeEach } from "vite-plus/test";
This is the only test file in the SDK that still imports from "vitest" directly. All other test files across the repository (packages/sdk, example, llm-challenge, and create-sdk templates) have been correctly updated to use "vite-plus/test" imports.
Verification
✅ Verified areas with no issues:
CLAUDE.md- Commands correctly referencevpCLI and vite-plusdocs/getting-started.md- Commands and pre-commit hooks correctly referencevpCLI toolsdocs/testing.md- Test configuration references correctvite.config.tsfileREADME.md- Development commands use correct tooling.claude/rules/schema-types.md- Workflow usespnpm checkinstead of turbolefthook.yml- Pre-commit hooks usevpcommands- Root
package.json- Scripts usevp run -rinstead ofturbo run packages/sdk/package.json- Scripts usevp test,vp pack,vp lint,vp fmtexample/package.json- Scripts usevp testandvp lint- All other test files in
packages/sdk,example,llm-challenge, andpackages/create-sdk/templates- Correctly import from "vite-plus/test" - pnpm catalog configuration - Correctly maps vitest to
@voidzero-dev/vite-plus-test - CI workflows - Use
vp run -rcommands
Recommended Actions
- Update the import statement in
packages/sdk/src/cli/commands/secret/check-vault-managed.test.tsto use "vite-plus/test" - Run
pnpm testto verify the fix works correctly
This comment has been minimized.
This comment has been minimized.
The -r (recursive) flag runs test in ALL workspace packages, unlike turbo which inferred package scope from the working directory. Without -r, vp run correctly scopes to the current package (packages/sdk). Also add a comment to test.yml documenting the -r scope behavior.
pnpm catalog: protocol only works inside the monorepo workspace. Scaffolded projects created by create-sdk would fail pnpm install with ERR_PNPM_CATALOG_ENTRY_NOT_FOUND_FOR_SPEC. Parse the catalog section from pnpm-workspace.yaml and replace catalog: specs with resolved values.
…typecheck - Change npx vitest to npx vp test in llm-challenge verify.ts since the aliased vitest package does not provide a vitest binary - Add generate step before typecheck/typecheck:go in root scripts to match the old turbo dependsOn: ["build", "generate"] pipeline - Document @vitest/coverage-v8 version mismatch with vite-plus-test alias
# Conflicts: # .github/workflows/test.yml # pnpm-lock.yaml # turbo.json
Code Metrics Report (packages/sdk)
Details | | main (71333ca) | #792 (a9049fc) | +/- |
|--------------------|----------------|----------------|-------|
- | Coverage | 55.6% | 55.6% | -0.1% |
| Files | 322 | 322 | 0 |
| Lines | 10362 | 10361 | -1 |
- | Covered | 5768 | 5763 | -5 |
+ | Code to Test Ratio | 1:0.4 | 1:0.4 | +0.0 |
| Code | 60586 | 60593 | +7 |
+ | Test | 24442 | 24451 | +9 |Code coverage of files in pull request scope (81.5% → 80.6%)
SDK Configure Bundle Size
Runtime Performance
Type Performance (instantiations)
Reported by octocov |
Replace turbo + tsdown + oxfmt + oxlint (direct) + vitest with vite-plus (
vpCLI)Tool Mapping
turbo runvp run -rtsdownvp packvitestvp testoxfmtvp fmtoxlintvp lintMain Changes
vpCLI replacing turbo, tsdown, oxfmt, oxlint, vitestvite.config.ts(pack,test,fmtsections)vitesttovite-plus/testacross ~100 filesturbo runwithvp run -rin all CI workflows and root scriptsvitestto@voidzero-dev/vite-plus-testvia pnpm catalog for coverage peer compatibilityTURBO_HASHstripping from llm-challenge env sanitizerVerification
pnpm buildpnpm -C packages/sdk test:unitpnpm lintpnpm typecheck:gopnpm knippnpm format:checkpnpm publintNotes
run.taskscannot overlap with package.json script names, so dependency ordering uses&&chainingnode_modules/.vite/task-cache(no.turboequivalent in repo root)