Skip to content

Toolset · Composition API, Pinia, Vite

Vue 3

  • Vue
  • TypeScript
  • Vite

Vue 3 with the Composition API and script setup is our default for reactive web UIs. Pinia for state, Vite for the toolchain, and Nuxt when the app needs SSR.

Where two tools compete, the one marked our default is what we reach for.

01

Build & tooling

2 tools
Viteour default

The dev server and bundler — instant HMR. Our default.

The meta-framework for SSR, routing, and server routes.

02

State management

1 tool
Piniaour default

The official, type-safe store — intuitive and devtools-friendly. Our default.

03

Data & server state

2 tools

Server-state caching and invalidation for Vue. Our default for remote data.

A large collection of composition utilities.

04

Routing & HTTP

2 tools
Vue Routerour default

The official router. Our default.

HTTP clients; ofetch pairs naturally with Nuxt.

05

Validation & UI

2 tools

Schema validation and form handling. Our default.

Utility styling and unstyled accessible components.

06

Testing

2 tools

Unit/component testing. Our default.

End-to-end browser testing.

07

Monitoring & observability

3 tools
Sentryour default

Errors, performance, and replay for Vue and Nuxt apps. Our default.

Core Web Vitals measurement, reported to your analytics of choice.

Component tree, Pinia state, and timeline inspection in development.

08

CI/CD

4 tools
GitHub Actionsour default

CI for lint / test / build, then trigger the deploy. Our default CI.

Netlifyour default

Deploy previews and hosting for SPA/SSR builds. Our default for static Vue.

Global edge hosting with Git-connected deploys.

First-class Nuxt / SSR hosting.

09

Linting & formatting

3 tools
ESLintour default

Linting with eslint-plugin-vue for .vue single-file components. Our default.

Prettierour default

Formatting for templates, script, and style blocks. Our default.

Type-check .vue files with the Vue TypeScript compiler.

Building on Vue 3?

We ship production Vue 3with exactly this stack. Tell us what you're building.

Start a conversation