Nuxt V3.3

Nuxt.js, the open-source web development framework, has released its latest version, Nuxt v3.3.

Local module development DX

We've landed a raft of changes to enable local modules and improve DX.

We now auto-scan your [~/modules](https://nuxt.com/docs/guide/directory-structure/modules) folder and register top level files there as modules in your project (#19394).

When these files are changed, we'll automatically restart the nuxt server.

export default defineNuxtConfig({
  modules: [
    '@nuxtjs/tailwindcss',-   '~/modules/purge-comments'
  ]})

We also now expose nuxt/kit for easy access to kit composables in your local project without having to install @nuxt/kit (#19422).

Read the documentation about local modules.

Restarting Nuxt

You can add files to the watch array to automatically restart the server (#19530). This is likely to be particularly useful for module authors. You can also trigger a restart of the Nuxt server with the new restart hook (#19084).

Performance improvements

We've increased static asset maxAge to 1 year as a matter of best practice (#19335), and support tree-shaking more of your build (#19508).

https://user-images.githubusercontent.com/28706372/224999169-6c047cca-9a5c-4637-8e4d-be6268964e08.png

We also now support preloading [<NuxtLink>](https://nuxt.com/docs/api/components/nuxt-link) with a route in object-syntax (#19120):

<NuxtLink :to="{ name: 'home', query: { year: '2023' } }">Home</NuxtLink>

We also track how long it takes each module you use to perform its setup, and warn if it takes too long. You can see all these values by running your dev server with DEBUG=1 (#18648).

DEBUG=1 npx nuxt dev
ℹ Module pages took 1.5ms to setup.
ℹ Module meta took 3.15ms to setup
ℹ Module components took 4.5ms to setup....

You can also opt-in to some of Nuxt's internal optimisations by configuring composables to be treeshaken in a particular environment (#19383) or to have magic keys automatically injected (#19490).

Read more about this exciting new release, visit the official Nuxt.js blog at https://nuxt.com/blog/v3-3.