Skip to content

feat: add support for live content API #1152

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

Merged
merged 22 commits into from
Jun 27, 2025
Merged

feat: add support for live content API #1152

merged 22 commits into from
Jun 27, 2025

Conversation

rdunk
Copy link
Collaborator

@rdunk rdunk commented Feb 3, 2025

πŸ”— Linked issue

❓ Type of change

  • πŸ“– Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • πŸ‘Œ Enhancement (improving an existing functionality)
  • ✨ 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 PR adds support for the new Live Content API.

If I've got this one right, I think Nuxt will be a strong contender for the best Sanity Visual Editing experience (when optimistic state lands in another PR). We can maintain the "fastest" path for live updates when in Presentation tool, in addition to having live content in production or when viewing the app in preview mode outside of Presentation. And because Nuxt lets us take care of all the implementation details under the hood, the path for adding this feature for users is still by far the simplest of any framework. In fact adding live content to an existing app should be possible with only a few more lines of configuration.

There is quite a bit of refactoring in this PR as I've tried to move the module away from loading configuration dependent implementations of the same composables. I've tried to avoid breaking changes, assuming we can keep this is a minor release. Input appreciated!

Copy link

netlify bot commented Feb 3, 2025

βœ… Deploy Preview for nuxt-sanity-module ready!

Name Link
πŸ”¨ Latest commit ae8f432
πŸ” Latest deploy log https://app.netlify.com/projects/nuxt-sanity-module/deploys/685e9a05036c31000809ab8f
😎 Deploy Preview https://deploy-preview-1152--nuxt-sanity-module.netlify.app
πŸ“± Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@rdunk rdunk force-pushed the feat/live-content-api branch from a174c39 to 0dff794 Compare February 4, 2025 14:40
@rdunk
Copy link
Collaborator Author

rdunk commented Feb 4, 2025

The conditional addImports calls seem to be a bit of a headache with type checking. Would it make more sense to just make composables available regardless, and warn/error if they're used with incorrect configuration?

@rdunk rdunk marked this pull request as ready for review February 6, 2025 11:43
@rdunk
Copy link
Collaborator Author

rdunk commented Feb 6, 2025

Moved to Ready to Review as I think this is ready for input, but will need to investigate why the CI type checks are still failing.

@rdunk rdunk force-pushed the feat/live-content-api branch from ce4bf36 to e0d3fb1 Compare May 9, 2025 10:40
@rdunk
Copy link
Collaborator Author

rdunk commented May 9, 2025

Sorry, I've been out for a while!

Just rebased this back onto main and bumped the CI to run node 22 in order to fix this WebCrypto not available in this environment error.

@danielroe Would love to get some advice on this type issue we're seeing, if you have some time.

@danielroe danielroe changed the title feat: add support for live content API feat!: add support for live content API Jun 26, 2025
@danielroe
Copy link
Collaborator

danielroe commented Jun 26, 2025

@rdunk sorry for the long delay on this! type tests are passing now, and there's just the mismatch between useSanityQuery expecting the result as a key on the response, and client.fetch returning result directly.

I'll look at it again shortly, unless you have an immediate inkling as to the problem.

for what it's worth, I'm happy for breaking changes here as we are due for a major of the module, in line with dropping nuxt 2 support.

@danielroe danielroe changed the title feat!: add support for live content API feat: add support for live content API Jun 26, 2025
@danielroe danielroe merged commit a6aa39d into main Jun 27, 2025
6 checks passed
@danielroe danielroe deleted the feat/live-content-api branch June 27, 2025 13:33
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.

2 participants