Tech Stack

The tech stack used in the Nuxt Starter Kit.

I use the following technologies in my starter kit:

  • Nuxt 3 - The framework for Vue.js that provides a powerful and flexible way to build web applications.
  • Nuxt UI Pro - A UI component library for Nuxt 3 that provides a set of pre-built components to speed up development.
  • nuxt-auth-utils - A set of utilities for handling authentication in Nuxt 3 applications.
  • Drizzle ORM - A TypeScript ORM for SQL databases that provides a simple and intuitive API for working with databases.
  • Tailwind CSS - A utility-first CSS framework that allows you to build custom designs without leaving your HTML.

package.json

Take a look at the package.json file to see the dependencies used in my starter kit:

{
  "name": "nuxtstarterkit",
  "type": "module",
  "private": true,
  "packageManager": "[email protected]",
  "scripts": {
    "dev": "nuxt dev",
    "dev:remote": "nuxt dev --remote",
    "build": "nuxt build",
    "preview": "npx nuxthub preview",
    "deploy": "npx nuxthub deploy",
    "postinstall": "nuxt prepare",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "typecheck": "nuxt typecheck",
    "test:e2e:ui": "playwright test --ui",
    "test:e2e": "playwright test",
    "prepare": "husky",
    "db:generate": "drizzle-kit generate",
    "generate:api": "node --experimental-modules scripts/generateApi.js"
  },
  "dependencies": {
    "@antfu/eslint-config": "^4.12.0",
    "@iconify-json/catppuccin": "1.2.11",
    "@iconify-json/lucide": "^1.2.39",
    "@iconify-json/simple-icons": "^1.2.33",
    "@nuxt/content": "3.5.1",
    "@nuxt/eslint": "^1.3.0",
    "@nuxt/fonts": "0.11.2",
    "@nuxt/image": "1.10.0",
    "@nuxt/ui-pro": "3.1.0",
    "@nuxthub/core": "^0.8.25",
    "@nuxtjs/i18n": "9.5.3",
    "@nuxtjs/seo": "3.0.3",
    "@polar-sh/sdk": "^0.32.11",
    "@t3-oss/env-nuxt": "^0.13.0",
    "@vitejs/plugin-vue": "^5.2.3",
    "@vue-email/components": "^0.0.21",
    "@vue-email/render": "^0.0.9",
    "@vueuse/core": "^13.1.0",
    "@vueuse/nuxt": "13.1.0",
    "canvas-confetti": "^1.9.3",
    "date-fns": "^4.1.0",
    "nanoid": "^5.1.5",
    "nuxt": "^3.16.2",
    "nuxt-security": "2.2.0",
    "nuxt-umami": "3.2.0",
    "uuid": "11.1.0",
    "zod": "^3.24.3"
  },
  "devDependencies": {
    "@inquirer/prompts": "^7.5.0",
    "@nuxt/eslint-config": "^1.3.0",
    "@playwright/test": "^1.52.0",
    "@types/canvas-confetti": "^1.9.0",
    "@types/node": "^22.15.2",
    "drizzle-kit": "^0.31.0",
    "eslint": "^9.25.0",
    "husky": "^9.1.7",
    "lint-staged": "^15.5.1",
    "vue-tsc": "^2.2.10",
    "wrangler": "4.13.1"
  },
  "lint-staged": {
    "**/*": "eslint"
  }
}