-
Notifications
You must be signed in to change notification settings - Fork 0
chore(deps): update dependency nuxt to v4 #17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/major-nuxtjs-monorepo
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #17 +/- ##
=======================================
Coverage 81.25% 81.25%
=======================================
Files 2 2
Lines 16 16
Branches 3 3
=======================================
Hits 13 13
Misses 2 2
Partials 1 1 ☔ View full report in Codecov by Sentry. |
cc90140
to
4568665
Compare
4568665
to
4540320
Compare
d3f8794
to
b282b5a
Compare
b282b5a
to
21e1041
Compare
21e1041
to
0dc132c
Compare
0dc132c
to
accb026
Compare
accb026
to
14d70ac
Compare
14d70ac
to
289204d
Compare
289204d
to
61cbda6
Compare
ce17fd3
to
ead5f78
Compare
e17cbf6
to
820a539
Compare
820a539
to
8fb76ca
Compare
8fb76ca
to
5da404a
Compare
3081f07
to
bb9630f
Compare
bb9630f
to
8de8318
Compare
7945b7f
to
b0b6269
Compare
b0b6269
to
f30629b
Compare
f30629b
to
f4bbd2c
Compare
f4bbd2c
to
c5522b1
Compare
c5522b1
to
d489016
Compare
d489016
to
8553ed0
Compare
9126a1b
to
7a0fbf3
Compare
7a0fbf3
to
e1601ac
Compare
e1601ac
to
a6a86e0
Compare
a6a86e0
to
f9571c6
Compare
f9571c6
to
616cbd5
Compare
95a9288
to
8dcba76
Compare
8dcba76
to
e164e15
Compare
e164e15
to
5201218
Compare
5201218
to
365ae2b
Compare
074d50d
to
9cc7a8b
Compare
9cc7a8b
to
e1918d8
Compare
e1918d8
to
2884f01
Compare
2884f01
to
61c00f5
Compare
61c00f5
to
d1b84cf
Compare
d1b84cf
to
40743da
Compare
8e91b33
to
d65d015
Compare
d65d015
to
1403266
Compare
1403266
to
64ddc16
Compare
e86368c
to
5abf2ce
Compare
e538ba3
to
30ceba5
Compare
02ac8cf
to
fb45f5f
Compare
fb45f5f
to
312ec92
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
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.
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.
This PR contains the following updates:
^2.14.4
->^4.1.2
Release Notes
nuxt/nuxt (nuxt)
v4.1.2
Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
dst
is present (#33200)hydrate-when
lazy hydration strategy (#33199)🩹 Fixes
pkg-types
to dependencies (9fe2541ca)backgroundSize
in loading indicator (#33211)enabled
from components dir options (#32844)📖 Documentation
app/
suffix to a few links (#33217)🏡 Chore
✅ Tests
❤️ Contributors
v4.1.1
Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
globalThis
overwindow
(#33125)deps.inline
(#33133)useRoute
usage warning (#33039)imports:sources
in override warning (#33050)📖 Documentation
--
to bun create command (5e661f0ca)app/
prefix in lots of cases (#33117)navigateTo
(#21442)🏡 Chore
rou3
github url (#33130).ts
extension (db9d840e1)🤖 CI
4x
tags from releases (1cd8a6857)❤️ Contributors
v4.1.0
Compare Source
👀 Highlights
🔥 Build and Performance Improvements
🍫 Enhanced Chunk Stability
Build stability has been significantly improved with import maps (#33075). This prevents cascading hash changes that could invalidate large portions of your build when small changes are made:
By default, JS chunks emitted in a Vite build are hashed, which means they can be cached immutably. However, this can cause a significant issue: a change to a single component can cause every hash to be invalidated, massively increasing the chance of 404s.
In short:
Obviously this wasn't optimal. With this new feature, the hash of (otherwise) unchanged files which import the entry won't be affected.
This feature is automatically enabled and helps maintain better cache efficiency in production. It does require native import map support, but Nuxt will automatically disable it if you have configured
vite.build.target
to include a browser that doesn't support import maps.And of course you can disable it if needed:
🦀 Experimental Rolldown Support
Nuxt now includes experimental support for
rolldown-vite
(#31812), bringing Rust-powered bundling for potentially faster builds.To try Rolldown in your Nuxt project, you need to override Vite with the rolldown-powered version since Vite is a dependency of Nuxt. Add the following to your
package.json
:npm:
pnpm:
yarn:
bun:
After adding the override, reinstall your dependencies. Nuxt will automatically detect when Rolldown is available and adjust its build configuration accordingly.
For more details on Rolldown integration, see the Vite Rolldown guide.
🧪 Improved Lazy Hydration
Lazy hydration macros now work without auto-imports (#33037), making them more reliable when component auto-discovery is disabled:
This ensures that components that are not "discovered" through Nuxt (e.g., because
components
is set tofalse
in the config) can still be used in lazy hydration macros.📄 Enhanced Page Rules
If you have enabled experimental extraction of route rules, these are now exposed on a dedicated
rules
property onNuxtPage
objects (#32897), making them more accessible to modules and improving the overall architecture:The
defineRouteRules
function continues to work exactly as before, but now provides better integration possibilities for modules.🚀 Module Development Enhancements
Module Dependencies and Integration
Modules can now specify dependencies and modify options for other modules (#33063). This enables better module integration and ensures proper setup order:
This replaces the deprecated
installModule
function and provides a more robust way to handle module dependencies with version constraints and configuration merging.🪝 Module Lifecycle Hooks
Module authors now have access to two new lifecycle hooks:
onInstall
andonUpgrade
(#32397). These hooks allow modules to perform additional setup steps when first installed or when upgraded to a new version:The hooks are only triggered when both
name
andversion
are provided in the module metadata. Nuxt uses the.nuxtrc
file internally to track module versions and trigger the appropriate hooks. (If you haven't come across it before, the.nuxtrc
file should be committed to version control.)🙈 Enhanced File Resolution
The new
ignore
option forresolveFiles
(#32858) allows module authors to exclude specific files based on glob patterns:📂 Layer Directories Utility
A new
getLayerDirectories
utility (#33098) provides a clean interface for accessing layer directories without directly accessing private APIs:✨ Developer Experience Improvements
🎱 Simplified Kit Utilities
Several kit utilities have been improved for better developer experience:
addServerImports
now supports single imports (#32289):🔥 Performance Optimizations
This release includes several internal performance optimizations:
🐛 Notable Fixes
useFetch
hook typing (#32891)<NuxtTime>
(#32893)✅ Upgrading
As usual, our recommendation for upgrading is to run:
This will refresh your lockfile and pull in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
ignore
option toresolveFiles
(#32858)onInstall
andonUpgrade
module hooks (#32397)rolldown-vite
(#31812)defineRouteRules
to pagerules
property (#32897)getLayerDirectories
util and refactor to use it (#33098)🔥 Performance
🩹 Fixes
satisfies
in page augmentation (#32902)useFetch
hooks (#32891)resolvePath
and normalize file extensions (#32857)requestTimeout
+ allow configuration (#32874)node_modules/
if no customsrcDir
(#32987)route
object (#32899)defineNuxtModule().with()
(#33081)nuxtApp._runningTransition
on resolve (#33025)💅 Refactors
async/await
inafterEach
(#32999)📖 Documentation
setupTimeout
and addteardownTimeout
(#32868)webRoot
to use new app directory (df7177bff)app/
directory in layer guide (eee55ea41)--nightly
command (#32907)features.inlineStyles
default value (6ff3fbebb)useRoute
and accessing route in middleware (#33004)🏡 Chore
type: 'module'
in playground (#33099)✅ Tests
import.meta.dev
(#33023)findWorkspaceDir
rather than relative paths to repo root (a6dec5bd9)expect.poll
(53fb61d5d)expect.poll
instead ofexpectWithPolling
(357492ca7)vi.waitUntil
instead of custom retry logic (611e66a47)🤖 CI
❤️ Contributors
v4.0.3
Compare Source
👉 Changelog
compare changes
🔥 Performance
tinyglobby
inresolveFiles
(#32846)🩹 Fixes
error
variable (#32807)typeCheck
(#32835)null
result from webpack call (84816d8a1)reverseResolveAlias
for better errors (#32853)📖 Documentation
bun.lock
for lockfile (#32820)🏡 Chore
✅ Tests
defineNuxtComponent
out of e2e test (#32848)🤖 CI
❤️ Contributors
v4.0.2
Compare Source
👉 Changelog
compare changes
🩹 Fixes
<ClientOnly>
and<DevOnly>
(#32707)defineAppConfig
type (#32760)app
context (#32758)mlly
to parse module paths (#32386)📖 Documentation
npm create nuxt@latest
(#32726).with()
(#32757)🏡 Chore
unbuild
and use absolute path in dev stubs (#32759)✅ Tests
module.exports
export (c4317e057)🤖 CI
pkg.pr.new
formain
/3.x
branches as well (b0f289550)3x
tag to latest v3 release (5f6c27509)❤️ Contributors
v4.0.1
Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
nuxt.schema
files to node tsconfig context (#32644)nitropack
(ed5ad64ad)shared/
dir (#32676)💅 Refactors
📖 Documentation
-t v4
tag from getting started (343f59235)noUncheckedIndexedAccess
rule change in v4 guide (#32643)📦 Build
nitropack
types as external (39be1b3a9)🏡 Chore
🤖 CI
❤️ Contributors
v4.0.0
Compare Source
Nuxt 4.0 is here! 🎉
After a year of real-world testing, we're excited to announce the official release of Nuxt 4. This is a stability-focused major release, introducing a few thoughtful breaking changes in order to improve development experience.
If you've been following along, you'll recognize many of these features and changes — and if you're new to them, we hope you'll welcome them.
🔥 What's new?
Nuxt 4 is all about making your development experience smoother:
app/
directory structureshared/
folder, and configurationWhy these features in particular? Mostly because these kind of improvements have required making changes that are technically breaking.
In general, we aim for a hype-free approach to releases. Rather than save up features for a big release, we've been shipping improvements in Nuxt 3 minor releases.
We've also spent a lot of time figuring out how to implement these changes in a backwards-compatible way, and I hope that means that most Nuxt 3 projects can upgrade with a minimum of effort.
I'd advise reading through the upgrade guide before you start, to understand what areas of your app might be affected.
🗂️ New project structure
The biggest visible change is how projects are organized. Your application code now lives in an
app/
directory by default:This helps keep your code separate from
node_modules/
and.git/
, which makes file watchers faster (especially on Windows and Linux). It also gives your IDE better context about whether you're working with client or server code.🎨 Updated UI templates
Nuxt’s starter templates have an all new look, with improved accessibility, default titles, and template polish (#27843).
🔄 Smarter data fetching
We've made
useAsyncData
anduseFetch
work better. Multiple components using the same key now share their data automatically. There's also automatic cleanup when components unmount, and you can use reactive keys to refetch data when needed. Plus, we've given you more control over when cached data gets used.Some of these features have already been made available in Nuxt v3 minor releases, because we've been rolling this out gradually. Nuxt v4 brings different defaults, and we expect to continue to work on this data layer in the days to come.
🔧 Better TypeScript experience
Nuxt now creates separate TypeScript projects for your app code, server code,
shared/
folder, and builder code. This should mean better autocompletion, more accurate type inference and fewer confusing errors when you're working in different contexts.This is probably the single issue that is most likely to cause surprises when upgrading, but it should also make your TypeScript experience much smoother in the long run. Please report any issues you encounter. 🙏
⚡ Faster CLI and development
In parallel with the release of v4, we've been working on speeding up
@nuxt/cli
.fs.watch
APIs for fewer system resourcesThese improvements combined can make a really noticeable difference in your day-to-day development experience, and we have more planned.
🚀 How to upgrade
Although any major release brings breaking changes, one of our main aims for this release is to ensure that the upgrade path is as smooth as possible. Most of the breaking changes have been testable with a compatibility flag for over a year.
Most projects should upgrade smoothly, but there are a few things to be aware of:
@nuxt/kit
. (This will particularly affect module authors.)Don't worry though — for most breaking changes, there are configuration options to revert to the old behavior while you adjust.
1. Update Nuxt
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
2. Optional: use migration tools
We’ve also partnered with Codemod to automate many, though not all, migration steps:
3. Test and adjust
Run your tests, check that everything builds correctly, and fix any issues that come up. The upgrade guide has detailed migration steps for specific scenarios.
We'd recommend reading through it in full before starting your upgrade, to understand what areas of your app might be affected.
🗺️ What's next?
We're planning quick patch releases to address any issues that come up. Nuxt 3 will continue to receive maintenance updates (both bug fixes and backports of features from Nuxt 4) until the end of January 2026, so there's no rush if you need time to migrate.
Looking ahead, we plan to release Nuxt 5 on the sooner side, which will bring Nitro v3 and h3 v2 for even better performance, as well as adopting the Vite Environment API for an improved (and faster!) development experience. And there's a lot more in the works too!
And, quite apart from major releases, we have a lot of exciting features planned to make their way into Nuxt 3.x and 4.x release branches, including support for SSR streaming (#4753), a first-party accessibility module (#23255), built-in fetch caching strategies (#26017), more strongly typed fetch calls (landing in Nitro v3), dynamic route discovery (#32196), multi-app support (#21635) and more.
❤️ Thank you
This release is credit to so many people, particularly those who have been testing v4 compatibility mode over the past year. I'm really grateful — thank you for all your help!
Happy coding with Nuxt 4! 🚀
👉 Changelog
compare changes
🚀 Enhancements
mlly
(#28012)addServerImports
(#32289)onWatcherCleanup
to imports presets (#32396)<NuxtTime>
prop types (#32547)🔥 Performance
render:html
for server islands (#27889)🩹 Fixes
compatibilityVersion: 4
(#27710)builder:watch
hook (#27709)asyncData
value behaviour (#27718)__NUXT__
after hydration (#27745)4
(7aae4033b)resolvePath
utils as sync (655e1473d)tryResolveModule
(2d136e04c)requireModule
andtryRequireModule
(#28013)useScriptCrisp
scripts stub (0c3cc4cf3)globalName
property (#28391)updateAppConfig
in HMR (#28349)ssr: false
(#28488)window
access (d874726ff)resolveId
fromvite-node
to resolve deps (#30922)isEqual
from mainohash
export (3ec1a1e5e)output.preserveModules
(ce49734aa)#app-manifest
import in dev mode (#31539)purgeCachedData
until v4 (7aa3a01ae)purgeCachedData
by default (06745604c).execute
(d79e14612)compatibilityVersion: 3
(#32255)useAsyncData
(#32170)errorValue
/value
to be undefined (7e4eac655)srcDir
(#32487)@nuxt/cli
(#32488)tsConfig
doesn't exclude too many types (#32528)app/
andserver/
folders into tsconfigs (#32592)typescript.hoist
(#32601)tsconfig.server.json
(#32594)compatibilityDate
to2025-07-15
(e35e1ccb9)scrollBehaviorType
for hash scrolling (#32622)💅 Refactors
#app/components/layout
->#app/components/nuxt-layout
(209e81b60)dedupe
option (#28151)installNuxtModule
(501ccc375)oxc-walker
(#32250)onPrehydrate
transform (#32045)📖 Documentation
useAsyncData
must return (#28259)deep
default foruseAsyncData
&useFetch
(#28564)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.