Skip to content

Releases: lazercaveman/nuxt-starter

v3.0.0

Choose a tag to compare

@lazercaveman lazercaveman released this 06 May 20:22
5746ed5

Summary

This release adds Storybook (@storybook/vue3-vite v10) and Chromatic to the starter, giving teams isolated component development, accessibility checks during development, and automated visual regression testing on every push. Nuxt compatibility stubs let components render in Storybook without booting a Nuxt server, and StarterButton ships with the first reference story. The release also fixes a pre-push hook that was silently auto-fixing code rather than validating it — formatting and lint failures had been slipping past pre-push checks as a result.

✨ Added

[✓] Storybook (@storybook/vue3-vite v10) with full Vite integration — Tailwind CSS, SVG loader, and Nuxt auto-import support wired in via viteFinal
[✓] .storybook/nuxt-stubs.ts — drop-in stubs for Nuxt globals (NuxtLink, useRoute, useRuntimeConfig, defineLazyHydrationComponent, $fetch) so components render in Storybook without a running Nuxt server
[✓] .storybook/preview.ts — global setup: Pinia, NuxtLink component, $route global property, viewport presets, dark/light theme switcher via data-theme, and Chromatic baseline config
[✓] Storybook addons: @storybook/addon-docs, @storybook/addon-a11y, @storybook/addon-vitest, @storybook/addon-themes, @chromatic-com/storybook
[✓] chromatic.config.json — Chromatic config with onlyChanged and zip enabled for efficient CI runs
[✓] StarterButton.stories.ts — first component story, serving as a reference for future stories
[✓] Storybook and Chromatic documentation sections in README.md

🔄 Changed

[✓] @ alias in Storybook's Vite config now correctly maps to app/ (matching Nuxt 4's path alias)
[✓] $route registered as a Vue global property in preview.ts so templates using $route.name render without Vue Router

🐛 Fixed

[✓] Pre-push hook: switched lint:fixlint and formatformat:check — the hook now validates without mutating files, so formatting and lint failures surface during pre-push instead of being silently auto-fixed
[✓] $fetch (Nuxt global) is now auto-imported from nuxt-stubs.ts via unplugin-auto-import, preventing ReferenceError when Pinia stores using $fetch are loaded in Storybook

🛠 Tooling / Infra

[✓] Added yarn storybook, yarn build-storybook, and yarn chromatic scripts to package.json
[✓] Updated @nuxt/test-utils setup version in .nuxtrc to 4.0.3

📦 Dependency Updates

[✓] Testing: bumped @nuxt/test-utils and vitest to latest patch/minor
[✓] Linting & formatting: bumped oxlint and oxfmt to latest patch/minor
[✓] Language: bumped typescript to latest patch/minor


Add storybook, chromatic and updates by @lazercaveman in #327

Full Changelog: v2.1.0...v3.0.0

v2.1.0

Choose a tag to compare

@lazercaveman lazercaveman released this 14 Apr 10:25
b731cec

Summary

This release replaces the ESLint + Prettier toolchain with the OXC toolchain (Oxlint + Oxfmt). Oxlint is a Rust-based linter that runs 50–100× faster than ESLint, and Oxfmt is its native formatter — eliminating the config overlap between ESLint and Prettier, removing five dev-dependencies, and giving contributors instant feedback through a single unified VS Code extension. The migration includes new config files, updated scripts, revised pre-push hooks, and refreshed editor settings.


✨ Added

[✓] .oxlintrc.jsonc — Oxlint configuration with typescript and vue plugins enabled and an opinionated essentials ruleset (no-explicit-any, consistent-type-imports, eqeqeq, prefer-const, no-unused-vars, Vue lifecycle & composition rules, etc.)
[✓] .oxfmtrc.jsonc — Oxfmt formatter config (single quotes, semicolons, 2-space indent, printWidth: 100, Tailwind CSS class sorting)
[✓] lint:fix script — oxlint --fix
[✓] format / format:check scripts — oxfmt . / oxfmt . --check
[✓] Husky pre-push step 3 — format check (yarn format) now runs between lint and tests, enforcing formatting on push
[✓] VS Code extension recommendations: oxc.oxc-vscode, oxc.oxfmt
[✓] VS Code editor.formatOnSave: true + editor.defaultFormatter: "oxc.oxfmt" for auto-format on save

🔄 Changed

[✓] Replaced eslint, eslint-plugin-vue, typescript-eslint, globals, vue-eslint-parser, @eslint/js with oxlint + oxfmt
[✓] Deleted eslint.config.ts (no longer needed)
[✓] Updated lint script from eslint . --cacheoxlint
[✓] Husky pre-push — replaced ESLint step with Oxlint + added separate Oxfmt format step; cleaned up step numbering and message copy
[✓] VS Code — swapped dbaeumer.vscode-eslint recommendation for oxc.oxc-vscode + oxc.oxfmt; removed editor.formatOnSave: false (now true via Oxfmt)
[✓] CLAUDE.md — updated tooling docs to reflect Oxlint/Oxfmt replacing ESLint/Prettier

