A single page app Vite starter template, created to easily bootstrap Vue.js 3 apps.
Features
- Vue 3
- Vite 8
- TypeScript 6
- Vitest 4 for unit testing
- Pinia 3 for state management
- Vue Router 5 for client-side routing
- Tailwind 4 for layout and styling
- SCSS variables inside Vue components
- Purgecss for eliminating unused CSS
- Knip for detecting unused files and exports
- Basic multiple layouts feature
- ESLint config based on neostandard with sensible defaults
☺️ - Prettier for code formatting
- Automated release workflow with semantic-release
pnpm install
pnpm run dev
pnpm run build
pnpm run test:unit
pnpm run test:unit-nowatch
pnpm run test:unit-coverage
pnpm run lint
pnpm run lint-fix
pnpm run typecheck
pnpm run knip
pnpm run quality
This runs knip, lint, typecheck, unit tests in non-watch mode, and build.
- Test files are colocated with source files using
*.spec.ts - Shared test infrastructure lives in
tests/ tests/vitest.router-mock-setup.tsprovides a default router mock for route-aware teststests/vitest.helpers.tsexposescreateWrapperForfor tests that need shared mount setupcreateWrapperForincludes default Pinia plugin wiring and supports mergedglobal.directives- Prefer plain
mountfor simple component tests and usecreateWrapperForonly when shared setup is required