Skip to content

docs: nuxt ssr#583

Merged
dinwwwh merged 4 commits intomainfrom
docs/nuxt-ssr
Jun 3, 2025
Merged

docs: nuxt ssr#583
dinwwwh merged 4 commits intomainfrom
docs/nuxt-ssr

Conversation

@dinwwwh
Copy link
Copy Markdown
Member

@dinwwwh dinwwwh commented Jun 3, 2025

Summary by CodeRabbit

  • Documentation

    • Improved clarity and expanded setup instructions for Next.js, Nuxt.js, Solid Start, and TanStack Start adapters.
    • Added detailed guidance on configuring oRPC with Nuxt.js, including SSR optimization and client/server integration.
    • Updated and clarified code comments across multiple documentation files and code snippets.
  • Refactor

    • Updated Nuxt.js components to access the oRPC client via the Nuxt app context instead of direct imports.
    • Reorganized oRPC client setup in Nuxt.js to use plugins for both client and server environments, removing the previous static client file.
    • Simplified server route logic in Nuxt.js to always provide a fixed user context.

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
orpc ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 3, 2025 3:55am

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 3, 2025

Walkthrough

This update revises documentation for oRPC adapters across several frameworks, clarifies code comments regarding headers in server-side client context, and restructures the Nuxt playground to use Nuxt plugins for oRPC client/server integration. It also removes static imports of the oRPC client in Nuxt components, replacing them with injected context access.

Changes

Files/Groups Change Summary
apps/content/docs/adapters/next.md
apps/content/docs/adapters/tanstack-start.md
Minor documentation clarifications and comment additions about server/client setup and context headers.
apps/content/docs/adapters/nuxt.md Expanded documentation with detailed instructions for server/client setup and SSR optimization in Nuxt.
apps/content/docs/adapters/solid-start.md Added clarifying comment about headers in server-side client context.
playgrounds/next/src/lib/orpc.server.ts
playgrounds/solid-start/src/lib/orpc.server.ts
playgrounds/tanstack-start/src/lib/orpc.ts
Added comments clarifying the use of headers in context for server-side client creation.
playgrounds/nuxt/components/orpc-mutation.vue
playgrounds/nuxt/components/orpc-query.vue
Replaced direct orpc imports with usage of $orpc from Nuxt app context; updated code to use injected client.
playgrounds/nuxt/lib/orpc.ts Removed static oRPC client and query utility setup file.
playgrounds/nuxt/plugins/orpc.client.ts
playgrounds/nuxt/plugins/orpc.server.ts
Added Nuxt plugins to provide oRPC client and server utilities globally for client and SSR contexts.
playgrounds/nuxt/server/routes/rpc/[...].ts Simplified context: always provides a fixed user object, removing conditional authorization header check.

Sequence Diagram(s)

sequenceDiagram
    participant NuxtComponent
    participant NuxtAppContext
    participant orpcPlugin

    NuxtComponent->>NuxtAppContext: useNuxtApp()
    NuxtAppContext-->>NuxtComponent: provide $orpc
    NuxtComponent->>$orpc: perform query/mutation
    $orpc->>Server: send RPC request
    Server-->>$orpc: return response
    $orpc-->>NuxtComponent: resolve query/mutation
Loading

Possibly related PRs

  • unnoq/orpc#421: Updates documentation and adds clarifying comments for oRPC client/server setup and SSR optimization, which directly relates to this PR's expanded Nuxt SSR docs and examples.
  • unnoq/orpc#488: Introduces foundational Next.js SSR integration docs and setup, upon which this PR's Next.js documentation refinements build.
  • unnoq/orpc#275: Updates TanStack Start documentation clarifying server and client integration with oRPC, closely related to this PR's documentation changes.

Poem

In Nuxt and friends, the code did grow,
With plugins and context, oRPC will flow.
Docs now sparkle, comments shine bright,
Headers explained, SSR done right.
A bunny hops by, with a happy cheer—
"Integration's smooth, the future is here!"
🐇✨


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 3, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Jun 3, 2025

More templates

@orpc/arktype

npm i https://pkg.pr.new/@orpc/arktype@583

@orpc/client

npm i https://pkg.pr.new/@orpc/client@583

@orpc/contract

npm i https://pkg.pr.new/@orpc/contract@583

@orpc/hey-api

npm i https://pkg.pr.new/@orpc/hey-api@583

@orpc/nest

npm i https://pkg.pr.new/@orpc/nest@583

@orpc/openapi

npm i https://pkg.pr.new/@orpc/openapi@583

@orpc/openapi-client

npm i https://pkg.pr.new/@orpc/openapi-client@583

@orpc/react

npm i https://pkg.pr.new/@orpc/react@583

@orpc/react-query

npm i https://pkg.pr.new/@orpc/react-query@583

@orpc/server

npm i https://pkg.pr.new/@orpc/server@583

@orpc/shared

npm i https://pkg.pr.new/@orpc/shared@583

@orpc/solid-query

npm i https://pkg.pr.new/@orpc/solid-query@583

@orpc/standard-server

npm i https://pkg.pr.new/@orpc/standard-server@583

@orpc/standard-server-aws-lambda

npm i https://pkg.pr.new/@orpc/standard-server-aws-lambda@583

@orpc/standard-server-fetch

npm i https://pkg.pr.new/@orpc/standard-server-fetch@583

@orpc/standard-server-node

npm i https://pkg.pr.new/@orpc/standard-server-node@583

@orpc/standard-server-peer

npm i https://pkg.pr.new/@orpc/standard-server-peer@583

@orpc/svelte-query

npm i https://pkg.pr.new/@orpc/svelte-query@583

@orpc/tanstack-query

npm i https://pkg.pr.new/@orpc/tanstack-query@583

@orpc/valibot

npm i https://pkg.pr.new/@orpc/valibot@583

@orpc/vue-colada

npm i https://pkg.pr.new/@orpc/vue-colada@583

@orpc/vue-query

npm i https://pkg.pr.new/@orpc/vue-query@583

@orpc/zod

npm i https://pkg.pr.new/@orpc/zod@583

commit: f8e9a20

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (8)
apps/content/docs/adapters/tanstack-start.md (1)

12-12: Fix grammatical error in documentation header
The sentence uses “setup” as a verb and is missing an article. Please update it to:

- You setup oRPC server inside TanStack Start using its [API Routes](https://tanstack.com/start/latest/docs/framework/react/api-routes).
+ You set up an oRPC server inside TanStack Start using its [API Routes](https://tanstack.com/start/latest/docs/framework/react/api-routes).
🧰 Tools
🪛 LanguageTool

[grammar] ~12-~12: The word “setup” is a noun. The verb is spelled with a space.
Context: ...s/adapters/http) guide. ## Server You setup oRPC server inside TanStack Start using...

(NOUN_VERB_CONFUSION)


[uncategorized] ~12-~12: You might be missing the article “an” here.
Context: ...ters/http) guide. ## Server You setup oRPC server inside TanStack Start using its ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

apps/content/docs/adapters/next.md (1)

16-16: Fix grammar issues in the documentation.

The static analysis tools have identified grammar issues that should be addressed for better documentation quality.

Apply this diff to fix the grammar:

-You setup oRPC server inside Next.js using its [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers).
+You set up an oRPC server inside Next.js using its [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers).
🧰 Tools
🪛 LanguageTool

[grammar] ~16-~16: The word “setup” is a noun. The verb is spelled with a space.
Context: ...iguration required. ::: ## Server You setup oRPC server inside Next.js using its [R...

(NOUN_VERB_CONFUSION)


[uncategorized] ~16-~16: You might be missing the article “an” here.
Context: ...ion required. ::: ## Server You setup oRPC server inside Next.js using its [Route ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

playgrounds/nuxt/plugins/orpc.client.ts (1)

7-12: Client plugin initialization and RPCLink configuration.
The .client.ts suffix confines this plugin to the browser, so using window.location.origin is safe.

Consider externalizing the RPC URL via Nuxt’s runtime config for flexibility across environments, for example:

const config = useRuntimeConfig()
const url = config.public.rpcBaseURL ?? `${window.location.origin}/rpc`
playgrounds/nuxt/plugins/orpc.server.ts (3)

5-9: JSDoc link is informative.
The comment points to the Optimize SSR docs. Consider adding a one-sentence summary of the plugin’s purpose to improve discoverability.


10-12: Remove or rename unused parameter.
The callback’s nuxt parameter is never used. Rename to _nuxtApp or omit it to satisfy linters and clarify intent.


13-17: Server-side client context configuration.
By default, no headers are forwarded. If you need to pass incoming request headers, uncomment and map them correctly, e.g.:

- context: {
-   // headers: event?.headers,
- },
+ context: {
+   headers: Object.fromEntries(event.node.req.headers),
+ },

Let me know if you’d like a full snippet for header extraction.

apps/content/docs/adapters/nuxt.md (2)

10-12: Fix verb and article in Server section.
Change “You setup oRPC server inside Nuxt…” to “You set up an oRPC server in Nuxt…” to correct the verb form and include the indefinite article.

🧰 Tools
🪛 LanguageTool

[grammar] ~12-~12: The word “setup” is a noun. The verb is spelled with a space.
Context: ...s/adapters/http) guide. ## Server You setup oRPC server inside Nuxt using its [Serv...

(NOUN_VERB_CONFUSION)


[uncategorized] ~12-~12: You might be missing the article “an” here.
Context: ...ters/http) guide. ## Server You setup oRPC server inside Nuxt using its [Server Ro...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


50-52: Correct phrasing in Client section.
Update “you need setup client inside [Nuxt Plugin]” to “you need to set up a client inside a Nuxt plugin” to fix the verb form, add the missing preposition “to,” and include the article “a.”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~52-~52: You might be missing the article “an” here.
Context: ...custom handler. ::: ## Client To make oRPC client compatible with SSR, you need se...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~52-~52: Possible missing preposition found.
Context: ...PC client compatible with SSR, you need setup client inside [Nuxt Plugin](https://nux...

(AI_HYDRA_LEO_MISSING_TO)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 65596ea and c56430c.

📒 Files selected for processing (13)
  • apps/content/docs/adapters/next.md (3 hunks)
  • apps/content/docs/adapters/nuxt.md (2 hunks)
  • apps/content/docs/adapters/solid-start.md (1 hunks)
  • apps/content/docs/adapters/tanstack-start.md (2 hunks)
  • playgrounds/next/src/lib/orpc.server.ts (1 hunks)
  • playgrounds/nuxt/components/orpc-mutation.vue (1 hunks)
  • playgrounds/nuxt/components/orpc-query.vue (1 hunks)
  • playgrounds/nuxt/lib/orpc.ts (0 hunks)
  • playgrounds/nuxt/plugins/orpc.client.ts (1 hunks)
  • playgrounds/nuxt/plugins/orpc.server.ts (1 hunks)
  • playgrounds/nuxt/server/routes/rpc/[...].ts (1 hunks)
  • playgrounds/solid-start/src/lib/orpc.server.ts (1 hunks)
  • playgrounds/tanstack-start/src/lib/orpc.ts (1 hunks)
💤 Files with no reviewable changes (1)
  • playgrounds/nuxt/lib/orpc.ts
🧰 Additional context used
🧬 Code Graph Analysis (1)
playgrounds/nuxt/plugins/orpc.client.ts (4)
packages/client/src/adapters/fetch/rpc-link.ts (1)
  • RPCLink (16-22)
playgrounds/tanstack-start/src/lib/orpc.ts (2)
  • client (45-45)
  • orpc (47-47)
packages/server/src/router-client.ts (1)
  • RouterClient (15-20)
packages/client/src/client.ts (1)
  • createORPCClient (16-42)
🪛 LanguageTool
apps/content/docs/adapters/tanstack-start.md

[grammar] ~12-~12: The word “setup” is a noun. The verb is spelled with a space.
Context: ...s/adapters/http) guide. ## Server You setup oRPC server inside TanStack Start using...

(NOUN_VERB_CONFUSION)


[uncategorized] ~12-~12: You might be missing the article “an” here.
Context: ...ters/http) guide. ## Server You setup oRPC server inside TanStack Start using its ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

apps/content/docs/adapters/next.md

[grammar] ~16-~16: The word “setup” is a noun. The verb is spelled with a space.
Context: ...iguration required. ::: ## Server You setup oRPC server inside Next.js using its [R...

(NOUN_VERB_CONFUSION)


[uncategorized] ~16-~16: You might be missing the article “an” here.
Context: ...ion required. ::: ## Server You setup oRPC server inside Next.js using its [Route ...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)

apps/content/docs/adapters/nuxt.md

[grammar] ~12-~12: The word “setup” is a noun. The verb is spelled with a space.
Context: ...s/adapters/http) guide. ## Server You setup oRPC server inside Nuxt using its [Serv...

(NOUN_VERB_CONFUSION)


[uncategorized] ~12-~12: You might be missing the article “an” here.
Context: ...ters/http) guide. ## Server You setup oRPC server inside Nuxt using its [Server Ro...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~52-~52: You might be missing the article “an” here.
Context: ...custom handler. ::: ## Client To make oRPC client compatible with SSR, you need se...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[uncategorized] ~52-~52: Possible missing preposition found.
Context: ...PC client compatible with SSR, you need setup client inside [Nuxt Plugin](https://nux...

(AI_HYDRA_LEO_MISSING_TO)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: lint
  • GitHub Check: publish-commit
🔇 Additional comments (18)
playgrounds/tanstack-start/src/lib/orpc.ts (1)

26-26: Approve header clarification comment
The added inline comment clearly indicates when headers are provided for initial contexts without altering logic.

apps/content/docs/adapters/tanstack-start.md (1)

100-100: Approve header provision comment in code example
This comment aligns with similar clarifications across adapters and improves clarity without changing behavior.

playgrounds/next/src/lib/orpc.server.ts (1)

21-21: Approve header clarification comment
The inline comment appropriately explains the purpose of headers in the initial context.

playgrounds/solid-start/src/lib/orpc.server.ts (1)

26-26: Approve header clarification comment
The added comment consistently documents header provision in SSR context.

apps/content/docs/adapters/solid-start.md (1)

120-120: Approve header clarification comment in documentation
This mirrors the comment updates in code examples and improves clarity.

playgrounds/nuxt/components/orpc-mutation.vue (2)

3-4: LGTM! Clean migration to Nuxt plugin injection.

The migration from static imports to using useNuxtApp() follows Nuxt best practices and enables better SSR support. This aligns with the PR objective of improving Nuxt SSR integration.


8-11: Consistent usage of injected oRPC client.

All references to the oRPC client have been properly updated to use $orpc from the Nuxt app context, maintaining the existing functionality while leveraging the new plugin-based approach.

playgrounds/nuxt/components/orpc-query.vue (2)

4-6: Excellent migration to plugin-based oRPC access.

The consistent use of useNuxtApp() to access $orpc maintains the same functionality while enabling better integration with Nuxt's SSR capabilities.


12-12: Perfect addition for SSR support.

The await query.suspense() call ensures the query resolves on the server before rendering, preventing hydration mismatches and improving the SSR experience. This is exactly what's needed for proper Nuxt SSR integration.

playgrounds/nuxt/server/routes/rpc/[...].ts (1)

14-14: Appropriate simplification for playground environment.

Removing the conditional authorization header check and providing a fixed user context simplifies the playground setup while maintaining the necessary context structure for testing. This is perfect for a demo/playground environment.

apps/content/docs/adapters/next.md (2)

92-92: Good typographical correction.

The apostrophe fix in "doesn't" improves the documentation's professional appearance.


180-180: Helpful comment addition for clarity.

The comment explaining when to provide headers in the initial context adds valuable guidance for developers implementing server-side clients. This aligns with similar clarifications made across other adapter documentations.

playgrounds/nuxt/plugins/orpc.client.ts (3)

1-5: Imports are correctly set up for the typed ORPC client.
Using type-only imports for RouterClient and router ensures no runtime overhead, and the client/fetch and tanstack-query packages are appropriately referenced.


13-16: Creating the typed ORPC client and integrating TanStack Query.
createORPCClient(link) followed by createTanstackQueryUtils(client) correctly wires up RPC calls with TanStack Query’s caching and hooks.


17-21: Providing orpc via Nuxt app context.
Injecting the orpc object under the orpc key makes it available in components through useNuxtApp().orpc.

playgrounds/nuxt/plugins/orpc.server.ts (3)

1-3: Imports correctly reference server-side ORPC APIs.
Using createRouterClient from @orpc/server and createTanstackQueryUtils is the right approach for SSR integration.


19-20: Integrate TanStack Query utilities.
Creating orpc via createTanstackQueryUtils(client) is correct for enabling SSR-aware queries and mutations.


21-25: Provide orpc in Nuxt app context.
Injecting orpc on the server side ensures that the same query utilities are available during SSR.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (4)
apps/content/docs/adapters/nuxt.md (4)

50-52: Clarify plugin file scoping and naming conventions.
Consider noting that placing the file as plugins/orpc.ts loads it universally, while suffixing .client.ts or .server.ts enables client-only or server-only loading. This helps prevent unintended SSR or client-side behavior.


73-76: Consistent formatting for the info block.
As a minor nitpick, consider using a ::: code-group wrapper or adding a title to the info block to match the styling of preceding examples.


83-98: Include missing imports and clarify context for client plugin.
The example omits imports for RPCLink, createORPCClient, and router. Adding these will make the snippet copy-pasta-ready and prevent confusion about dependency origins.

diff --git a/apps/content/docs/adapters/nuxt.md b/apps/content/docs/adapters/nuxt.md
index def5678..fedcba9 100644
--- a/apps/content/docs/adapters/nuxt.md
+++ b/apps/content/docs/adapters/nuxt.md
@@ 83,6 +83,8 @@
 ```ts [plugins/orpc.client.ts]
+import { RPCLink, createORPCClient } from '@orpc/client'
+import { router } from '~/server/routes/rpc'
 export default defineNuxtPlugin(() => {
   const link = new RPCLink({
     url: `${window.location.origin}/rpc`,

100-116: Add explicit imports and unify injection key for server plugin.
Similar to the client plugin, include imports for createRouterClient and router. Also consider standardizing the injected key name (e.g., orpc) to match client usage and avoid generic client collisions.

diff --git a/apps/content/docs/adapters/nuxt.md b/apps/content/docs/adapters/nuxt.md
index fedcba9..1234567 100644
--- a/apps/content/docs/adapters/nuxt.md
+++ b/apps/content/docs/adapters/nuxt.md
@@ 100,6 +100,8 @@
 ```ts [plugins/orpc.server.ts]
+import { createRouterClient } from '@orpc/client'
+import { router } from '~/server/routes/rpc'
 export default defineNuxtPlugin((nuxtApp) => {
   const event = useRequestEvent()

@@ 111,7 +113,7 @@
   return {
     provide: {
-      client,
+      orpc: client,
     },
   }
 })
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c56430c and f8e9a20.

📒 Files selected for processing (3)
  • apps/content/docs/adapters/next.md (3 hunks)
  • apps/content/docs/adapters/nuxt.md (2 hunks)
  • apps/content/docs/adapters/tanstack-start.md (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • apps/content/docs/adapters/tanstack-start.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/content/docs/adapters/next.md
⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: publish-commit
  • GitHub Check: lint
🔇 Additional comments (2)
apps/content/docs/adapters/nuxt.md (2)

10-13: Great rename and clarification in Server section.
The "Server" heading and its accompanying description accurately reflect Nuxt’s Server Routes usage for setting up oRPC.


77-80: Optimize SSR section is clear and actionable.
The new section succinctly explains the benefits of a server-side client and links to deeper best practices.

Comment thread apps/content/docs/adapters/nuxt.md
@dinwwwh dinwwwh merged commit 583344a into main Jun 3, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant