Skip to content

feat: add vite+ (vp) as a task runner benchmark#76

Merged
darcyclarke merged 2 commits intomainfrom
feat/vite-plus-task-runner
Mar 14, 2026
Merged

feat: add vite+ (vp) as a task runner benchmark#76
darcyclarke merged 2 commits intomainfrom
feat/vite-plus-task-runner

Conversation

@vltbaudbot
Copy link
Contributor

Summary

Adds Vite+ (vp) to the benchmarks under Task Runners.

Vite+ is a unified web toolchain that includes its own task runner (vp run). It is installed via its dedicated installer script and runs scripts with vp run <script>.

Changes

Benchmark Scripts

  • scripts/setup.sh: Installs vp via Vite+ installer, adds ~/.vite-plus/bin to $PATH and $GITHUB_PATH for CI persistence
  • scripts/variations/common.sh: Adds vp to BENCH_INCLUDE, restricts to run variation only (like nx/turbo/node)
  • scripts/variations/run.sh: Adds vp install as prepare step and vp run test as benchmark command
  • scripts/clean-helpers.sh: Adds vp cache cleanup function
  • scripts/generate-chart.js: Adds vp with brand color #4f30e8

CI Workflow

  • .github/workflows/benchmark.yaml: Adds vp to default BENCH_INCLUDE list

Web App

  • app/src/types/chart-data.ts: Adds "vp" to PackageManager type and all related interfaces
  • app/src/components/icons/vp.tsx: Placeholder icon component (bolt shape)
  • app/src/components/icons/index.ts: Exports Vp icon
  • app/src/lib/get-icons.ts: Maps vp to Vp icon
  • app/src/lib/utils.ts: Display name vite+ for leaderboard/tooltips
  • app/src/hooks/use-history-data.ts: Adds vp to package managers list
  • app/src/components/header.tsx: Adds dark:text-white class for vp icon

Pending: Logo SVGs

The icon is currently a placeholder (lightning bolt). The actual light/dark mode SVG logos were shared via Wormhole links (encrypted file sharing) which I couldn't programmatically download. Once the SVGs are available as files or raw content, I'll update app/src/components/icons/vp.tsx with the proper paths.

How vp is benchmarked

Step Command
Install (prepare) vp install
Run (measured) vp run test
Cleanup Cache clean via vp cache clean

Like nx, turbo, and node, vp only runs in the run variation (task execution), not in package management install variations.

Add vp (Vite+) to the benchmarks under 'Task Runners'. Vite+ is a unified
web toolchain with its own task runner (vp run).

Changes:
- scripts/setup.sh: Install vp via curl installer, persist PATH for CI
- scripts/variations/common.sh: Add vp to BENCH_INCLUDE, restrict to 'run' variation
- scripts/variations/run.sh: Add vp install (prepare) and vp run test (command)
- scripts/clean-helpers.sh: Add vp cache cleanup
- scripts/generate-chart.js: Add vp color (#4f30e8)
- .github/workflows/benchmark.yaml: Add vp to default BENCH_INCLUDE
- app/src/types/chart-data.ts: Add 'vp' to all type definitions
- app/src/components/icons/vp.tsx: Placeholder icon (pending final SVG)
- app/src/components/icons/index.ts: Export Vp icon
- app/src/lib/get-icons.ts: Map vp to Vp icon
- app/src/lib/utils.ts: Display name 'vite+'
- app/src/hooks/use-history-data.ts: Add vp to PACKAGE_MANAGERS
- app/src/components/header.tsx: Add dark:text-white for vp icon

Note: Icon SVG is a placeholder — final light/dark mode logos pending.
Replace placeholder icon with actual Vite+ brand SVGs:
- Dark logo (black brackets + colorful bolt) shown on light backgrounds
- Light logo (white brackets + colorful bolt) shown on dark backgrounds
- Uses CSS hidden/block dark:hidden/dark:block for theme switching
- Removed unnecessary dark:text-white override from header (icon handles it)
@darcyclarke darcyclarke merged commit a6d3fa6 into main Mar 14, 2026
5 checks passed
@darcyclarke darcyclarke deleted the feat/vite-plus-task-runner branch March 14, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants