CtrlK
BlogDocsLog inGet started
Tessl Logo

uinaf/viteplus

Migrate or align frontend repositories to the stock VitePlus workflow. Use when standardizing package or monorepo repos around `vp`, `voidzero-dev/setup-vp`, `vite-plus/test`, and VitePlus-native CI, test, and packaging flows, including updating scripts, test config, CI setup, and packaging commands.

98

1.73x
Quality

100%

Does it follow best practices?

Impact

97%

1.73x

Average score across 6 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

testing.mdreferences/

Testing

Use this reference when migrating tests to VitePlus-native usage.

Defaults

  • Import from vite-plus/test instead of vitest when migrating to VitePlus.
  • Browser-mode imports become vite-plus/test/browser/context instead of @vitest/browser/context.
  • Move coverage and test-command wiring together with script updates.
  • Verify both the default test pass and any coverage mode the repo actually depends on.
  • Use the built-in vp test family rather than attempting to invoke Vitest through a made-up subcommand.

Command Surface

  • vp test runs tests once. Unlike raw Vitest, it does not stay in watch mode by default.
  • vp test watch enters watch mode.
  • vp test run --coverage runs once with coverage; vp test run is the explicit non-watch form for CI.
  • Additional Vitest flags can be passed through after the subcommand (e.g. vp test run --reporter verbose).

Configuration

  • Put test config in the test block in vite.config.ts. Do not maintain a parallel vitest.config.ts once the repo is on VitePlus.
import { defineConfig } from 'vite-plus'

export default defineConfig({
  test: {
    include: ['src/**/*.test.ts'],
  },
})

Migration Diff

-import { describe, expect, it, vi } from 'vitest'
-const { page } = await import('@vitest/browser/context')
+import { describe, expect, it, vi } from 'vite-plus/test'
+const { page } = await import('vite-plus/test/browser/context')

After rewriting imports, remove the standalone vitest dependency. Keep the npm aliases on vite and vitest pointing at @voidzero-dev/vite-plus-core / @voidzero-dev/vite-plus-test.

Caveats

  • Adding @vitest/coverage-v8 to a VitePlus project can still produce a mixed-version warning during vp test run --coverage, even in a fresh stock scaffold. Treat that as a VitePlus limitation to verify and document, not as an automatic repo regression.
  • @cloudflare/vitest-pool-workers currently fails under vp test (Cannot read properties of undefined (reading 'config')) while plain vitest run works. For Workers packages, keep the legacy vitest invocation until the upstream fix lands (tracking: voidzero-dev/vite-plus#1076).

SKILL.md

tile.json