nuxt / nuxt.com

The Nuxt website, made with Nuxt.
https://nuxt.com
MIT License
290 stars 145 forks source link

chore(deps): update nuxt framework to v3.13.0 #1646

Closed renovate[bot] closed 2 weeks ago

renovate[bot] commented 3 weeks ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@nuxt/kit (source) 3.12.4 -> 3.13.0 age adoption passing confidence
@nuxt/schema (source) 3.12.4 -> 3.13.0 age adoption passing confidence
nuxt (source) ^3.12.4 -> ^3.13.0 age adoption passing confidence

Release Notes

nuxt/nuxt (@​nuxt/kit) ### [`v3.13.0`](https://togithub.com/nuxt/nuxt/releases/tag/v3.13.0) [Compare Source](https://togithub.com/nuxt/nuxt/compare/v3.12.4...v3.13.0) ##### 👀 Highlights I'm pretty excited about this release - we've ported some features we had planned for Nuxt v4 back to v3, as well as a raft of bug fixes and performance improvements - as usual. Here are a few of things I'm most excited about. ##### 🏘️ Route Groups We now support naming directories with parentheses/brackets to organise your routes without affecting the path. For example: ```bash [Directory structure] -| pages/ ---| index.vue ---| (marketing)/ -----| about.vue -----| contact.vue ``` This will produce `/`, `/about` and `/contact` pages in your app. The `marketing` group is ignored for purposes of your URL structure. Read more in [the original PR](https://togithub.com/nuxt/nuxt/pull/28276). ##### 🏝️ Islands and Head Metadata It's now possible for server component islands to manipulate the head, such as by adding SEO metadata when rendering. Read more in [#​27987](https://togithub.com/nuxt/nuxt/pull/27987). ##### 🪝 Custom Prefetch Triggers We now support custom prefetch triggers for `NuxtLink` ([#​27846](https://togithub.com/nuxt/nuxt/pull/27846)). For example: ```vue [pages/index.vue] ``` It's also possible to enable/disable these globally for your app and override them per link. For example: ```ts [nuxt.config.ts] export default defineNuxtConfig({ experimental: { defaults: { nuxtLink: { prefetch: true, prefetchOn: { visibility: false, interaction: true } } } } }) ``` ##### 🗺️ Better Server Source Maps When running with `node --enable-source-maps`, you may have noticed that the source maps for the Vue files in your server build pointed to the Vite build output (something like `.nuxt/dist/server/_nuxt/index-O15BBwZ3.js`). Now, even after your Nitro build, your server source maps will reference your original source files ([#​28521](https://togithub.com/nuxt/nuxt/pull/28521)). Note that one of the easiest ways of improving your build performance is to turn off source maps if you aren't using them, which you can do easily in your `nuxt.config`: ```ts [nuxt.config.ts] export default defineNuxtConfig({ sourcemap: { server: false, client: true, }, }) ``` ##### 🎁 New Features for Module Authors In the run-up to Nuxt v4, we're working on adding some key functionality for module authors, including a new `isNuxtMajorVersion` utility where required ([#​27579](https://togithub.com/nuxt/nuxt/pull/27579)) and better inferred typing for merged module options using the new `defineNuxtModule().with()` method ([#​27520](https://togithub.com/nuxt/nuxt/pull/27520)). ##### ✨ Improved Dev Warnings We no longer warn when using data fetching composables in middleware ([#​28604](https://togithub.com/nuxt/nuxt/pull/28604)) and we warn when user components' names begin with Lazy ([#​27838](https://togithub.com/nuxt/nuxt/pull/27838)). ##### 🚨 Vue TypeScript Changes For a while, in the Vue ecosystem, we've been augmenting `@vue/runtime-core` to add custom properties and more to `vue`. However, this inadvertently breaks the types for projects that augment `vue` - which is now the officially recommended in the docs way to augment these interfaces (for example, [ComponentCustomProperties](https://vuejs.org/api/utility-types.html#componentcustomproperties), [GlobalComponents](https://vuejs.org/guide/extras/web-components.html#web-components-and-typescript) and [so on](https://vuejs.org/guide/typescript/options-api.html#augmenting-global-properties)). This means *all* libraries must update their code (or it will break the types of libraries that augment `vue` instead). We've updated our types in Nuxt along these lines but you may experience issues with the latest `vue-router` when used with libraries which haven't yet done so. Please create an issue with a reproduction - I'll happily help create a PR to resolve in the upstream library in question. Or you may be able to work around the issue by creating a `declarations.d.ts` in the root of your project with the following code ([credit]()): ```ts [declarations.d.ts] import type { ComponentCustomOptions as _ComponentCustomOptions, ComponentCustomProperties as _ComponentCustomProperties, } from 'vue'; declare module '@​vue/runtime-core' { interface ComponentCustomProperties extends _ComponentCustomProperties {} interface ComponentCustomOptions extends _ComponentCustomOptions {} } ``` ##### ✅ Upgrading As usual, our recommendation for upgrading is to run: ```sh npx nuxi@latest upgrade --force ``` 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](https://togithub.com/nuxt/nuxt/compare/v3.12.4...v3.13.0) ##### 🚀 Enhancements - **nuxt:** Await custom `routes` function in `router.options` ([#​27644](https://togithub.com/nuxt/nuxt/pull/27644)) - **kit:** Add new `isNuxtMajorVersion` compatibility util ([#​27579](https://togithub.com/nuxt/nuxt/pull/27579)) - **kit,schema:** Add `.with` for better module options types ([#​27520](https://togithub.com/nuxt/nuxt/pull/27520)) - **nuxt:** Warn when user components' names begin with `Lazy` ([#​27838](https://togithub.com/nuxt/nuxt/pull/27838)) - **nuxt:** Allow specifying app id when creating a nuxt app ([#​28392](https://togithub.com/nuxt/nuxt/pull/28392)) - **nuxt:** Custom enable/disable hooks for `usePreviewMode` ([#​28371](https://togithub.com/nuxt/nuxt/pull/28371)) - **kit:** Add `prepend` option to `addRouteMiddleware` ([#​28496](https://togithub.com/nuxt/nuxt/pull/28496)) - **nuxt:** Allow organising pages within route groups ([#​28276](https://togithub.com/nuxt/nuxt/pull/28276)) - **vite:** Preserve vite sourcemaps for nitro build ([#​28521](https://togithub.com/nuxt/nuxt/pull/28521)) - **nuxt:** Allow defining triggers for prefetching links ([#​27846](https://togithub.com/nuxt/nuxt/pull/27846)) - **nuxt:** Namespace `__NUXT__` when using multi-app ([#​27263](https://togithub.com/nuxt/nuxt/pull/27263)) - **nuxt:** Allow server islands to manipulate head ([#​27987](https://togithub.com/nuxt/nuxt/pull/27987)) ##### 🔥 Performance - **nuxt:** Call cookie `decode` function only for named cookie ([#​28215](https://togithub.com/nuxt/nuxt/pull/28215)) - **nuxt:** Avoid making client-only component setup async ([#​28334](https://togithub.com/nuxt/nuxt/pull/28334)) - **nuxt:** Avoid multiple calls to `getCachedData` ([#​28472](https://togithub.com/nuxt/nuxt/pull/28472)) ##### 🩹 Fixes - **nuxt:** Don't warn for `definePageMeta` in client-only pages ([#​28246](https://togithub.com/nuxt/nuxt/pull/28246)) - **kit:** Include module `dist/runtime/` in tsconfig includes ([#​28237](https://togithub.com/nuxt/nuxt/pull/28237)) - **schema:** Support absolute/relative paths for `assetsDir` ([59f0099f4](https://togithub.com/nuxt/nuxt/commit/59f0099f4)) - **schema:** Do not override user `serverDir` ([#​28249](https://togithub.com/nuxt/nuxt/pull/28249)) - **schema:** Use new options syntax for `vite-plugin-vue` ([#​28307](https://togithub.com/nuxt/nuxt/pull/28307)) - **schema:** Export new module return types ([c0ad8db93](https://togithub.com/nuxt/nuxt/commit/c0ad8db93)) - **kit:** Add missing type import ([1a60b4541](https://togithub.com/nuxt/nuxt/commit/1a60b4541)) - **vite,webpack:** Handle local postcss plugins ([#​28481](https://togithub.com/nuxt/nuxt/pull/28481)) - **nuxt:** Handle `scroll-padding-top: auto` in scrollBehavior ([#​28320](https://togithub.com/nuxt/nuxt/pull/28320)) - **nuxt:** Ensure `runtimeConfig.public` is reactive on client ([#​28443](https://togithub.com/nuxt/nuxt/pull/28443)) - **nuxt:** Update renamed stub composables from `nuxt/scripts` ([#​28449](https://togithub.com/nuxt/nuxt/pull/28449)) - **nuxt:** Augment `@vue/runtime-core` and `@vue/runtime-dom` ([#​28446](https://togithub.com/nuxt/nuxt/pull/28446)) - **nuxt:** Scan jsx pages for page metadata ([#​28479](https://togithub.com/nuxt/nuxt/pull/28479)) - **nuxt:** Handle plugin type extensions more correctly ([#​28480](https://togithub.com/nuxt/nuxt/pull/28480)) - **vite:** Respect `baseURL` for public assets in dev ([#​28482](https://togithub.com/nuxt/nuxt/pull/28482)) - **vite:** Add transformation result to log for parse errors ([#​28508](https://togithub.com/nuxt/nuxt/pull/28508)) - **vite:** Include module symbols in generated code ([#​28509](https://togithub.com/nuxt/nuxt/pull/28509)) - **nuxt:** Add reason when aborting request in `useFetch` ([#​28517](https://togithub.com/nuxt/nuxt/pull/28517)) - **nuxt:** Only augment `vue`, not sub-packages ([#​28542](https://togithub.com/nuxt/nuxt/pull/28542)) - **nuxt:** Avoid stripping js extensions in plugin injections ([#​28593](https://togithub.com/nuxt/nuxt/pull/28593)) - **nuxt:** Preserve route-specific metadata on `route.meta` ([#​28441](https://togithub.com/nuxt/nuxt/pull/28441)) - **nuxt:** Don't warn when data fetching in middleware ([#​28604](https://togithub.com/nuxt/nuxt/pull/28604)) - **nuxt:** Extract route rules/page meta in 2+ script blocks ([#​28625](https://togithub.com/nuxt/nuxt/pull/28625)) - **nuxt:** Allow customising status code in `validate` method ([#​28612](https://togithub.com/nuxt/nuxt/pull/28612)) - **nuxt:** Do not provide default `prefetchOn` prop ([#​28630](https://togithub.com/nuxt/nuxt/pull/28630)) - **nuxt:** Revert back to object syntax for island head ([#​28656](https://togithub.com/nuxt/nuxt/pull/28656)) ##### 📖 Documentation - Fix issue in cookie passing example ([#​28223](https://togithub.com/nuxt/nuxt/pull/28223)) - Fix note in layers usage chapter ([#​28236](https://togithub.com/nuxt/nuxt/pull/28236)) - Fix spaces ([#​28233](https://togithub.com/nuxt/nuxt/pull/28233)) - Add `vue` lang to sample code ([#​28247](https://togithub.com/nuxt/nuxt/pull/28247)) - Use `splitSetCookieString` from `cookie-es` ([29f95ae0d](https://togithub.com/nuxt/nuxt/commit/29f95ae0d)) - Use `headers.getSetCookie` ([45c6df9a4](https://togithub.com/nuxt/nuxt/commit/45c6df9a4)) - Fix codemod command typos ([#​28279](https://togithub.com/nuxt/nuxt/pull/28279)) - `bunx` -> `bun x` ([#​28277](https://togithub.com/nuxt/nuxt/pull/28277)) - Add missing comma to example ([#​28300](https://togithub.com/nuxt/nuxt/pull/28300)) - Add language to example schema codeblock ([#​28294](https://togithub.com/nuxt/nuxt/pull/28294)) - Update link to RuntimeNuxtHooks ([#​28336](https://togithub.com/nuxt/nuxt/pull/28336)) - Update links to social media ([cd5195047](https://togithub.com/nuxt/nuxt/commit/cd5195047)) - Setup host property and usage example ([#​28331](https://togithub.com/nuxt/nuxt/pull/28331)) - Fix TypeScript errors for examples ([#​28403](https://togithub.com/nuxt/nuxt/pull/28403)) - Improve readability of link to mdn ([#​28327](https://togithub.com/nuxt/nuxt/pull/28327)) - Use ts for create-error example ([#​28411](https://togithub.com/nuxt/nuxt/pull/28411)) - Alias links in jsdoc `@see` blocks ([#​28270](https://togithub.com/nuxt/nuxt/pull/28270)) - Link to vue test utils docs for `mountSuspended` ([#​28463](https://togithub.com/nuxt/nuxt/pull/28463)) - Remove vue-tsc major version constraint ([#​28484](https://togithub.com/nuxt/nuxt/pull/28484)) - Recommend '#teleports' target instead of 'body' ([#​28489](https://togithub.com/nuxt/nuxt/pull/28489)) - Correct custom routing link ([#​28497](https://togithub.com/nuxt/nuxt/pull/28497)) - Improve typing of default exports ([#​28520](https://togithub.com/nuxt/nuxt/pull/28520)) - Fix `options` type in custom useFetch recipe ([#​28389](https://togithub.com/nuxt/nuxt/pull/28389)) - Update useRuntimeConfig source path ([#​28553](https://togithub.com/nuxt/nuxt/pull/28553)) - Add line-breaks to tips in Module Author Guide ([#​28587](https://togithub.com/nuxt/nuxt/pull/28587)) - Update nuxt scripts status ([#​28629](https://togithub.com/nuxt/nuxt/pull/28629)) ##### 🏡 Chore - **schema:** Fix typo ([#​28377](https://togithub.com/nuxt/nuxt/pull/28377)) - **nuxt:** Use router code reference permalink ([#​28356](https://togithub.com/nuxt/nuxt/pull/28356)) - **nuxt:** Remove unnecessary await ([#​28407](https://togithub.com/nuxt/nuxt/pull/28407)) - Upgrade vue in a separate pr ([#​28414](https://togithub.com/nuxt/nuxt/pull/28414)) - Update docs typecheck command ([49de5f731](https://togithub.com/nuxt/nuxt/commit/49de5f731)) - Lint ([cab9e5c35](https://togithub.com/nuxt/nuxt/commit/cab9e5c35)) - Fix some typos in comments ([#​28501](https://togithub.com/nuxt/nuxt/pull/28501)) ##### ✅ Tests - Disable `pageTransition` in client-only page ([#​27839](https://togithub.com/nuxt/nuxt/pull/27839)) - Ignore `SharedComponent` in server head ([510f3e28f](https://togithub.com/nuxt/nuxt/commit/510f3e28f)) - Update bundle size ([3ecb95a7c](https://togithub.com/nuxt/nuxt/commit/3ecb95a7c)) ##### 🤖 CI - Add reproduire-sur-stackblitz workflow ([#​28531](https://togithub.com/nuxt/nuxt/pull/28531)) ##### ❤️ Contributors - Daniel Roe ([@​danielroe](https://togithub.com/danielroe)) - Julien Huang ([@​huang-julien](https://togithub.com/huang-julien)) - Maxime Pauvert ([@​maximepvrt](https://togithub.com/maximepvrt)) - felix-dolderer ([@​felix-dolderer](https://togithub.com/felix-dolderer)) - Nicolas Payot ([@​nicolaspayot](https://togithub.com/nicolaspayot)) - Kewin Szlezingier ([@​kewinzaq1](https://togithub.com/kewinzaq1)) - Vasily Kuzin ([@​ExEr7um](https://togithub.com/ExEr7um)) - xjccc ([@​xjccc](https://togithub.com/xjccc)) - Martin André ([@​Martichou](https://togithub.com/Martichou)) - Mike Laumann Bellika ([@​MikeBellika](https://togithub.com/MikeBellika)) - Typed SIGTERM ([@​typed-sigterm](https://togithub.com/typed-sigterm)) - Horu ([@​HigherOrderLogic](https://togithub.com/HigherOrderLogic)) - Son Tran ([@​trandaison](https://togithub.com/trandaison)) - rubyisrust ([@​rubyisrust](https://togithub.com/rubyisrust)) - Matej Černý ([@​CernyMatej](https://togithub.com/CernyMatej)) - Riley Ho ([@​rileychh](https://togithub.com/rileychh)) - Adam DeHaven ([@​adamdehaven](https://togithub.com/adamdehaven)) - Potter ([@​yxw007](https://togithub.com/yxw007)) - Martin Masevski ([@​Archetipo95](https://togithub.com/Archetipo95)) - BoogieBen. ([@​boogie-ben](https://togithub.com/boogie-ben)) - Tobias Diez ([@​tobiasdiez](https://togithub.com/tobiasdiez)) - Michael Brevard ([@​GalacticHypernova](https://togithub.com/GalacticHypernova)) - Damian Głowala ([@​DamianGlowala](https://togithub.com/DamianGlowala)) - Lucie ([@​lihbr](https://togithub.com/lihbr)) - Yasser Lahbibi ([@​yassilah](https://togithub.com/yassilah)) - Sébastien Chopin ([@​atinux](https://togithub.com/atinux)) - [@​beer](https://togithub.com/beer) ([@​iiio2](https://togithub.com/iiio2)) - AuroraTea ([@​AuroraTea](https://togithub.com/AuroraTea)) - Bobbie Goede ([@​BobbieGoede](https://togithub.com/BobbieGoede)) - Alexander Lichter ([@​manniL](https://togithub.com/manniL)) - nuxt-studio\[bot] ([@​nuxt-studio](https://togithub.com/nuxt-studio)\[bot]) - Vaci ([@​vacijj](https://togithub.com/vacijj)) - FELIPE COSTA DE OLIVEIRA ([@​FelipeO16](https://togithub.com/FelipeO16)) - 一纸忘忧 ([@​ikxin](https://togithub.com/ikxin)) - Meo ([@​miaobuao](https://togithub.com/miaobuao)) - Mohab Sameh ([@​mohab-sameh](https://togithub.com/mohab-sameh)) - Quentin Macq ([@​quentinmcq](https://togithub.com/quentinmcq)) - Johan Krijt ([@​johankrijt](https://togithub.com/johankrijt))

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 these updates again.



This PR was generated by Mend Renovate. View the repository job log.