🐛 Fixed

[✓] Removed the indentation bug in .husky/pre-push (all step bodies were accidentally indented inside a non-existent block)
[✓] Corrected step numbering in pre-push (was 1, 2, 4, 6 — now 1, 2, 3, 4, 6)

🛠 Tooling / Infra

[✓] Migrated linting and formatting from ESLint + Prettier to the OXC toolchain (Oxlint + Oxfmt) for ~50–100× faster lint passes and a simpler, unified config surface

📦 Dependency Updates

[✓] Updated minor dependency bumps: @types/node, @vitest/*, vitest, jsdom, sass


  • 294 replace eslint with oxlint for significantly improved performance by @lazercaveman in #316

Full Changelog: v2.0.8...v2.1.0

v2.0.8

Choose a tag to compare

@lazercaveman lazercaveman released this 04 Mar 10:20
9c07167

Summary

This release focuses on improving Nuxt test integration and development tooling. The Vitest configuration has been migrated to use Nuxt-native testing utilities, simplifying environment setup. Additionally, several dependency updates and minor bug fixes enhance stability and developer experience.

✨ Added

[✓] Introduced @nuxt/test-utils ^4.0.0 as a devDependency
[✓] Added CLAUDE.md for LLM/AI assistant context
[✓] Added .nuxtrc file to register @nuxt/test-utils setup

🔄 Changed

[✓] Migrated Vitest config to use @nuxt/test-utils/config (defineVitestConfig) for proper Nuxt-native integration
[✓] Removed manual vite/vue imports and loadEnv workaround from Vitest config — environment loading now handled automatically
[✓] Updated dependencies:
 - nuxt 4.2.0 → 4.3.1
 - @pinia/nuxt 0.11.2 → 0.11.3
 - pinia 3.0.3 → 3.0.4
 - @nuxt/devtools 3.0.1 → 3.2.2
 - tailwindcss / @tailwindcss/vite 4.1.16 → 4.2.1
 - vitest / @vitest/ui / @vitest/coverage-v8 4.0.6 → 4.0.18
 - sass 1.93.3 → 1.97.3
 - eslint 9.39.0 → 9.39.3
 - eslint-plugin-vue 10.5.1 → 10.8.0
 - typescript-eslint 8.46.2 → 8.56.1
 - vue-tsc 3.1.3 → 3.2.5
 - vue-eslint-parser 10.2.0 → 10.4.0
 - Various minor patch updates (@types/node@vitejs/plugin-vuejsdomsass-loader)

🐛 Fixed

[✓] Resolved type error in nuxt.config.ts by adding @ts-expect-error to handle Nuxt/Vite plugin type mismatches on svgLoader and tailwindcss

--

What's Changed

Full Changelog: 2.0.7...v2.0.8

v2.0.7

Choose a tag to compare

@lazercaveman lazercaveman released this 03 Nov 10:52
3427129

Summary

This release focuses on modernizing the project's tooling infrastructure by migrating to pnpm as the package manager, updating the Node.js runtime, synchronizing all development hooks and scripts, and upgrading numerous project dependencies to their latest versions. Additionally, documentation and configuration files have been refined alongside various bug fixes and quality improvements.

✨ Added

[✓] Switched package manager to pnpm (version 10.20.0 required for contributors)
[✓] Node version updated to 22.21.0

🔄 Changed

[✓] Husky hooks updated to call pnpm (type-check, lint, tests)
[✓] Removed Yarn artifacts and updated lockfiles
[✓] Upgraded numerous dependencies (Vite, Tailwind plugins, TypeScript tooling, Nuxt/devtools, Pinia, Vitest and others)
[✓] README and demo updates

--

What's Changed

Full Changelog: 2.0.6...2.0.7

v2.0.6

Choose a tag to compare

@lazercaveman lazercaveman released this 31 Oct 11:25
8e2a5c2

Summary

This release focuses on upgrading core development dependencies and tools to their latest versions, ensuring better performance, security, and access to new features across the project stack.

🔄 Changed

[✓] Updated Node.js from v22.17.0 to v24.11.0 (LTS) for improved performance and OpenSSL 3.5 support
[✓] Upgraded Yarn package manager from v4.9.1 to v4.10.3 with bug fixes and improved hash validation
[✓] Upgraded Nuxt framework from v4.1.3 to v4.2.0 with enhanced TypeScript support, abort control for data fetching, and better error handling
[✓] Updated @nuxt/devtools from v2.6.5 to v3.0.1
[✓] Updated @tailwindcss/vite from v4.1.14 to v4.1.16
[✓] Updated @types/node from v24.8.1 to v24.9.2
[✓] Updated @vitejs/plugin-vue to v6.0.1
[✓] Updated @vitest/coverage-v8 from v3.2.4 to v4.0.5
[✓] Updated @vitest/ui from v3.2.4 to v4.0.5
[✓] Updated eslint from v9.37.0 to v9.38.0
[✓] Updated jsdom from v27.0.0 to v27.1.0
[✓] Updated sass to v1.93.2
[✓] Updated sass-loader from v16.0.5 to v16.0.6
[✓] Updated tailwindcss from v4.1.14 to v4.1.16
[✓] Updated typescript-eslint from v8.46.1 to v8.46.2
[✓] Updated vitest from v3.2.4 to v4.0.5
[✓] Updated vue-tsc from v3.1.1 to v3.1.2
[✓] Updated @pinia/nuxt to v0.11.2
[✓] Updated pinia to v3.0.3

--

What's Changed

Full Changelog: v2.0.5...2.0.6

v2.0.5

Choose a tag to compare

@lazercaveman lazercaveman released this 17 Oct 17:59
4434b85

Summary

This release focuses on updating key dependencies to their latest versions, including improvements to TypeScript definitions, linting tools, Sass preprocessing, and the core Nuxt framework.

🔄 Changed

[✓] Updated @types/node from ^24.7.0 to ^24.8.1 for improved TypeScript definitions
[✓] Updated eslint-plugin-vue from ^10.5.0 to ^10.5.1 for Vue-specific linting rules
[✓] Updated sass to ^1.93.2 for latest CSS preprocessing features
[✓] Updated typescript-eslint from ^8.45.0 to ^8.46.1 for improved TypeScript linting
[✓] Updated vue-tsc from ^3.1.0 to ^3.1.1 for Vue TypeScript type checking
[✓] Updated nuxt from ^4.1.2 to ^4.1.3 for framework stability and bug fixes

--

What's Changed

Full Changelog: v2.0.4...v2.0.5

v2.0.4

Choose a tag to compare

@lazercaveman lazercaveman released this 01 Oct 07:25
b434665

🚀 Enhancements

This release applies minor dependecy updates to address bug fixes and potential security/stability issues. No breaking changes.

📦 Dependency Updates

## Major:
jsdom: 26.1.0 → 27.0.0

## Minor
nuxt: 4.1.0 → 4.1.2
@tailwindcss/vite: 4.1.12 → 4.1.13
@types/node: 24.3.0 → 24.5.1
eslint: 9.34.0 → 9.35.0
globals: 16.3.0 → 16.4.0
sass: 1.92.0 → 1.92.1
tailwindcss: 4.1.12 → 4.1.13
typescript-eslint: 8.42.0 → 8.44.0
vue-tsc: 3.0.6 → 3.0.7

Miscellaneous

Full Changelog: v2.0.3...v2.0.4

Update v2.0.3

Choose a tag to compare

@lazercaveman lazercaveman released this 03 Sep 08:17
409cc4a

Summary

This release focuses on Developer Experience (DX) improvements with enhanced TypeScript configuration and automated type checking to ensure code quality and prevent type-related issues before deployment.

✨ Added

  • vue-tsc Integration: Added automatic TypeScript type checking before Git commits to catch type errors early in the development process
  • Pre-commit Type Validation: Enhanced Git workflow with automated type checking to improve code quality

🔄 Changed

  • Dependencies Updated: Upgraded project dependencies to their latest stable versions for better security and performance
  • Development Workflow: Improved development process with automated type checking integration

🐛 Fixed

  • TypeScript Configuration: Resolved TypeScript configuration issues that were causing type import errors
  • Type Resolution: Fixed defineNuxtConfig and defineNuxtRouteMiddleware not being recognized by TypeScript
  • Auto-Import Types: Corrected Nuxt auto-import type definitions for better IDE support and error detection

💡 Developer Experience Improvements

This release significantly enhances the development experience by:

  • Early Error Detection: Catching type errors before code reaches production
  • Better IDE Support: Improved TypeScript intellisense and auto-completion
  • Streamlined Workflow: Automated quality checks reduce manual oversight needed
  • Consistent Code Quality: Enforced type safety across the entire codebase

🔧 Technical Details

  • Enhanced tsconfig.json with proper Nuxt type definitions
  • Integrated vue-tsc for comprehensive Vue + TypeScript type checking
  • Configured pre-commit hooks for automated validation
  • Updated build pipeline for better type safety

Impact: These changes improve development velocity and code reliability by catching potential issues early in the development cycle, leading to fewer production bugs and better maintainability.

v2.0.2 adding server import alias

Choose a tag to compare

@lazercaveman lazercaveman released this 08 Aug 17:33
0ac437a

Summary

Now that Nuxt 4 uses an app directory import routes for Nitro need to be configured specifically, in the current configuration one should use '~' to refer to the server directory, and '@' to refer to the app directory.

What's Changed

Full Changelog: V2.0.1...v2.0.2

v2.0.1 finaly upgrading for Nuxt 4 🎉

Choose a tag to compare

@lazercaveman lazercaveman released this 21 Jul 17:34
073f749

Summary

With this Upgrade Nuxt Starter is finaly upgrading to Nuxt 4

Changes

Reduce Eslint to (previously used) slim setup - since in a later update Nuxt Starter will (maybe let's see) switch to OxLint.