This repository has been archived by the owner on Apr 9, 2023. It is now read-only.
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:
^2.15.3
->^3.0.0
Release Notes
nuxt/nuxt
v3.3.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
performance.mark()
(#19687)h3
utilities to set response status/code (#19713)📖 Documentation
useAsyncData
(#19225)$fetch
in top-level<script setup>
(#19357)return
statement (fc7867fb0)@nuxt/kit
example with node built-ins (#19873)🏡 Chore
✅ Tests
🤖 CI
❤️ Contributors
v3.3.1
Compare Source
👀 Highlights
✨ Local module development DX
We've landed a raft of changes to enable local modules and improve DX. We now auto-scan your
~/modules
folder and register top level files there as modules in your project (https://github.com/nuxt/nuxt/pull/19394). When these files are changed, we'll automatically restart the nuxt server.export default defineNuxtConfig({ modules: [ '@​nuxtjs/tailwindcss', - '~/modules/purge-comments' ] })
We also now expose
nuxt/kit
for easy access to kit composables in your local project without having to install@nuxt/kit
(https://github.com/nuxt/nuxt/pull/19422).♻️ Restarting Nuxt
You can add files to the
watch
array to automatically restart the server (https://github.com/nuxt/nuxt/pull/19530). This is likely to be particularly useful for module authors. You can also trigger a restart of the Nuxt server with the newrestart
hook (https://github.com/nuxt/nuxt/pull/19084). We also landed a couple of fixes on restarting the Nuxt server which should improve your experience when developing.🔥 Performance improvements
We've increased static asset maxAge to 1yr as a matter of best practice (https://github.com/nuxt/nuxt/pull/19335), and support tree-shaking more of your build (https://github.com/nuxt/nuxt/pull/19508). We also now support preloading
<NuxtLink>
s with a route in object-syntax (https://github.com/nuxt/nuxt/pull/19120).We also track how long it takes each module you use to perform its setup, and warn if it takes too long. You can see all these values by running your dev server with
DEBUG=1
You can also opt-in to some of Nuxt's internal optimisations by configuring composables to be treeshaken in a particular environment (https://github.com/nuxt/nuxt/pull/19383), or to have magic keys automatically injected (https://github.com/nuxt/nuxt/pull/19490) - primarily useful for module authors.
🐛 Error handling
We now handle chunk errors by default (https://github.com/nuxt/nuxt/pull/19086), meaning if your site updates with a redeploy, we automatically handle reloading it on navigation. You can disable this and handle it yourself with the new
reloadNuxtApp
composable. You can also setexperimental.restoreState
to preserve some of your app state across reloads.We also have a new experimental error handling component:
<NuxtClientFallback>
(https://github.com/nuxt/framework/pull/8216) which can capture errors rendering on server, replace them with fallback content, and granularly trigger rerendering the part with an error on the client. This can be enabled withexperimental.clientFallback
- feedback very welcome!⚡️ Head improvements
We've migrated to use
unhead
directly (https://github.com/nuxt/nuxt/pull/19519) - and automatically tree-shake server-only head composables likeuseServerHead
from your client build (https://github.com/nuxt/nuxt/pull/19576), meaning you can have great SEO without needing to include meta tag logic that's relevant only for crawlers in your client build.There's also a new
useHeadSafe
composable that handles santising untrusted user input (https://github.com/nuxt/nuxt/pull/19548).🪵 Better logging in browser DevTools
Working with the Chrome DevTools team, we've landed a couple of features across the unjs + Nuxt ecosystem meaning we now have first-class support for hiding Nuxt internal stack traces from logs in your (Chromium-based, for now) browser (https://github.com/nuxt/nuxt/pull/19243). We also landed a couple of improvements with stacktraces involving Nuxt hooks (https://github.com/unjs/hookable/pull/69 and https://github.com/unjs/hookable/pull/68) implementing
console.createTask
.💪 Type improvements
Types for server API routes are now more correct - with non-serialisable types stripped out of the return type (https://github.com/unjs/nitro/pull/1002).
We also now type more of
NuxtApp
and correctly type unknown injections for greater type-safety (https://github.com/nuxt/nuxt/pull/19643).And if you were struggling with correct types when using
transform
+default
with Nuxt data fetching composables, fear no more - we now infer the types correctly (https://github.com/nuxt/nuxt/pull/19487).⚗️ Nitro enhancements
This release comes with Nitro v2.3, which brings lots of improvements of its own. Check out the release for more info.
We now support
useAppConfig
in nitro server routes (https://github.com/nuxt/nuxt/pull/19489) - a long-awaited change. NowuseAppConfig
is consistently available throughout your app for non-runtime configuration from layers, modules, etc.We've also added a
nitro:build:public-assets
hook to allow modifying assets output from nitro's prerender/build phase (https://github.com/nuxt/nuxt/pull/19638).🛠️ Build changes
As part of moving towards first-class support for PNP and pnpm support without
--shamefully-hoist
, we've dropped support for some internal (deprecated) utilities using CJS resolve patterns (https://github.com/nuxt/nuxt/pull/19537, https://github.com/nuxt/nuxt/pull/19608). We also now resolve dependencies likenuxt
,@nuxt/kit
and more using ESM search-paths. We'll be keeping a close eye on this.We're also preparing the groundwork for support of new TypeScript Node16 module resolution (https://github.com/nuxt/nuxt/issues/19606), and as part of this have changed the format of our runtime output (using
.js
instead of.mjs
extensions, providingtypes
fields for subpath exports, and more).🗺️ Custom config schema (advanced)
We've been testing out an experimental feature to allow modules and users to extend the Nuxt config schema (https://github.com/nuxt/nuxt/issues/15592), and we've now enabled this by default (https://github.com/nuxt/nuxt/pull/19172). We expect this will be particularly useful for module and layer/theme authors, and should result in some nicer DX for their users.
Changelog
compare changes
🚀 Enhancements
restart
hook is called (#19084)versions
to runtime nuxtApp (#19064)node_modules
and buildDir tox_google_ignoreList
(#19243)nuxt/kit
subpath for local use (#19422)~/modules
(#19394)priority
to allow overriding (#19252)trailingSlashBehavior
indefineNuxtLink
(#19458)logLevel
(#19369)<NuxtClientFallback>
component (#8216)watch
option and refactor dev server restarting (#19530)useHeadSafe
and remove layer around head imports (#19548)nitro:build:public-assets
hook (#19638)🔥 Performance
@vueuse/head
dependency (#19519)🩹 Fixes
NuxtLink
(#19379)import.meta
types (#19338)/
fromsourcemapIgnoreList
for windows support (73ade185b)kit.*
files to published package (#19430)transform
(#19487)boolean
from inline module definitions (#19621)payloadExtraction
warning only when unset (#18516)💅 Refactors
📖 Documentation
versions
and modules (#19448)routeRules
(#19455)devServer.https
example (#19486)~/server/utils
directory in~/utils
page (#19500)addComponent
jsdoc comment (#19503)--log-level
(06b9233b1)🏡 Chore
@nuxt/test-utils
package as external group (#19419)hasProtocol
options format (#19555)✅ Tests
🤖 CI
❤️ Contributors
v3.3.0
Compare Source
v3.2.3
Compare Source
👉 Changelog
compare changes
🔥 Performance
🩹 Fixes
distDir
is unlinked (#19131)<NuxtLink>
(#19144)rel
attribute on internal link (#19309)noExternal
option (#19256)📖 Documentation
🏡 Chore
🤖 CI
❤️ Contributors
v3.2.2
Compare Source
👀 Highlights
As a patch release, there are mostly bug fixes and performance improvements in the changelog. (Nevertheless, it's always worth reading through!) But one point of note is an experimental reload strategy when chunk errors are encountered. We're hoping to finalise the API and land it in v3.3 (our next feature release) with https://github.com/nuxt/nuxt/pull/19086, but you can test out an experimental version with the following config:
With this strategy, your app will hard reload on route changes if there's a chunk error. More info at https://github.com/nuxt/nuxt/pull/19038.
👉 Changelog
compare changes
🚀 Enhancements
app:chunkError
hook and reload strategy (#19038)🔥 Performance
#components
(#19008)🩹 Fixes
nuxt/schema
subpath for augmentation (#18922)statusCode
is a number (#19001)nuxt/app
by default (#19009)nuxt/app
from optimised deps (9e789c76c)isCustomElement
config for jsx transform (#19053)devServer
options from nuxt config (#19055)//
in path when constructing payload url (#19085)💅 Refactors
📖 Documentation
nuxi devtools
command (#18888)static
property (80f73d39c)sendRedirect
usage (#19070)📦 Build
nuxt/schema
to externals (e3e768873)nuxt
to nuxt externals (b1b908b1e)🏡 Chore
✅ Tests
🤖 CI
❤️ Contributors
v3.2.1
Compare Source
v3.2.0
Compare Source
👀 Highlights
⚡️ Nuxt DevTools
More information in the docs!
✨ Better DX for overriding
runtimeConfig
, including inline type helpers🪄 Automatically inferred return type for
useFetch
and$fetch
based on method.🍪
useFetch
is now integrated withevent.$fetch
, meaning cookies and context are now passed to api requests automagically within internal requests.🔥 We now treeshake client-only components out of the server build more effectively using the experimental
treeshakeClientOnly
feature🛠️ New
addRouteMiddleware
kit utility for module authors💪 Nitropack v2.2 has been released
Changelog
compare changes
🚀 Enhancements
addRouteMiddleware
method (#18553)ssr: false
(#18783)useFetch
return based on the method (#18526)🔥 Performance
ssr: false
(#18782)🩹 Fixes
ssr: false
(#18828)<ClientOnly>
(#8713)💅 Refactors
📖 Documentation
useError
composable (#8912)preloadRouteComponents
page heading error (#18804)✅ Tests
❤️ Contributors
v3.1.2
Compare Source
Changelog
compare changes
🔥 Performance
🩹 Fixes
defu
in all places (#18624)__publicAssetsURL
set before loading assets (#18642)_installedModules
(#18647)onNuxtReady
safe to run on server-side (#18706)📖 Documentation
vue-gtag
plugin example (#18528)useHead
(#18552)defineEventHandler()
to avoid warnings (#18557)JSON.stringify()
(#18590)@types/node
manually (6b2bc680b).env
to directory structure and improve config docs (#18594)head()
(#18650)validate
example (#18728)🏡 Chore
2.x
branch name (727cf7958)✅ Tests
assertNumber
helper (aa646f065)🤖 CI
nuxt-edge
for nuxt v2 (dd0e2643c)❤️ Contributors
v3.1.1
Compare Source
Update notes
There's also a Nitro upgrade to v2.1.0 released shortly after v3.1.1, so when upgrading, please either run
nuxt upgrade --force
or refresh your lockfile.Changelog
compare changes
🩹 Fixes
<NuxtPage>
(#18495)vue
(#18505)📖 Documentation
app.vue
file name consistent (#18517)❤️ Contributors
v3.1.0
Compare Source
💬 Release Discussion
👀 Highlights
onNuxtReady
,useNuxtData
anduseSeoMeta
composablesChangelog
compare changes
🚀 Enhancements
onNuxtReady
composable (#9478)useNuxtData
composable (#9262)useCookie
ref value by default (#9664)imports:context
hook for unimport context (#9971)build.transpile
as function (#7767)extendRouteRules
method (#9771)<NuxtLoadingIndicator>
(#18432)useSeoMeta
composable (#18441)🔥 Performance
@unhead/ssr
(#9826)useServerSeoMeta
composable (#18476)🩹 Fixes
postcss.config
from schema (#9181)<NuxtPage>
component props (#9204)useCookie
with defaults should return non-null value (#9449).nuxtignore
within external layers (#9599)req
/res
access (#9636)<NuxtLoadingIndicator>
after throttle (#9832)--template
flag (#9946)runtime
dir in build output (#10046)build.transpile
strings to nitro inline list (#10094)definePageMeta
(#9161)class
prop type for head components (#9133)globalThis
(#9627)ignore
(#15884)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 has been generated by Mend Renovate. View repository job log here.