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.14.2
->3.14.4
3.13.1
->3.14.159
Release Notes
nuxt/test-utils (@nuxt/test-utils)
v3.14.4
Compare Source
compare changes
🩹 Fixes
NODE_ENV
when running built server (#969)❤️ Contributors
v3.14.3
Compare Source
compare changes
🩹 Fixes
directives
tomountSuspended
(#960)directives
torenderSuspended
(cf1b48ff)🏡 Chore
✅ Tests
❤️ Contributors
nuxt/nuxt (nuxt)
v3.14.159
Compare 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)mlly
to resolve module paths to avoid cjs fallback (#29799)webpack-dev-middleware
(#29806)📖 Documentation
🏡 Chore
❤️ Contributors
v3.14.0
Compare Source
👀 Highlights
Behind the scenes, a lot has been going on in preparation for the release of Nuxt v4 (particularly on the
unjs
side with preparations for Nitro v3!)⚡️ Faster starts powered by
jiti
Loading the nuxt config file, as well as modules and other build-time code, is now powered by
jiti
v2. 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
#shared
alias 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.)🦀
rspack
builderWe'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 useunplugin
to 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-builder
and setbuilder: 'rspack'
in your nuxt config file.✨ New composables
We have new
useResponseHeader
anduseRuntimeHook
composables (#27131 and #29741).🔧 New module utilities
We now have a new
addServerTemplate
utility (#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.vue
this 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:resolved
hook, which is called afterpages:extend
, after all pages have been augmented with their metadata. I'd recommend opting into this by settingexperimental.scanPageMeta
toafter-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)addServerTemplate
utility (#29320)useResponseHeader
composable (#27131)rspack
builder (#29142)pages:resolved
hook + scan meta post extend (#28861)definePageMeta
(#29586)shared/
folder and#shared
alias (#28682)useRuntimeHook
composable (#29741)🔥 Performance
useNuxtApp
(#29514)🩹 Fixes
InjectionType
template conditional (#29023)webpack
memfs (#29027)DOMException
as fetch abort exception (#29058)devServer.https
(#29049)buildDir
in dev mode (#29068)node_modules/
from parent urls (5bd42c893)crossorigin
attribute for stylesheets (#29138)routeRules
to hint pages to prerender (#29172)link:prefetch
(#29321)ConfigLayer
type fromc12
(#29370)typedPages
(#29352)configFile
as required in layer type (3bbcd7d21)createIsExternal
(686be8168)props
value indefinePageMeta
(#29683)nitropack/types
to ensure api routes are typed (54096875e)💅 Refactors
addBuildPlugin
internally (#29157)📖 Documentation
defineNuxtComponent
instead ofdefineComponent
(#29011)useRequestFetch
andevent.$fetch
(#29099)useFetch
errors (#29253)ofetch
headers for interceptors (#29118).env.test
(#29398)mockImplementation()
call (#29669)$fetch
(#29755)--envName
flag (#28909)📦 Build
beasties
(1b5391182)🏡 Chore
unbuild
update (71e0fb06f)jiti.import
(7ece49f9b)✅ Tests
unctx
transform (d81196122)🤖 CI
❤️ Contributors
v3.13.2
Compare Source
✅ 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
🔥 Performance
🩹 Fixes
propsDestructure
by default (#28830)route
has enumerable keys (#28841)asyncData
(#28842)ssr: false
(#28834)injectAtEnd
to reduce circular auto-imports (#28822)buildDir
for unimport (#28899)<NuxtErrorBoundary>
(#28901)modules
array (#28922)filePath
(#28925)runWithContext
generic (#28926)inheritAttrs: false
for fragment components (#28939)<script>
blocks (4fd24381c)isNuxtMajorVersion
export (#29016)useError
(#28996)💅 Refactors
vite:preloadError
event (#28862)📖 Documentation
useFetch
parameter signature (#28993)🏡 Chore
noUncheckedSideEffectImports
(#28903)pending triage
to blank issues (#28923)htmlnano
+ pin workflow deps (#28946)✅ Tests
route
in template (#28967)🤖 CI
❤️ Contributors
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.