Giter Site home page Giter Site logo

Comments (6)

jeddeloh avatar jeddeloh commented on May 21, 2024

I don't think it would be crazy, no. At some point after I wrote these bindings they changed index.js to be just export * from "./core/index.js"; and export * from "./react/index.js";

What would be your use case? Personally, we use Apollo on our node servers as well. Not because it's the best idea, but it's convenient and consistent. It would be nice to not have to not have the react dependency. However, I already had this need and decided it wasn't personally worth the effort.

I'm certainly open to having two packages, one that is just core and one that includes both, if someone wants to tackle that.

from rescript-apollo-client.

idkjs avatar idkjs commented on May 21, 2024

Greetings, @jeddeloh. I don't 'have a need' specifically. Just ran into it while trying something without React on an elixir server. Was thinking maybe it was an oversight given how thorough you were with this package.

I guess in my head this was a binding for ApolloClient rather than Apollo Client React. Would be cool to have one source of truth for graphql in reasonml/rescript.

As it is, you can use it without react in your code but you have to have react installed which is ok if you arent tripping about extra dependencies.

I tried refactoring the code to not rely on react. Seems to compile but then ppx set up is relying on React and so it breaks.

https://github.com/reasonml-community/rescript-apollo-client/blob/05e3c0db930a5b615a1bb35add6abd95da250a31/src/ReasonMLCommunity__ApolloClient.res#L59-L64

You get stuff like:

Signature mismatch:
  ...
  Values do not match:
    let query: string

  is not included in
    let query: ApolloClient__Core_ApolloClient.Types.Graphql.documentNode

Just thinking out loud here. As i say it, it doesnt sound right. I probably have to figure out how to set up the ppx when not using react. https://github.com/idkjs/rescript-bind-to-core

from rescript-apollo-client.

jeddeloh avatar jeddeloh commented on May 21, 2024

@idkjs FYI, I think you can just run things without installing react and silence error. That type error you're experiencing it not really related to react. It seems to me maybe you stripped out all of the graphql configuration in bsconfig? You still need everything except for the stuff that starts with extend

from rescript-apollo-client.

idkjs avatar idkjs commented on May 21, 2024

I hear you on the documentNode error. If I understand you, I could leave in the ApolloClient__React_Hooks_ ppx stuff and it should work without having react installed. I will try it. I will try it.

I know that if you dont install react you get a build error if you are not importing from core.

Going between urql and this, its stuck in the back of mind that the graphql stuff could be extracted and be a kind of base library for graphql type bindings. That way, you could use these types with the ppx whether you are using these binding or not. Thats IF the React in the name of the ppx modules actually require react.

I may just be confused about it all.

from rescript-apollo-client.

kiuKisas avatar kiuKisas commented on May 21, 2024

Any update about it ? Looking to do the same thing, getting the same errors..

from rescript-apollo-client.

jfrolich avatar jfrolich commented on May 21, 2024

I think it should be pretty trivial if you don't use the react runtime code (and ignore the peer dependency)? Or do I miss something?

from rescript-apollo-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.