Repository navigation
chore(deps): update nuxt framework to ^4.6.0 - #1602
renovate[bot] wants to merge 2 commits into
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
CLI benchmark
Full report
|
| Setting | Value |
|---|---|
| Baseline | ref:2f890e5b3e2f45bc074f2ca5260d468c0d4dc015 (v4.0.0) |
| Head | local packages/nuxt-cli at e054092 (v4.0.0) |
| Node | v24.21.0 |
| OS | Linux 6.17.0 (kernel 6.17.0-1022-azure) |
| CPU | AMD EPYC 9V74 80-Core Processor x 4 |
| Memory | 15.6 GB |
| Load average at start | 1.42, 0.53, 0.19 |
| Run started | 2026-10-07T00:36:36.465Z |
Cold CLI startup
Median of 15 interleaved runs per command, one warmup discarded.
| Command | baseline v4.0.0 median | head v4.0.0 median | Delta | baseline v4.0.0 min / p95 | head v4.0.0 min / p95 |
|---|---|---|---|---|---|
nuxt --version |
68 ms | 67 ms | -1.9% | 65 ms / 71 ms | 65 ms / 70 ms |
nuxt --version (first output byte) |
63 ms | 62 ms | -1.7% | 60 ms / 66 ms | 61 ms / 65 ms |
nuxt --help |
138 ms | 139 ms | +0.4% | 136 ms / 140 ms | 135 ms / 141 ms |
nuxt --help (first output byte) |
133 ms | 133 ms | +0.3% | 130 ms / 134 ms | 129 ms / 135 ms |
nuxt dev --help |
107 ms | 104 ms | -2.6% | 104 ms / 108 ms | 102 ms / 109 ms |
nuxt dev --help (first output byte) |
102 ms | 99 ms | -2.9% | 98 ms / 103 ms | 97 ms / 104 ms |
nuxt <unknown-command> (no-op) |
147 ms | 146 ms | -0.4% | 143 ms / 152 ms | 144 ms / 150 ms |
nuxt <unknown-command> (no-op) (first output byte) |
141 ms | 140 ms | -0.7% | 137 ms / 146 ms | 138 ms / 144 ms |
Module load cost
Counted with a module.registerHooks load hook, compile cache disabled. Counts every JS module actually evaluated on that code path (native addons excluded). Built-ins loaded after bootstrap are counted separately, including the internal modules they load.
| Command | baseline v4.0.0 modules | head v4.0.0 modules | Delta | baseline v4.0.0 source bytes | head v4.0.0 source bytes | Delta | baseline v4.0.0 built-ins | head v4.0.0 built-ins | Delta |
|---|---|---|---|---|---|---|---|---|---|
nuxt --version |
35 | 35 | 0.0% | 297.8 kB | 297.8 kB | 0.0% | 27 | 27 | 0.0% |
nuxt --help |
135 | 135 | 0.0% | 847.1 kB | 847.1 kB | 0.0% | 87 | 87 | 0.0% |
nuxt dev --help |
64 | 64 | 0.0% | 455.3 kB | 455.3 kB | 0.0% | 87 | 87 | 0.0% |
Install footprint and published tarball
Each version installed on its own into an empty project with nothing but @nuxt/cli as a dependency, so the tree is exactly the CLI and its transitive dependencies. npm cache is warm and the registry is only consulted for metadata, so install wall time is indicative, not a network benchmark.
| Metric | baseline v4.0.0 | head v4.0.0 | Delta |
|---|---|---|---|
Direct dependencies of @nuxt/cli |
23 | 23 | 0.0% |
| Packages in the installed tree (unique name@version) | 39 | 39 | 0.0% |
| Unique package names | 39 | 39 | 0.0% |
| Package directories on disk (cross-check) | 32 | 32 | 0.0% |
Installed node_modules on disk |
2.46 MB | 2.46 MB | -0.0% |
| Installed files | 436 | 436 | 0.0% |
| Install wall time (warm npm cache, median of 3) | 1.25 s | 1.32 s | +5.8% |
| Published tarball (packed) | 240.3 kB | 240.3 kB | -0.0% |
| Published tarball (unpacked) | 780.3 kB | 780.3 kB | 0.0% |
| Files in tarball | 101 | 101 | 0.0% |
Interleaved runs on a shared runner: trust the deltas, not the absolute timings. The dev, restart and build suites run locally via pnpm bench:cli.
commit: |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
This PR contains the following updates:
^4.5.2→^4.6.0^4.5.2→^4.6.04.5.2→4.6.0^4.5.2→^4.6.04.5.2→4.6.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
nuxt/nuxt (@nuxt/kit)
v4.6.0Compare Source
📣 Some news
🖥️ Nuxt CLI v4
Alongside the release of Nuxt v4.6, today also brings a new major release of the Nuxt CLI:
@nuxt/cliv4. It ships as a dependency ofnuxt, so you'll get it automatically when you upgrade.Most of what's new is in
nuxt dev:nuxt.configkeys changed, where the time went during a slow start or build, and how long each module took to set upmy-bad(see below), powering things like automatically reloading when a syntax error innuxt.config.tsis fixed.nuxt/, which lets a secondnuxt dev(say, one started by an agent) take over or defer to the one you started, and powers newnuxt curlandnuxt taskcommands that talk to the running serverThere's also a new
nuxt docs "<query>"search, andnuxt preview --takeovercan replace a running preview server. And in generalnuxt/cliis a lot smaller and starts a lot faster:@nuxt/cliinstall size@nuxt/clidependenciesnuxt dev: first paintnuxt dev: port boundnuxt dev: memory at rest (Linux)Although this is a major version, none of the changes should be breaking for Nuxt v4 users: we require Node.js v22.21+, v24.11+ or v26+, we drop
nuxt initand only supportnpm create nuxt@latest, and Nuxt 2 and@nuxt/bridgeare no longer supported.👉 Check out the full Nuxt CLI v4 release notes for everything that's changed.
💡 A server-agnostic Nuxt
The biggest thing about this release is our move towards making Nuxt server-agnostic.
I feel that freedom of choice is very much a fundamental value of the web, and one that unites the whole Nuxt team.
You can use
pages/(with vue-router) or not. You can use Vite, webpack or Rspack to bundle your code. You can pick from dozens of providers to deploy to, pick any image or font provider, choose any database adapter. In every case, the framework is the same.The server side was different.
#appcomposables imported h3 types, server code imported fromh3andnitropack, and every module that touched the server was tied to whichever major version of those packages Nuxt happened to depend on.This has become particularly clear as we have been upgrading to new majors of h3 and nitro, which ship breaking changes with a cascading effect throughout the whole ecosystem.
👉 This release changes that.
Alongside explicitly defining our public API in
nuxt/kit(which now does not refer to external packages), Nuxt now specifies our own types for the request event, route rules and typed$fetch, and we expose an import surface (nuxt/server) for the server utilities that will be needed by most apps.This is the culmination of work we started almost a year ago, making it possible to use any server builder with Nuxt, not just Nitro (#33462).
Of course, under the hood,
nuxt/serveris still powered by Nitro by default - though we are also announcing a second, experimental implementation,@nuxt/vite-server, which allows pure-Vite server builds using the Vite Environment API.🌟 We see a number of key benefits for
nuxt/server.nuxt/serveron 4.6 runs unchanged there, so a module can ship one file for both./appand/server- and the bundler + server that you ultimately want to build your app.... and there are a number of other benefits too, from a single type surface to being able to iterate more quickly on features.
Finally, I want to say a special thank-you to @pi0, whose relentless focus on server agnosticism and work on h3, Nitro and web-standard server primitives over the last few years is what makes a portable
RequestEventpossible at all. Thank you, Pooya. ❤️Almost every feature in this release is already in the Nuxt 5 branch, and most of the remaining Nuxt 5 defaults can be tested today with
future.compatibilityVersion: 5(more details below!).👀 Highlights
🤷 If you've read this far I'm afraid I have bad news for you: there's a lot more still to say! Nuxt 4.6 is one of our biggest minor releases, with over 420 commits since v4.5.2.
... so, you might want to grab a coffee! ☕️
🧩
nuxt/serverIt has been asked for for a long time, and it now exists (#36275)!
nuxt/serveris a new import source for server code: handlers, middleware and utilities - a complement tonuxt/app. Wherenuxt/appis for the part of your application that also runs in the browser,nuxt/serveris for the part that only runs on the server.The utilities use web standards and are typed against a portable
RequestEvent:Under
@nuxt/nitro-serverthey are backed by Nitro and h3, but you never import from either.So the same handler runs under Nitro v2, Nitro v3 or
@nuxt/vite-server, and a module that imports fromnuxt/serverdoesn't need a peer dependency onh3ornitropack.We think this will make a big difference in smoothing out the upgrade to Nuxt v5 and Nitro v3.
There is a typing benefit too. We no longer hoist h3 or Nitro types into your app to type
useRequestEvent,$fetchor route rules, which removes a source of type conflicts when versions differ (#36212, #36214, #36293).The surface is small, and covers what published modules and user code typically need:
defineEventHandler,createError/isNuxtError, request URL, headers, query, body (plain and validated with any Standard Schema library or a function), cookies, redirects, response status,getRouterParam(s),getRequestIP,handleCors,getRouteRules,useRuntimeConfig,useAppConfigand sessions.We encourage you to use web APIs (
event.req.headers, for example), or raise an issue if there's functionality you're missing fromnuxt/server🙏If you do need to step outside
nuxt/serverfor a particular handler, don't worry! Nothing has been taken away: importdefineEventHandlerand the helpers you need fromh3ornitropack/runtimeas before, and that handler works exactly as it did on Nuxt 4.5.A few helpers also behave differently from their h3 v1 namesakes:
sendRedirectreturns the response rather than sending it,createErrortakesstatusandstatusText, and response headers are set throughevent.res.headers. The upgrade guide has a table of the differences.Nothing in this release requires a migration. But if you have server code you'd like to make portable ahead of Nuxt 5, this is the best way.
👉 Read the server imports guide.
🔐
appSecretand sessionsNuxt now has a root application secret:
runtimeConfig.appSecret, set withNUXT_APP_SECRET(#35874, thanks to @onmax). Modules and server features derive purpose-specific secrets from it withderiveSecret(purpose), soNUXT_APP_SECRETis the only secret you need to configure.In development Nuxt generates and persists one if none is configured (and warns the first time a derived secret is used). Builds never generate one.
The first thing to use it is a set of session helpers in
nuxt/server(#36358). Sessions are sealed into a cookie with iron, so there's no server-side storage to configure:🎯 Typed
$fetch, rebuilt$fetchanduseFetchhave been typed from your server routes for a long time. But the types were derived from Nitro'sInternalApiinterface, and past a few hundred routes they hit TypeScript's instantiation limit with the familiarTS2589: Type instantiation is excessively deep and possibly infinite.We've rebuilt typed fetch on top of
fetchdts(#36238). Nuxt compiles your server routes into a route tree with an exact-match table for static paths and accessors specialised to your route set. Resolution cost now scales with call sites, not with route count:TS2589)TS2589)TS2589)Peak memory for the same runs dropped from 946 MB to 140 MB. 🔥
Plus, the route set also carries the
body,queryandheadersa handler validates, so calls are checked more tightly than before:On Nuxt 4 this is opt-in, because there are small changes to type inference, and hand-written
ServerRoutesaugmentations need a small rewrite. It is the default in Nuxt 5.There's also a new
experimental.strictRouteTypesoption to reject calls to paths that don't exist (otherwise these just returnunknown), and an'isomorphic'mode that types your pages asGETroutes too if you want to be able to$fetchfrom the Vue renderer with type safety.👉 Read more in the experimental features docs.
🐛 Better errors in development with
my-badServer-side errors in development used to look like this:
There was no source position or code frame, and the Youch iframe we rendered could not show you the frame in your own source either. Both are now fixed (#36258, nuxt/cli#1518).
Dev SSR stack traces are now mapped before anything reads the error, and the Youch overlay has been replaced with
my-bad. It renders into your app's own error page as an overlay (or as a standalone page when the app can't render one), with the mapped stack trace and a code frame from your source, and the same report is printed in your terminal. We are still working with @atinux, @HugoRCD and @antfu to make these pages nicer still.With Nuxt CLI v4, there is a single live error channel at the CLI level. It survives worker restarts, so (for example) a syntax error in
nuxt.config.tswill live-reload the page once you fix it. Each error is rendered once rather than at every layer it passes through, and the same channel streams build progress and app logs to the dev panel.🎨 A new loading screen, 404 and error pages
@HugoRCD has redrawn the loading screen you see while the dev server starts. It is now a WebGL2 particle field that traces a mountain range behind the Nuxt lockup (#36178), using a single shader and a single draw call. Without WebGL2 it falls back to the static lockup, and with
prefers-reduced-motionthe animation stops. Try hovering over it. 🏔️Hugo also gave the built-in 404 and error pages a neutral palette and lighter type (#36255), and @MirkoJa added a back button to the 404 page (#35688).
⚡️ Vue Vapor support
Nuxt now supports Vue 3.6's Vapor Mode in interop mode (#35759). Your app root stays on the virtual DOM, and you can opt individual components or pages into Vapor by adding the
vaporattribute to<script setup>:Routing,
useAsyncData, layouts and most built-in components keep working unchanged. Along the way we made the auto-import loader,useAsyncData,definePageMetaand slot inspection Vapor-aware, and we now have a Vapor test suite so we can track what's supported.🧩 Addons for
useFetchanduseAsyncData@cernymatej has added an
addonsoption to thecreateUseFetchandcreateUseAsyncDatafactories (#35797). An addon can declare custom call-site options, adjust the merged options, wrap the handler with middleware, and extend what the composable returns, and it can be reused across as many custom instances as you like.This resolves a long list of feature requests for
useAsyncDataanduseFetch(refresh on focus, polling, retries, auth headers and more) without making the core composables opinionated about any of them.👉 Read about
defineUseFetchAddonanddefineUseAsyncDataAddon.🚀 Performance
There is a lot of performance work in this release.
<NuxtLink>renders 58% faster on the server (#36015). Internal links are now rendered as a plain<a>with nouseLink, no computed and no reactive state. Rendering 200 links went from 1.36ms to 0.57ms, which is 1.4x faster than a bare<RouterLink>.experimental.early404, page routes are compiled into a static matcher at build time and requests that can't match any page skip creating the Vue app, running plugins and middleware entirely. On an app with 30 pages and ~23ms of boot work per render, a JSON 404 went from 37.1ms to 0.3ms.builder:watchhook settles in 0.6ms instead of 36ms.useCookieparses the cookie header once per request (or once per microtask on the client) instead of on every call. A nice side effect: a cookie set in a plugin during SSR can now be read by a lateruseCookiein a page.ssr: falsepages are tree-shaken from the server bundle (#35836, thanks to @Austin1serb).definePageMetakeys are extracted at build time (#35919), behindexperimental.extractSerializablePageMeta.unctxis no longer shipped to the browser anddefuis skipped for a singleapp.config(#36371).@nuxt/kitno longer depends onc12,untyped,confbox,pkg-types,ufoormlly, andjitiandgigetare now optional peers loaded only when needed (#35936, #35943, #35946, #36071, #36073, #36083).isVuechecks migrated to plugin filters (#36116) and anflruprerender cache (#36340).Put together, on our benchmark machine (arm64 Linux, Node 24.15, medians of 5 runs):
@nuxt/kitinstall size@nuxt/kittransitive dependenciesnuxt build, starternuxt build, 200 pages / 200 components / 50 routes<NuxtLink>sDev server start-up (spawn to first HTML) on the same machine is about 12% faster on a starter app, with the second request served in roughly half the time, though the CLI major changed alongside so not all of that is Nuxt.
📦 Lighter payloads
useAsyncDataanduseFetchaccept aserialize: falseoption to keep data out of the__NUXT_DATA__payload (#35779). That's most useful inside components that never hydrate, andexperimental.stripNeverHydratedDataapplies it automatically to data fetched withinhydrate-nevercomponent trees.Nuxt also warns in development when a page's payload exceeds 100 kB (#35777) and when a route rendered with
noScriptsrelies on client-side JavaScript (#35780), andnoScriptspages keep their non-script resource hints and attach their styles correctly (#35803, #36356, #36359).<NuxtLink>now prefetches server-page islands (#35808), and @atinux made prefetch hints throttled and prioritised so a page full of links doesn't flood the network (#36261, #36324). Building on that, route chunks, layouts, middleware, payloads, islands and resource hints all now go through one client prefetch scheduler with per-kind concurrency caps, deduplication by key, and cancellation of in-flight work when you navigate away (#36391).🔮 Nuxt 5 features, today
Most of what's new in Nuxt 5 is already in 4.6, either as the default or behind a flag.
future.compatibilityVersion: 5turns on the Nuxt 5 defaults in one go, and every one of them can be enabled (or disabled) individually.Newly gated behind the flag in this release:
experimental.typedPages) (#35789)$fetch(experimental.routeTypedFetch), described abovenavigateTo(experimental.navigateToEarlyReturn):navigateToin<script setup>short-circuits the rest of the setup, so redirects and 404s don't throw on missing data (#36115)experimental.extractSerializablePageMeta)experimental.payloadExtraction: 'client')clearNuxtStateresetting to defaults,experimental.watcher: 'builder', and no auto-imported server-only head composablesbaseUrlin generated tsconfigs (#36040, thanks to @oritwoen)experimental.inlineErrorRendering): when a server render fails,error.vueis rendered in the same request with a plain try/catch, instead of re-entering the server over an internal request to/__nuxt_error. Headers and cookies the failed render had already set are kept, error renders no longer pass through Nitro middleware and route rules a second time, andrender:htmlfires with the original event (#36399).The upgrade guide now lists exactly what the flag changes on Nuxt 4.
🧪 Experimental:
@nuxt/vite-serverSince v4.2
server.builderhas been configurable. This release adds a second server builder:@nuxt/vite-server. It builds a Nuxt app with Vite alone (#36218, #36279, #36288).This is all you need to do to configure it.
It can produce a pure client SPA, a server-rendered app with a small Node entry, a web-standard
fetchhandler for platforms that provide the server (there are e2e examples for Cloudflare Workers, Netlify and universal deploy), as well as fully static output withnuxt generate.Right now, this helps keep Nuxt's code agnostic, enforce the contract behind
nuxt/server, and to give Vite plugins that provide a deploy target something to build on. It does not have Nitro's full feature set (there is no storage, caching, tasks or server plugins), and we expect most apps to keep using Nitro. Nitro remains the default.🛠️ Developer experience
<NuxtLayout>or<NuxtLink>in a template now shows a short description and a link to the docs. Thanks to @Ibochkarev.app/types/andserver/types/are included in the right tsconfig, so ambient types and augmentations placed there are picked up (#35783, thanks to @Flo0806, who also added an augmentableNuxtPageMetafor typingNuxtPage.metain #34816).components/: a(group)/folder is excluded from the component name (#35699, thanks to @abaza738).expiresinuseCookie, accepting a function (#35628, thanks to @DarlanPrado).public/file shadows an application route (#35674, thanks to @Norbiros).404.html, or any status codes you pass) withexperimental.prerenderErrorPagesinstead of an empty SPA shell (#35193, thanks again to @Flo0806).$Fetchis exported fromnuxt/app(#35625) andShallowRefis in the Vue auto-import preset (#36266), both from @DamianGlowala;preloadComponentsand theNuxtIslandnameprop are typed (#35775), anduseLayout,useLoadingIndicatoranduseRequestHeaderare exported fromnuxt/app(#36033).typescript.tsConfigis now a shared baseline for all four generated tsconfigs, withappTsConfigandserverTsConfigfor per-context overrides (#35697, thanks to @chairulakmal).prerenderoption, an alias fornitro.prerenderin the same wayruntimeConfigandrouteRulesare top-level (#32356). Nuxt now also points you towards top-level options where they exist, since those work across server builders (#36416).public/files just work. If the router has no route for a<NuxtLink>target (a PDF inpublic/, say, or a link from Markdown with Nuxt Content), Nuxt falls through to a full-page load instead of rendering your 404, soexternalis no longer required (#36169).node_modulesare pre-bundled by Vite (#36208), and symlinked layer directories resolve to their real path (#36402, thanks to @silverbackdan).🧰 For module authors
If you maintain a module with server code, we've enabled making modules compatible with both Nuxt 4 & 5, without requiring a major bump. (And we'll be opening PRs proactively after the release of Nuxt v4.6 to assist with preparing for a Nuxt v5 release...)
One module for Nuxt 4 and Nuxt 5.
addServerHandler,addDevServerHandlerandaddNitroPluginaccept a map of variants per server API (#36317). Nuxt chooses the most appropriate one. A handler that imports only fromnuxt/serverneeds no Nitro 2/3 variants at all (but does require Nuxt v4.6+).Nuxt reads the file's imports to decide which API it uses. Where that isn't enough, you can declare
meta.compatibility.server.getNitroVersionandhasNitroVersionare also there in case you have logic that explicitly requires you to know the Nitro version installed (#36127).👉 Read the server compatibility guide for more information.
Nuxt-owned, augmentable server types:
ServerTypes,ServerRoutes,AppRouteRulesandNuxtRequestContext. Augment@nuxt/schemaonce;nuxt/schemamirrors it (#36293).useTerminalfor host-aware prompts, status messages and tasks in progress, rendered by the CLI's dev panel when there is one (#36162).module:beforeandmodule:donehooks, which Nuxt CLI v4 uses to show per-module setup time as it happens (#36173).onConfigResolvedanddiffNuxtConfigto see what changed between two config loads (#35853).ensureDependencyInstalledandgetAddDependencyCommandto check for and offer to install optional dependencies with the user's package manager (#34554).Template
dependenciesto say exactly what should invalidate a template (#35875).addServerImports,addServerImportsDirandaddServerTemplatework the same across Nitro versions; a server tsconfig and versioned route config types are generated for you (#36265).@nuxt/kithas an explicit public API (#36074) and@nuxt/schemais an optional peer (#36246).Modules can now set
experimental.asyncContext(#36175, thanks to @cernymatej), Vite plugins added via kit land at the top level rather than wrapped (#36037), and more build-time warnings have moved to diagnostic codes with docs pages (#36138).@nuxt/kitpeer dependency ranges are widened to the versions actually required rather than tracking the latest of each package (#36417), andupdateRuntimeConfigno longer warns when called before Nitro exists (#36403, thanks to @Neekoras).🔒 Security
🩹 Important fixes
useAsyncDatano longer resolves with unfetched data on hydration (#36124), awaited lazy async data resolves immediately (#36301), anduseAsyncDatatypes resolve for generic type params (#36316).useRequestFetchforwards request headers (#36180, thanks to @hdwebpros).navigateTomatches vue-router's path encoding (#36055), preserves percent-encoding in server redirects (#36112), and appliesbaseURLwithopen(#36197).nuxt-clientmarkup is stripped from cached island HTML (#36298).baseURLandurl()rewriting in inlined styles (#36137, #36143), island descendant CSS extraction (#36260) and stable style chunk names (#36361).//x/_payload.jsonno longer serves the wrong payload (#36409, spotted by @Kushalkhemka)./index.htmlis prerendered for client-only apps with islands (#36299).definePageMetaworks at the top level ofsetup()(#36245), and changed auto-import sources are rescanned before their consumers (#33671, thanks to @Flo0806).onBeforeLeavereuses the pending transition promise (#36395), andbaseURLand middleware flags are respected in apps withoutpages/(#36034).stripNeverHydratedDatano longer mutates the options object (#36035), the dev error module is stubbed out of production builds (55e61d75d), and preloading a component that is not global now warns (47de80ece).✅ Upgrading
Our recommendation for upgrading is to run:
This will refresh your lockfile and pull in all the latest dependencies that Nuxt relies on, including Nuxt CLI v4.
If you have server code you'd like to make portable, read Moving to
nuxt/serverin the upgrade guide.👉 Changelog
compare changes
🚀 Enhancements
resolveServerVariant+addServerImportsvariant support (#36445)createUseFetchandcreateUseAsyncData(#35797)serverFetchand route rules innuxt/server(2386a5b6a)useServerHookstonuxt/server(e003cd46d)serverFetchtonuxt/server(d14e82bc2)nuxt/server(92c15e581)hook,bundlerandmiddlewaretracing channels (#36423)prerenderalias fornitro.prerender(#32356)useAppConfigtonuxt/server(083b44ee4)handleCorstonuxt/server(f2c93dbfc)readValidatedBodyandgetValidatedQuerytonuxt/server(c8343d7a4)getRouterParam(s)andgetRequestIPtonuxt/server(158901fde)my-bad(#36258)nuxt/server(#36358)appSecret(#35874)nuxt generateprerendering (#36288)nuxt/serverhandlers a portable event (5bf478b8c)nuxt/server(#36275)ShallowReftype to vue preset (#36266)$fetchanduseFetchfrom generated server routes (#36238)module:before/module:donehooks (#36173)useTerminalfor host-aware prompts and tasks (#36162)navigateTo(#36115)noScripts(#35803)<NuxtLink>(#35808)app/typesandserver/typesdirectories (#35783)preloadComponentsandNuxtIslandname (#35775)typedPageswithcompatibilityVersion: 5(#35789)serializeoption to keep async data out of payload (#35779)tsConfigoptions (#35697)$Fetchtype (#35625)NuxtPageMetainterface forNuxtPage.meta(#34816)expiresinuseCookie(#35628)🔥 Performance
package-manager-detectorto install packages (#36434)04f319837)2da76d248)unctxfrom client environment (+defuin single-object config) (#36371)flrufor prerender cache (#36340)isVuecalls into plugin filters (#36116)confboxandpkg-typesfrom dependencies (#36083)ufodependency (#36073)microdiffandnode:crypto(#36071)<NuxtLink>anchors directly on server (#36015)jitiunless it is needed (#35943)ssr: falsepages from server bundle (#35836)definePageMetakeys at build time (#35919)🩹 Fixes
Configuration
📅 Schedule: (UTC)
* * * * *)🚦 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 these updates again.
This PR was generated by Mend Renovate. View the repository job log.