2.0.0-alpha-2: Language support for GraphQL draft spec as of June 2018
Pre-release
Pre-release
This is the first alpha release of version 2, which features:
- Language support for the GraphQL draft spec as of June 2018
- First-class support for the Schema Definition Language, including completion, go to definitions, find usages, error highlighting etc.
- No longer depends on a Node.js language service, opening up support for IntelliJ IDEA Community Edition and Android Studio
- In place of the previous Node.js based language service, the plugin makes use of the graphql-java project.
Getting and installing the alpha releases
The alpha releases will be published directly in this repository and is added to your IDE using a custom plugin repository URL:
- In your IDE, click "Settings" > "Plugins" > "Browse repositories..." > "Manage repositories..."
- In the "Custom Plugin Repositories" dialog that opens, add the following url:
https://github.com/jimkyndemeyer/js-graphql-intellij-plugin/raw/v2/alpha-releases/updatePlugins.xml
- Once added, click "Ok" to return to the "Browse repositories" dialog.
- You should now see a "Repository: All" dropdown. Select this alpha repository that you just added.
- You should now see the GraphQL alpha plugin listed.
As new alpahas are released, you should get plugin update notifications as per ususal.
Reporting issues
Please add a [v2]
prefix when reporting issues for the alpha. See the known issues and limitations below.
The main issue for tracking the v2 road map is #164
Known issues and limitations
This release is not feature complete, and changes will be made as development continues.
At this time there following limitations are present:
- Schemas are represented using the Schema Definition Language (SDL). If you only have a schema.json with the introspection result, or use a URL from which the introspection should be pulled, you will need a script to print the introspection result as SDL. See https://graphql.org/graphql-js/utilities/ Note that this functionality will be added to the plugin in one of the following alphas.
- Related to the above, the
graphql.config.json
file currently only configures endpoints for queries, and has no bearing on the discovered schema types.
Pending features:
- Configurable scopes for multi-schema projects
- Documentation view
- Structure view
- Performance improvements through PSI caching
- Proper handling of placeholders in tagged templates
Known issues:
- The plugin currently uses the scopes configured in "Settings" > "Appearance & Behavior" > "Scopes" to separate schemas for multi-schema projects. If you use this scopes feature for other use cases, it may interfere with the schema-driven GraphQL language features.
- Placeholders in tagged templates are not transformed before being validated by graphql-java. This can break Relay Classic and certain Apollo projects that use placeholders instead of the newer and recommended static queries and fragments