Git Product home page Git Product logo

Comments (6)

vepanimas avatar vepanimas commented on May 18, 2024 1

@jimkyndemeyer ok, that's all I wanted to know. I mistakenly thought it was outdated, but if it isn't, there are many ways to slightly restructure it with extension points and isolate all the related code in a separate module.

A lot of features inside the WebStorm are done in a similar way. Usually, there is a base class with common functionality that accesses the extension point and polls some providers. For example, this is done with d.ts files, third-party plugins can provide their own definitions so that they are taken into account in the autocomplete and other features.

I think that this could be done later and incrementally, this does not prevent further development in any way.

from js-graphql-intellij-plugin.

sergehuber avatar sergehuber commented on May 18, 2024

This sounds fantastic can't wait for it to be released. Is there any official specification for this endpoint language ? I couldn't find anything using Google.

from js-graphql-intellij-plugin.

jimkyndemeyer avatar jimkyndemeyer commented on May 18, 2024

@sergehuber This issue and JSGraphQLEndpointParser.bnf is the only official specification at this time. You won't find any info elsewhere since the language design is done by my colleagues and myself.

We're currently using the Endpoint language to build a product, and once we're happy with the language features, the plan is to include the language in the published plugin version.

For now, I'd recommend that you write your schema in a ".graphqls" file (right click -> New -> GraphQL Schema file). Depending on which stack you're using on the server side, the Apollo team has a great set of tools that help you create a working endpoint based on your .graphqls schema file. See their medium post.

/Jim.

from js-graphql-intellij-plugin.

jimkyndemeyer avatar jimkyndemeyer commented on May 18, 2024

Merged to master.

from js-graphql-intellij-plugin.

vepanimas avatar vepanimas commented on May 18, 2024

@jimkyndemeyer hi! What do you think about supporting this functionality now? It looks like it hasn't become a standard and doesn't have a specification, but it still complicates the code and requires support. Is it used by anyone? Maybe it makes sense to delete this code in the next released version, what do you think? If someone needs it, they can use one of the previous versions.

from js-graphql-intellij-plugin.

jimkyndemeyer avatar jimkyndemeyer commented on May 18, 2024

Hi @vepanimas

The GraphQL Endpoint language is actively used by teams at Elsevier, and as part of my work there I have time to support it as needed.

I could potentially see us migrating to use GraphQL SDL, but we'd have to be able to augment the completion of directive argument values and their reference resolution to get the same level of tooling. I recall having seen ways for plugins to provide extension points for other plugins?

In any case, there's a number of ways to approach cleaning this up for easier overall maintenance of the plugin. For now, is there any specific part of the code that you think needs attention due to the presence of the Endpoint language?

from js-graphql-intellij-plugin.

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.