Skip to content
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

fix(nuxt): update useNuxtData to access shared asyncData state #22277

Merged
merged 15 commits into from Mar 15, 2024

Conversation

94726
Copy link
Contributor

@94726 94726 commented Jul 21, 2023

🔗 Linked issue

resolves #19704
resolves #22696

❓ Type of change

  • 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • 👌 Enhancement (improving an existing functionality like performance)
  • ✨ New feature (a non-breaking change that adds functionality)
  • 🧹 Chore (updates to the build process or auxiliary tools and libraries)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

This change synchronizes the data value of useNuxtData and useAsyncData.

Currently, they aren't really in sync. This happens because the data in the payload (used by useNuxtData) and asyncData are not the same refs. They're only set to the same values on two occasions:

  1. when a fetch resolved
  2. when asyncData is first called per key and it gets hydrated by the payload

📝 Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.

@stackblitz
Copy link

stackblitz bot commented Jul 21, 2023

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@danielroe
Copy link
Member

danielroe commented Jul 22, 2023

Would you be able to add a regression test? This might be a case for doing so in the unit tests directory (see test/nuxt/composables.test.ts)...

@94726
Copy link
Contributor Author

94726 commented Jul 22, 2023

Will do, but I noticed that my implementation only works after hydration and not on the server which may lead to issues.
Also the default may now get thrown into the payload which doesn't make sense, I guess?

Maybe it's better to change useNuxtData to use nuxt._asyncData instead of the payload. Though that would also make useNuxtData return the default, at times :/
What do you think?

@madsh93
Copy link
Sponsor

madsh93 commented Jul 31, 2023

It may also resolve this #22348

@danielroe
Copy link
Member

Sorry for the long delay in getting back to you. I don't there's an issue with useNuxtData coming up with the default value. (But I do think we should keep the default value out of the payload.)

I'll mark this as draft as it sounds like there's a little more to do here. (And a test would be appreciated.)

@danielroe danielroe marked this pull request as draft August 24, 2023 11:59
@logotip4ik
Copy link
Contributor

logotip4ik commented Aug 27, 2023

idk, but this does solve issue for me if page is initially loaded (when isHydrating is true). But it still breaks with client side navigation (isHydrating is false, because nuxt tries to get data from nuxt.static.data field, but there is none, for non generated websites). If you also add fallback for .static.data it will solve issue even for client side navigation.

in case any body wondering, here are changed lines in my patch (asyncData.js file):

-  const getCachedData = () => nuxt.isHydrating ? nuxt.payload.data[key] : nuxt.static.data[key];
-  const hasCachedData = () => getCachedData() !== void 0;
+  const getCachedData = () => nuxt.isHydrating ? toRef(nuxt.payload.data, key) : (nuxt.static.data[key] || toRef(nuxt.payload.data, key));
+  const hasCachedData = () => unref(getCachedData()) !== void 0;

upd: Now it breaks refetching asyncData. After first request data will be always cached and therefore never refetched ?

logotip4ik added a commit to logotip4ik/keycap that referenced this pull request Aug 28, 2023
@94726
Copy link
Contributor Author

94726 commented Sep 7, 2023

Sorry for the long delay in getting back to you. I don't there's an issue with useNuxtData coming up with the default value. (But I do think we should keep the default value out of the payload.)

I updated useNuxtData to simply use _asyncData instead of the payload. That seemed like the easiest way to ensure synchronization without polluting the payload. The only drawback is that calling useNuxtData before useAsyncData will lead to skipping the initial default as _asyncData already exists. Probably not to much of a problem, but maybe could be changed if necessary.

I also included some tests for the synchronization + additional ones for asyncData default because there were none and I didn't want to break anything :)

@94726 94726 marked this pull request as ready for review September 25, 2023 18:20
@94726
Copy link
Contributor Author

94726 commented Oct 11, 2023

This should also resolve #22696

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ No coverage uploaded for pull request base (main@c069239). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #22277   +/-   ##
=======================================
  Coverage        ?   58.76%           
=======================================
  Files           ?        5           
  Lines           ?      861           
  Branches        ?       46           
=======================================
  Hits            ?      506           
  Misses          ?      355           
  Partials        ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@metkm
Copy link

metkm commented Feb 26, 2024

Any idea when this pr will be merged? This would be a good fix and needed I think

@94726
Copy link
Contributor Author

94726 commented Feb 26, 2024

I just fixed the remaining issues, but I'm not sure whether this is the best approach, as it makes all the _asyncData fields optional only because data is also being controlled by useNuxtData.

