chore(deps): update dependency nuxt to ^3.16.0 (v3) #155
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^3.15.4->^3.16.0Release Notes
nuxt/nuxt (nuxt)
v3.16.0Compare Source
👀 Highlights
There's a lot in this one!
⚡️ A New New Nuxt
Say hello to
create-nuxt, a new tool for starting Nuxt projects (big thanks to @devgar for donating the package name)!It's a streamlined version of
nuxi init- just a sixth of the size and bundled as a single file with all dependencies inlined, to get you going as fast as possible.Starting a new project is as simple as:
Special thanks to @cmang for the beautiful ASCII-art. ❤️
Want to learn more about where we're headed with the Nuxt CLI? Check out our roadmap here, including our plans for an interactive modules selector.
🚀 Unhead v2
We've upgraded to
unheadv2, the engine behind Nuxt's<head>management. This major version removes deprecations and improves how context works:If you're using Unhead directly in your app, keep in mind:
#app/composables/headinstead of@unhead/vue@unhead/vuemight lose async contextDon't worry though - we've maintained backward compatibility in Nuxt 3, so most users won't need to change anything!
If you've opted into
compatibilityVersion: 4, check out our upgrade guide for additional changes.🔧 Devtools v2 Upgrade
Nuxt Devtools has leveled up to v2 (#30889)!
You'll love the new features like custom editor selection, Discovery.js for inspecting resolved configs (perfect for debugging), the return of the schema generator, and slimmer dependencies.
One of our favorite improvements is the ability to track how modules modify your Nuxt configuration - giving you X-ray vision into what's happening under the hood.
👉 Discover all the details in the Nuxt DevTools release notes.
⚡️ Performance Improvements
We're continuing to make Nuxt faster, and there are a number of improvements in v3.16:
exsolvefor module resolution (#31124) along with the rest of the unjs ecosystem (nitro, c12, pkg-types, and more) - which dramatically speeds up module resolutionloadNuxtby skipping unnecessary resolution steps (#31176) - faster startupsoxc-parserfor parsing in Nuxt plugins (#30066)All these speed boosts happen automatically - no configuration needed!
Shout out to CodSpeed with Vitest benchmarking to measure these improvements in CI - it has been really helpful.
To add some anecdotal evidence, my personal site at roe.dev loads 32% faster with v3.16, and nuxt.com is 28% faster. I hope you see similar results! ⚡️
🕰️ Delayed Hydration Support
We're very pleased to bring you native delayed/lazy hydration support (#26468)! This lets you control exactly when components hydrate, which can improve initial load performance and time-to-interactive. We're leveraging Vue's built-in hydration strategies - check them out in the Vue docs.
You can also listen for when hydration happens with the
@hydratedevent:Learn more about lazy hydration in our components documentation.
🧩 Advanced Pages Configuration
You can now fine-tune which files Nuxt scans for pages (#31090), giving you more control over your project structure:
🔍 Enhanced Debugging
We've made debugging with the
debugoption more flexible! Now you can enable just the debug logs you need (#30578):Or keep it simple with
debug: trueto enable all these debugging features.🎨 Decorators Support
For the decorator fans out there (whoever you are!), we've added experimental support (#27672). As with all experimental features, feedback is much appreciated.
📛 Named Layer Aliases
It's been much requested, and it's here! Auto-scanned local layers (from your
~~/layersdirectory) now automatically create aliases. You can access your~~/layers/testlayer via#layers/test(#30948) - no configuration needed.If you want named aliases for other layers, you can add a name to your layer configuration:
This creates the alias
#layers/example-layerpointing to your layer - making imports cleaner and more intuitive.🧪 Error Handling Improvements
We've greatly improved error messages and source tracking (#31144):
useAsyncDatacalls with precise file location informationPlus, we're now using Nitro's beautiful error handling (powered by youch) to provide more helpful error messages in the terminal, complete with stacktrace support.
Nitro now also automatically applies source maps without requiring extra Node options, and we set appropriate security headers when rendering error pages.
📦 Module Development Improvements
For module authors, we've added the ability to augment Nitro types with
addTypeTemplate(#31079):⚙️ Nitro v2.11 Upgrade
We've upgraded to Nitro v2.11. There are so many improvements - more than I can cover in these brief release notes.
👉 Check out all the details in the Nitro v2.11.0 release notes.
📦 New
unjsMajor VersionsThis release includes several major version upgrades from the unjs ecosystem, focused on performance and smaller bundle sizes through ESM-only distributions:
✅ Upgrading
As usual, our recommendation for upgrading is to run:
This refreshes your lockfile and pulls in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
@nuxt/devtoolsto v2 (#30889)NuxtPage(#30704)directoryToURLto normalise paths (#30986)start/setin loading indicator (#30989)pages/(#31090)NuxtLinkslot (#31104)addTypeTemplate(#31079)oxc-parserinstead of esbuild + acorn (#30066)🔥 Performance
exsolvefor module resolution (#31124)loadNuxt(#31176)🩹 Fixes
<NuxtLayout>fallbackprop is typed (#30832)keepalivecache reset (#30807)divwrapper in client-only pages (#30425)nitropack(aba75bd5a)nullfrom resolve functions (d68e8ce57)app.head.metavalues are undefined (#30959)shared/directories available within layers (#30843)<pre>when rendering dev errors (9aab69ec4)page:transition:starttype (#31040)provide/injectwork insetupofdefineNuxtComponent(#30982)_for NuxtIsland name on server pages (#31072)ohashto calculate legacy async data key without hash (#31087)shareddir from config (#31091)nuxt.options.pagesto detected configuration (#31101)definePageMetadoes not receive an object (#31156)no-ssrmiddleware handler (a99c59fbd)navigatewithvue-router(7a1934509)nuxt.options.pages(fa480e0a0)resolveModule(6fb5c9c15)resolveTypePath(a0f9ddfe2)compilerOptions.paths(835e89404)RawVueCompilerOptionsfor unresolvedtsconfig(#31202)navigateTowith replace (#31244)devStorage(#31233)useFetchfunction name on server for warning (#31213)x-nitro-prerenderheader (2476cab9a)💅 Refactors
isEqualfromohash/utils(2e27cd30c)noScriptsroute rule (#31083)runtime/nitrofiles (#31131)📖 Documentation
spaLoadingTemplateexample (#30830)NuxtPage(#30781)navigateTodocs with clearer structure and examples (#30876)rootDir(27e356fe6)vue:setupandapp:data:refreshhooks (#31001)defineNuxtRouteMiddleware(#31005)portoption to preview command (#30999).nuxtrcdocumentation (#31093)$fetchon the server (#31114)create nuxtcommand (fe82af4c9)3x(a243f8fcf)<NuxtPage>during page changes (#31116)typedPagesin unhoisted pnpm setups (#31262)📦 Build
🏡 Chore
errxdependency (566418177)@nuxtjs/mdctypechecking dep (f23683b26)nitro/renderertemplates (b29c0e86b)✅ Tests
#internal/nitro/app(a1b855cc5)❤️ Contributors
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.