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

Wrong type when using image-url like in the example? #920

Open
silvio-e opened this issue Oct 5, 2023 · 2 comments
Open

Wrong type when using image-url like in the example? #920

silvio-e opened this issue Oct 5, 2023 · 2 comments
Labels
question Further information is requested

Comments

@silvio-e
Copy link
Contributor

silvio-e commented Oct 5, 2023

Following example from here:

import imageUrlBuilder from '@sanity/image-url'

export default defineNuxtPlugin(() => {
  const builder = imageUrlBuilder(useSanity().config) // <-- here is the problem
  function urlFor(source) {
    return builder.image(source).auto('format')
  }
  return {
    provide: { urlFor }
  }
})

Doesn't work for me as the type seems wrong:

Argument of type 'SanityConfiguration' is not assignable to parameter of type 'SanityClientLike | SanityProjectDetails | SanityModernClientLike | undefined'.
  Type 'SanityConfiguration' is not assignable to type 'SanityProjectDetails'.
    Types of property 'dataset' are incompatible.
      Type 'string | undefined' is not assignable to type 'string'.
        Type 'undefined' is not assignable to type 'string'.ts(2345)

Should this work?

@silvio-e silvio-e added the question Further information is requested label Oct 5, 2023
@notflip
Copy link

notflip commented Jul 15, 2024

I've got the same issue, what is the correct type for useSanity().config ?

@davidstackio
Copy link

Also running into this issue. My current workaround to just suppress the typescript error:

// @ts-ignore
const builder = imageUrlBuilder(useSanity().config);

It looks like ImageUrlBuilder expects one of these types:

SanityClientLike | SanityProjectDetails | SanityModernClientLike

But useSanity().config is of type ClientConfig.

Wondering if this console warning might be related since this is the line in my file where builder is defined:

sanity.ts:7 [nuxt] Could not access `sanity`. The only available runtime config keys on the client side are `public` and `app`. See https://nuxt.com/docs/guide/going-further/runtime-config for more information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants