chore(deps): update devdependency nuxt to ^3.15.0 - abandoned #2
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.13.2->^3.15.0Release Notes
nuxt/nuxt (nuxt)
v3.15.0Compare Source
👀 Highlights
❄️ Snowfall!
Happy holidays! You'll notice when you start Nuxt that (if you're in the Northern Hemisphere) there's some snow on the loading screen (#29871).
⚡️ Vite 6 included
Nuxt v3.15 includes Vite 6 for the first time. Although this is a major version, we expect that this won't be a breaking change for Nuxt users (see full migration guide). However, please take care if you have dependencies that rely on a particular Vite version.
One of the most significant changes with Vite 6 is the new Environment API, which we hope to use in conjunction with Nitro to improve the server dev environment. Watch this space!
You can read the full list of changes in the Vite 6 changelog.
🪵 Chromium devtools improvements
We talk a lot about the Nuxt DevTools, but v3.15 ships with better integration in dev mode for Chromium-based browser devtools.
We now use the Chrome DevTools extensibility API to add support for printing nuxt hook timings in the browser devtools performance panel.
🗺️ Navigation mode for
callOncecallOnce` is a built-in Nuxt composable for running code only once. For example, if the code runs on the server it won't run again on the client. But sometimes you do want code to run on _every navigation_ - just avoid the initial server/client double load. For this, there's a newmode: 'navigation'` option that will run the code only once _per navigation_. (See #30260 for more info.)🥵 HMR for templates, pages + page metadata
We now implement hot module reloading for Nuxt's virtual files (like routes, plugins, generated files) as well as for the content of page metadata (within a
definePageMetamacro) (#30113).This should mean you have a faster experience in development, as well as not needing to reload the page when making changes to your routes.
📋 Page meta enhancements
We now support extracting extra page meta keys (likely used by module authors) via
experimental.extraPageMetaExtractionKeys(#30015). This enables module authors to use this information at build time, in thepages:resolvedhook.We also now support local functions in
definePageMeta(#30241). This means you can do something like this:🔥 Performance improvements
We now preload the app manifest in the browser if it will be used when hydrating the app (#30017).
We'll also tree shake vue-router's hash mode history out of your bundle if we can - specifically, if you haven't customised your
app/router.options.ts(#30297).🐣 v4 updates
If A few more changes shipped for the new defaults for v4, including only inlining styles by default for Vue components (#30305).
✅ Upgrading
As usual, our recommendation for upgrading is to run:
This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
extraPageMetaExtractionKeys(#30015)definePageMeta(#30241)mode: 'navigation'tocallOnce(#30260)🔥 Performance
hashModeoption (#30297)🩹 Fixes
addServerTemplate(a02af2348)extraExtractionKeyson runtimeroute.meta(ae9f42f4a)stylevalue for head components (#29999)useIdimplementation (40f437d25)buildDirtonormalizeTemplate(#30115)useRequestFetch(#30117)nitropackrather thannitroimport (2d5b53b23)engines.nodeto match dependencies (#30139)routerOptions.historyto return null (#30192)useIdfor island client component teleport id (#30151)nuxtandnuxt/app(#30148)getRouteRulesworks with nitro signature (#30277)replacein middleware withnavigateTo(#30283)nitropack(f220314a5)<RouterLink>for links starting with#(#30190)#app-manifest(ec613e533)useIdforclient-fallbackcomponent uid (#30314)@vitest/(4171a1076)addTemplateif undefined (#30348)import.meta.hot.data(b1cf5781d)💅 Refactors
composable-keysplugin into nuxt core (#30029)nuxt:(#30028)📖 Documentation
event.waitUntil(#29583)vite.dev(#30111)nuxi upgradechannel flag (#30184)useLazyFetch(#30171)vite.css.preprocessorMaxWorkers(eb1ba017c)compatibilityVersionfeature flag (#30274)nuxicommand pages (#30199)inlineStyles(2660bffbc)🏡 Chore
unimport(7ee455969)installed-checkdependency (0e84cb9a4)engines.nodeto reflect only deps (d3d276919)rimraf(cf9d82c5a)divwrapper in client-only page (#30359)✅ Tests
🤖 CI
❤️ Contributors
v3.14.1592Compare Source
👉 Changelog
compare changes
🩹 Fixes
webpackbarwith support for rspack (#29823)dstto deduplicate templates when adding them (#29895)dstto invalidate modules (6cd3352de)changeevents (#29954)<NuxtWelcome>when building (#29956)💅 Refactors
📖 Documentation
🏡 Chore
✅ Tests
🤖 CI
❤️ Contributors
v3.14.159Compare Source
We're leaning into the π theme - future patch releases of this minor version will just continue adding digits. (Sorry for any inconvenience! 😆)
👉 Changelog
compare changes
🩹 Fixes
module.json(#29793)mllyto resolve module paths to avoid cjs fallback (#29799)webpack-dev-middleware(#29806)📖 Documentation
🏡 Chore
❤️ Contributors
v3.14.0Compare Source
👀 Highlights
Behind the scenes, a lot has been going on in preparation for the release of Nuxt v4 (particularly on the
unjsside with preparations for Nitro v3!)⚡️ Faster starts powered by
jitiLoading the nuxt config file, as well as modules and other build-time code, is now powered by
jitiv2. You can see more about the release in the jiti v2 release notes, but one of the most important pieces is native node esm import (where possible), which should mean a faster start. ✨📂 Shared folder for code and types shared with client/server
You should never import Vue app code in your nitro code (or the other way around). But this has meant a friction point when it comes to sharing types or utilities that don't rely on the nitro/vue contexts.
For this, we have a new
shared/folder (#28682). You can't import Vue or nitro code into files in this folder, but it produces auto-imports you can consume throughout the rest of your app.If needed you can use the new
#sharedalias which points to this folder.The shared folder is alongside your
server/folder. (If you're usingcompatibilityVersion: 4, this means it's not inside yourapp/folder.)🦀
rspackbuilderWe're excited to announce a new first-class Nuxt builder for
rspack. It's still experimental but we've refactored the internal Nuxt virtual file system to useunpluginto make this possible.Let us know if you like it - and feel free to raise any issues you experience with it.
👉 To try it out, you can use this starter - or just install
@nuxt/rspack-builderand setbuilder: 'rspack'in your nuxt config file.✨ New composables
We have new
useResponseHeaderanduseRuntimeHookcomposables (#27131 and #29741).🔧 New module utilities
We now have a new
addServerTemplateutility (#29320) for adding virtual files for access inside nitro runtime routes.🚧 v4 changes
We've merged some changes which only take effect with
compatibilityVersion: 4, but which you can opt-into earlier.previously, if you had a component like
~/components/App/Header.vuethis would be visible in your devtools as<Header>. From v4 we ensure this is<AppHeader>, but it's opt-in to avoid breaking any manual<KeepAlive>you might have implemented. (#28745).Nuxt scans page metadata from your files, before calling
pages:extend. But this has led to some confusing behaviour, as pages added at this point do not end up having their page metadata respected. So we now do not scan metadata before callingpages:extend. Instead, we have a newpages:resolvedhook, which is called afterpages:extend, after all pages have been augmented with their metadata. I'd recommend opting into this by settingexperimental.scanPageMetatoafter-resolve, as it solves a number of bugs.🗺️ Roadmap to v3.15
They didn't quite make it in time for v3.14 but for the next minor release you can expect (among other things):
✅ Upgrading
As usual, our recommendation for upgrading is to run:
This will refresh your lockfile as well, and ensures that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
jiti(#29073)addServerTemplateutility (#29320)useResponseHeadercomposable (#27131)rspackbuilder (#29142)pages:resolvedhook + scan meta post extend (#28861)definePageMeta(#29586)shared/folder and#sharedalias (#28682)useRuntimeHookcomposable (#29741)🔥 Performance
useNuxtApp(#29514)🩹 Fixes
InjectionTypetemplate conditional (#29023)webpackmemfs (#29027)DOMExceptionas fetch abort exception (#29058)devServer.https(#29049)buildDirin dev mode (#29068)node_modules/from parent urls (5bd42c893)crossoriginattribute for stylesheets (#29138)routeRulesto hint pages to prerender (#29172)link:prefetch(#29321)ConfigLayertype fromc12(#29370)typedPages(#29352)configFileas required in layer type (3bbcd7d21)createIsExternal(686be8168)propsvalue indefinePageMeta(#29683)nitropack/typesto ensure api routes are typed (54096875e)💅 Refactors
addBuildPlugininternally (#29157)📖 Documentation
defineNuxtComponentinstead ofdefineComponent(#29011)useRequestFetchandevent.$fetch(#29099)useFetcherrors (#29253)ofetchheaders for interceptors (#29118).env.test(#29398)mockImplementation()call (#29669)$fetch(#29755)--envNameflag (#28909)📦 Build
beasties(1b5391182)🏡 Chore
unbuildupdate (71e0fb06f)jiti.import(7ece49f9b)✅ Tests
unctxtransform (d81196122)🤖 CI
❤️ 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.