I also had the idea of splitting data into a seperate object and using the fact that toRef(reactiveObject, 'key') handles creation/tracking of the key even if it doesn't exist yet. See example.

Not sure what the better approach is here. Would love to get some feedback on it :)

@metkm
Copy link

metkm commented Mar 11, 2024

@danielroe I hate to do this but any chance we can get this released on the next version? I think this bug should be a higher priority because using useNuxtData without sync does not make sense

@danielroe danielroe changed the title fix(nuxt): sync useNuxtData and useAsyncData fix(nuxt): update useNuxtData to access shared asyncData state Mar 15, 2024
@danielroe danielroe merged commit a6d6fde into nuxt:main Mar 15, 2024
35 checks passed
@github-actions github-actions bot mentioned this pull request Mar 15, 2024
mustafa60x added a commit to mustafa60x/nuxt that referenced this pull request Apr 9, 2024
* docs: document `fallback` prop for `<NuxtLayout>` (nuxt#26091)

* chore(deps): update all non-major dependencies to v2.0.5 (main) (nuxt#26088)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update all non-major dependencies (main) (nuxt#26097)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): don't refetch server components in initial html (nuxt#26089)

* fix(nuxt): resolve `defu`/`h3` paths in type templates (nuxt#26085)

* fix(nuxt): use exported `toExports` from `unimport` (nuxt#26086)

* fix(nuxt): cache-bust payloads with build id (nuxt#26068)

* fix(nuxt): export `AsyncDataRequestStatus` type (nuxt#26023)

* docs: add documentation for using layers with private repos (nuxt#26094)

* docs: remove twoslash from code sample

* chore: remove second twoslash prop too 🤔

* chore(deps): update devdependency c12 to v1.10.0 (main) (nuxt#26105)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): add space before `<html>` and `<body>` attrs (nuxt#26027)

* fix(kit): resolve module `node_modules` for `modulesDir` (nuxt#25548)

* perf(nuxt): use fallthrough cache for prerender (nuxt#26104)

* feat(nuxt): client-only pages (nuxt#25037)

* chore(deps): update dependency cssnano to ^6.1.0 (main) (nuxt#26107)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(nuxt): allow using `nuxt-client` in all components (nuxt#25479)

* feat(nuxt): add `page:view-transition:start` hook (nuxt#26045)

* feat(nuxt): custom loading reset/hide delay + force `finish()` (nuxt#25932)

* feat(nuxt): emit error if `<NuxtIsland>` can't fetch island (nuxt#25798)

* feat(nuxt): `usePreviewMode` composable (nuxt#21705)

* chore(deps): update all non-major dependencies (main) (nuxt#26112)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update devdependency typescript to v5.4.2 (main) (nuxt#26115)

* docs: update cssnano website url

cssnano/cssnano#1578

* docs: add warning about latest `vue-tsc` (nuxt#26083)

* chore(deps): update dependency unplugin to ^1.8.3 (main) (nuxt#26117)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: improve readme readability (nuxt#26118)

Co-authored-by: Sébastien Chopin <seb@nuxtlabs.com>
Co-authored-by: Sébastien Chopin <seb@nuxt.com>

* fix(nuxt): handle external redirects from `routeRules` (nuxt#26120)

* chore: update .npmrc (nuxt#26135)

* docs: added bridge `macros.pageMeta` and `typescript.esbuild` option (nuxt#26136)

* docs: fix bracket escape on `definePageMeta` page (nuxt#26139)

* fix(nuxt): use flat cache directory for prerender data

* chore(deps): update all non-major dependencies (main) (nuxt#26124)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): watch custom `cookieRef` values deeply (nuxt#26151)

* fix(nuxt): access prerender cache synchronously (nuxt#26146)

* chore(deps): update devdependency happy-dom to v13.7.0 (main) (nuxt#26148)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(nuxt): support async transforms for data composables (nuxt#26154)

* chore(deps): update dependency unplugin to ^1.9.0 (main) (nuxt#26156)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): provide typescript aliases for core packages (nuxt#26158)

* chore(deps): update all non-major dependencies (main) (nuxt#26157)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* fix(nuxt): handle errors resolving package paths

* fix(kit): handle errors resolving module path

* chore: add back stylistic rules and lint project

* fix(nuxt): clone paths to prevent shared object

* chore(deps): update all non-major dependencies to ^1.8.12 (main) (nuxt#26159)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): pin devdependency eslint-config-standard to 17.1.0 (main) (nuxt#26160)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* perf(nuxt): tree shake island renderer

* fix(nuxt): detect component usage within `ssrRender` (nuxt#26162)

* chore(deps): update all non-major dependencies (main) (nuxt#26166)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* perf(nuxt): skip adding selective-client code if not enabled (nuxt#26176)

* perf(nuxt): use faster approach to check cache exists (nuxt#26172)

* docs: add `app:manifest:update` hook (nuxt#26192)

* feat(nuxt): add dedicated `#teleports` element for ssr teleports (nuxt#25043)

* fix(nuxt): improved plugin annotating warnings (nuxt#26193)

* docs: add cache.varies docs for multi-tenant use case (nuxt#26197)

* refactor(nuxt): simplify `request` computation (nuxt#26191)

* docs: add mentions on Vue School tutorials (nuxt#25997)

* fix(nuxt): generate typed routes after pages are scanned (nuxt#26206)

* fix(nuxt): only strip supported extensions when generating import types (nuxt#26218)

* fix(nuxt): init payload when using islands with `ssr: false`

* feat(nuxt): enable islands if server pages/components present (nuxt#26223)

* docs: update link to `zhead`

* fix(nuxt): register/scan plugins with jsx/tsx extensions (nuxt#26230)

* feat(nuxt): allow generating metadata for nuxt components (nuxt#26204)

* chore(deps): update all non-major dependencies (main) (nuxt#26189)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* feat(vite): handle multiple/custom public dirs (nuxt#26163)

* docs: added modular architecture use case for Layers (nuxt#26240)

* ci: run lint step after bundle test

* chore(deps): update all non-major dependencies (main) (nuxt#26234)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* docs: escape 'elements' in jsdoc comments

* perf(nuxt): only update changed templates (nuxt#26250)

* chore(deps): update devdependency happy-dom to v13.8.5 (main) (nuxt#26251)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): update auto imports after other templates (nuxt#26249)

* chore: remove trailing slash in issue template (nuxt#26268)

* chore(deps): update all non-major dependencies (main) (nuxt#26254)

* docs: use a more common word (nuxt#26276)

* chore(deps): update vitest to v1.4.0 (main) (nuxt#26265)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): respect `baseUrl` within server components (nuxt#25727)

* fix(nuxt): access shared asyncData state with `useNuxtData` (nuxt#22277)

* chore(deps): update dependency ufo to v1.5.0 (main) (nuxt#26280)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* docs: split a sentence in two to improve readability (nuxt#26279)

* chore(deps): update devdependency nitropack to v2.9.4 (main) (nuxt#26281)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(vite): explicitly import `publicAssetsURL`

* feat(schema): allow configuring type hoists with `typescript.hoist`

* fix(nuxt): don't ignore any files from `buildAssetsDir`

* docs: removed unused composable example (nuxt#26283)

* fix(vite): drop name prefix for client chunk file names (nuxt#26203)

* docs: add more keywords for reducer/reviver docs

nuxt#21832 (comment)

* docs: link to pinceau repo rather than website (nuxt#26286)

* docs: add link to ofetch repo (nuxt#26284)

* feat(nuxt): pass nuxt instance to `getCachedData` (nuxt#26287)

* fix(kit): clone middleware when adding to app

* feat(nuxt): pass server logs to client (nuxt#25936)

Co-authored-by: Sébastien Chopin <seb@nuxt.com>

* fix(nuxt): don't generate separate chunk for stubs (nuxt#26291)

* chore(deps): update dependency ufo to v1.5.1 (main) (nuxt#26290)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* fix(nuxt): use `joinRelativeURL` for build assets (nuxt#26282)

* fix(schema): allow passing `deep` to `selectiveClient`

* docs: improve section titles in error-handling docs (nuxt#26288)

* ci: release in ci when a v3 tag is pushed

* fix(schema): don't hoist types for `consola` for now

* chore: bump ip and follow-redirects

* fix(nuxt): guard `window` access more carefully

* ci: do not cache Playwright browsers (nuxt#26296)

* test: use retryable assertion for `scrollY` (nuxt#26298)

* chore(deps): update all non-major dependencies to ^1.8.20 (main) (nuxt#26294)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* test: also run composables test with appManifest off

* chore: remove old code

* feat(nuxt): add `nuxtMiddleware` route rule (nuxt#25841)

* test: remove wait for `networkidle`

* test: use locator assertion for body text

* test: use function assertion for second scrollY test

* chore: temporarily remove codspeed plugin

* chore: tidy dependencies

* chore: update knip schema

* chore: do not export unused type

* refactor(nuxt): rename `nuxtMiddleware` to `appMiddleware`

* test: add type test for appMiddleware route rules

* refactor(nuxt): use addTypeTemplate for page augmentations

* fix(nuxt): provide appMiddleware types with universal router

* chore(deps): update devdependency @nuxt/test-utils to v3.12.0 (main) (nuxt#26299)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(nuxt): use addTypeTemplate in more places

* fix(nuxt): handle nightly releases for hoisted types

* feat(nuxt): add `clear` utility to `useAsyncData`/`useFetch` (nuxt#26259)

* chore(nuxt): ensure type template has const filename

* docs: add example for `clear`

* docs: add docs about playwright runner support

* docs: add some `appMiddleware` docs

* v3.11.0

* ci: configure npm registry in release workflow

* docs: fix code block formatting for `usePreviewMode` (nuxt#26303)

* docs: fix confusing wording (nuxt#26301)

* chore(deps): update devdependency happy-dom to v13.9.0 (main) (nuxt#26313)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): ignore console.logs called outside event context

resolves nuxt#26308

* fix(schema): include `ofetch` in `typescript.hoist` defaults (nuxt#26316)

* fix(nuxt): conditionally use `tsx` parser (nuxt#26314)

* docs: add note that `useId` must be used with single root element

* fix(nuxt): correct `finish` types and add to docs

resolves nuxt#26317

* fix(nuxt): ignore failures to access asyncContext in environments without it

* chore(nuxt): remove unused code (nuxt#26319)

* chore(deps): update all non-major dependencies (main) (nuxt#26321)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency ufo to v1.5.2 (main) (nuxt#26339)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): handle failure creating BroadcastChannel (nuxt#26340)

* fix(nuxt): don't warn when injecting client-only components (nuxt#26341)

* chore(deps): update github/codeql-action action to v3.24.8 (main) (nuxt#26342)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: mention `<DevOnly>` component in api section (nuxt#26029)

* docs: note that `@nuxt/schema` should be used by module authors (nuxt#26190)

* docs: add `routeNameSplitter` example in migration docs (nuxt#25838)

* chore: revert update github/codeql-action action

This reverts commit 70b2986.

* chore(deps): update dependency nuxi to v3.11.0 (main) (nuxt#26353)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): prevent losing pages routes on prerender (nuxt#26354)

* chore(deps): update all non-major dependencies (main) (nuxt#26344)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): pass `undefined` name when resolving trailing slash (nuxt#26358)

* fix(vite): use ssr result if it exists (nuxt#26356)

* v3.11.1

* chore(deps): update devdependency happy-dom to v14 (main) (nuxt#26359)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: fix typo in test descriptions (nuxt#26366)

* docs: update information about playwright test runner

* docs: add info about dependencies to install

* docs: add missing end block

* chore: rename to yaml

* fix(nuxt): handle underscores in island names (nuxt#26370)

* docs: migration page typo (nuxt#26389)

* chore(deps): update all non-major dependencies (main) (nuxt#26376)

* fix(nuxt): don't append new route for redirect if one exists (nuxt#26368)

* fix(nuxt): ignore `navigateTo` `open` option on server side (nuxt#26392)

* chore(deps): update all non-major dependencies (main) (nuxt#26399)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency nuxi to v3.11.1 (main) (nuxt#26404)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update actions/dependency-review-action action to v4.2.3 (main) (nuxt#26408)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update all non-major dependencies (main) (nuxt#26413)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): print errors when compiling templates (nuxt#26410)

* fix(nuxt): don't warn about `definePageMeta` in server pages (nuxt#26422)

* fix(nuxt): pass `joinRelativeURL` + share paths on server (nuxt#26407)

* perf(nuxt): don't tree-shake `useServerHead` in dev (nuxt#26421)

* fix(nuxt): exclude `<srcDir>/index.html` from import protection (nuxt#26430)

* fix(nuxt): early return from `refreshCookie` on server

* chore(deps): update all non-major dependencies (main) (nuxt#26427)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* chore(deps): update all non-major dependencies (main) (nuxt#26436)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update all non-major dependencies (main) (nuxt#26448)

* docs: advise installing nuxi for debugging with pnpm (nuxt#26447)

* chore(deps): update all non-major dependencies (main) (nuxt#26460)

* chore(deps): update all non-major dependencies (main) (nuxt#26466)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* fix(nuxt): move `v-if` to wrapper in islands transform (nuxt#26386)

* docs: warn about single root element for server components (nuxt#26462)

* chore(deps): update all non-major dependencies (main) (nuxt#26478)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* fix(nuxt): move directives to client component island wrapper (nuxt#26387)

* fix(nuxt): ignore fetch errors in `getLatestManifest` (nuxt#26486)

* fix(nuxt): check island element instead of hydration state (nuxt#26480)

* chore(deps): update all non-major dependencies (main) (nuxt#26492)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: adjust grammar (nuxt#26482)

* chore(deps): update codecov/codecov-action action to v4.1.1 (main) (nuxt#26496)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update devdependency happy-dom to v14.3.9 (main) (nuxt#26500)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): add build id to rendered payload url (nuxt#26504)

* chore(deps): update resolutions rollup to ^4.13.1 (main) (nuxt#26506)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(nuxt): support serialising rich server logs (nuxt#26503)

* fix(nuxt): handle errors parsing/stringifying logs

* chore(deps): update all non-major dependencies to ^1.9.2 (main) (nuxt#26518)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* chore(deps): update all non-major dependencies (main) (nuxt#26530)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update resolutions rollup to ^4.13.2 (main) (nuxt#26537)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: add contents of the layout in examples (nuxt#26532)

* fix(nuxt): augment `GlobalComponents` in multiple vue modules (nuxt#26541)

* refactor(nuxt): remove duplicated check (nuxt#26544)

* refactor(nuxt): simplify check in `navigateTo` for server (nuxt#26546)

* chore(deps): update all non-major dependencies (main) (nuxt#26545)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* chore(deps): update all non-major dependencies (main) (nuxt#26548)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: add note about `prerenderRoutes` in dynamic routes (nuxt#26547)

* chore(deps): update dependency webpack-dev-middleware to v7.2.0 (main) (nuxt#26559)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: improve pr template (nuxt#26562)

* chore(deps): update dependency cookie-es to ^1.1.0 (main) (nuxt#26568)

* perf(nuxt): reduce nuxt island payload (nuxt#26569)

* docs: clarify app-config merging strategy note (nuxt#26564)

* refactor(nuxt): simplify `runtimeConfig` initialization of client side (nuxt#26558)

* docs: update core modules roadmap (nuxt#26553)

* chore(deps): update devdependency @types/node to v20.12.2 (main) (nuxt#26573)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency knitwork to ^1.1.0 (main) (nuxt#26577)

* chore: enable devtools by default in playground

* chore(deps): update all non-major dependencies (main) (nuxt#26584)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* docs: replace `process.*` with `import.meta.*` (nuxt#26611)

* fix(nuxt): suppress warning about resolve cache-driver (nuxt#26595)

* perf(nuxt): unsubscribe from watch when scope is disposed (nuxt#26554)

* fix(nuxt): handle auto-importing named components (nuxt#26556)

* fix(schema): update webpack `transformAssetUrls` + pass `hoistStatic` to vite plugin (nuxt#26563)

* fix(schema): document use case for `typescript.shim` (nuxt#26607)

* chore(deps): pin devdependency @vue/compiler-sfc to 3.4.21 (main) (nuxt#26621)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* perf(nuxt): reduce router resolutions (nuxt#26519)

* chore(deps): update all non-major dependencies (main) (nuxt#26613)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* fix(nuxt): normalise rollup opts in island transform w/o nuxt (nuxt#26589)

* docs: correct grammar in `typescript.shim` JSDoc (nuxt#26626)

* chore(deps): update dependency vite to v5.2.8 (main) (nuxt#26627)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update devdependency eslint-plugin-unicorn to v52 (main) (nuxt#26632)

* chore(deps): update dependency css-loader to ^6.11.0 (main) (nuxt#26631)

* chore: migrate to ESLint flat config (nuxt#26583)

* fix(nuxt): handle missing Nuxt context in `useRoute` (nuxt#26633)

* chore(deps): update all non-major dependencies (main) (nuxt#26636)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency magic-string to ^0.30.9 (main) (nuxt#26641)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: add missing comma (nuxt#26644)

* v3.11.2

* chore: update `moduleResolution` to `Bundler` (nuxt#26658)

* chore: cleanup eslint rules with latest `@nuxt/eslint-config` (nuxt#26653)

* docs: update Nuxt 4 scheduled release date (nuxt#26663)

* chore(deps): update dependency css-loader to v7 (main) (nuxt#26646)

* chore(deps): update devdependency eslint to v9 (main) (nuxt#26671)

* chore(deps): update devdependency @eslint/js to v9 (main) (nuxt#26670)

* chore(deps): pin dependencies (main) (nuxt#26665)

* docs: remove step of installing deps in new nuxt project (nuxt#26676)

* chore(deps): update all non-major dependencies (main) (nuxt#26645)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>

* perf(nuxt): don't add client fallback plugin if not enabled (nuxt#26666)

* chore(deps): update all non-major dependencies (main) (nuxt#26682)

* fix(nuxt): prevent `getCachedData` from shaping type of `useAsyncData` (nuxt#25946)

* chore(deps): update all non-major dependencies (main) (nuxt#26692)

---------

Co-authored-by: Adam DeHaven <2229946+adamdehaven@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
Co-authored-by: Andre van Tonder <andre@drevan.me>
Co-authored-by: təəna.vuə <76698025+franklin-tina@users.noreply.github.com>
Co-authored-by: i-udas <83934567+i-udas@users.noreply.github.com>
Co-authored-by: Damian Głowala <damian.glowala.rebkow@gmail.com>
Co-authored-by: Bogdan Kostyuk <contact@bogdankostyuk.xyz>
Co-authored-by: Julien Huang <julien.huang@outlook.fr>
Co-authored-by: Horváth Bálint <40771359+horvbalint@users.noreply.github.com>
Co-authored-by: Divine <48183131+divine@users.noreply.github.com>
Co-authored-by: Sultanov Mirjamol <9625526+cljamal@users.noreply.github.com>
Co-authored-by: Antoine Zanardi <antoine.zanardi@epitech.eu>
Co-authored-by: Sébastien Chopin <seb@nuxtlabs.com>
Co-authored-by: Sébastien Chopin <seb@nuxt.com>
Co-authored-by: Ryota Watanabe <43837308+wattanx@users.noreply.github.com>
Co-authored-by: k-karen <40630915+k-karen@users.noreply.github.com>
Co-authored-by: Alex Liu <dsa1314@gmail.com>
Co-authored-by: Alexander Lichter <github@lichter.io>
Co-authored-by: Harlan Wilton <harlan@harlanzw.com>
Co-authored-by: Mostafa Said <mostafasaid1994@gmail.com>
Co-authored-by: Mehmet <hi@productdevbook.com>
Co-authored-by: Anthony Aslangul <anthony.aslangul@gmail.com>
Co-authored-by: Martins <34019878+martinszeltins@users.noreply.github.com>
Co-authored-by: Anthony Fu <anthonyfu117@hotmail.com>
Co-authored-by: OrbisK <37191683+OrbisK@users.noreply.github.com>
Co-authored-by: Tanvir Rahman <rahmantanvir25558@gmail.com>
Co-authored-by: Marc Cremer <marc@cremer.dev>
Co-authored-by: Maik Kowol <maik.s.kowol@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Horu <73709188+HigherOrderLogic@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
Co-authored-by: Joaquín Sánchez <userquin@gmail.com>
Co-authored-by: Turdalin Nurassyl <78026760+trdln@users.noreply.github.com>
Co-authored-by: Volker Rose <volker.rose@gmail.com>
Co-authored-by: Serge Doda <33413869+bargel@users.noreply.github.com>
Co-authored-by: zunderbolt <zunderbolt@gmail.com>
Co-authored-by: François Rosato <rosato.francois@gmail.com>
Co-authored-by: Thimo <68739517+ThimoDEV@users.noreply.github.com>
Co-authored-by: Michał Zarach <michal.m.zarach@gmail.com>
Co-authored-by: Junaid Ahmed <12216819+junaidkbr@users.noreply.github.com>
Co-authored-by: xjccc <546534045@qq.com>
Co-authored-by: Pothuraju <ram.k160796@gmail.com>
Co-authored-by: Lehoczky Zoltán <ifjlehoczkyzoltan@gmail.com>
Co-authored-by: Taras Batenkov <taras.batenkov@gmail.com>
Co-authored-by: Maxime Pauvert <maximepvrt@gmail.com>
Co-authored-by: Antoine Rey <antoinerey38@gmail.com>
Co-authored-by: Luke Nelson <luke@nelson.zone>
Co-authored-by: Nikita <118117345+nikitadmitr@users.noreply.github.com>
Co-authored-by: Max <maximogarciamtnez@gmail.com>
Co-authored-by: RollingTL <16714526+RollingTL@users.noreply.github.com>
Co-authored-by: Han <hi@fenghan.link>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants