Releases: JetBrains/js-graphql-intellij-plugin
2.0.0-alpha-4: Performance improvements, Relay Modern support, MarkDown documentation support
This is the fourth alpha of version 2, which features:
- Performance improvements (tested with 10K lines in a single schema file)
- Relay Modern support (opt in, but plugin will ask for Relay projects)
- MarkDown documentation support
- Structure view
- Scratch files
- Recognize
.graphqls
extension as GraphQL file - Template placeholder support, e.g. to insert fragments in tagged template literals
- Various minor bug fixes
- Increased test coverage
Upgrade notes from v1 and previous alpha releases
- The plugin no longer uses a
graphql.config.json
file. Schema discovery is now configured using the GraphQL settings card. You can use project scopes to achieve multi-schema setups, or use globs in.graphqlconfig
files. - The alpha-2 release defaulted to use scopes for schema discovery. This is now opt-in in the "Languages & Frameworks" > "GraphQL" settings card.
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.
Documentation (work in progress)
https://gist.github.com/jimkyndemeyer/1903b65ff892f0811e76f16d8b530848
Reporting issues
The main issue for tracking the v2 road map is #164. Feedback and questions are welcome in that issue.
For bugs, see the known issues and limitations below. If the issue is not mentioned, use a [v2]
prefix when reporting issues for the alpha.
Known issues and limitations
This release is not feature complete, and changes will be made as development continues.
2.0.0-alpha-3: Support for graphql-config
This is the third alpha of version 2, which features:
- Support for graphql-config to configure endpoints and multi-schema project structures
- A settings page where schema discovery is configured
- Line markers for turning introspection result JSON into GraphQL SDL
- Line markers for executing an introspection query agains an enpoint URL to print GraphQL SDL
- Fixed completion and error highlighting for schema directives, enabling better support for framework-specific directives
Upgrade notes from alpha-2
- The plugin no longer uses a
graphql.config.json
file. Schema discovery is now configured using the GraphQL settings card. You can use project scopes to achieve multi-schema setups, or use globs in.graphqlconfig
files. - The alpha-2 release defaulted to use scopes for schema discovery. This is now opt-in in the "Languages & Frameworks" > "GraphQL" settings card.
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.
Documentation (work in progress)
https://gist.github.com/jimkyndemeyer/1903b65ff892f0811e76f16d8b530848
Reporting issues
The main issue for tracking the v2 road map is #164. Feedback and questions are welcome in that issue.
For bugs, see the known issues and limitations below. If the issue is not mentioned, use a [v2]
prefix when reporting issues for the alpha.
Known issues and limitations
This release is not feature complete, and changes will be made as development continues.
Pending features:
- Documentation view
- Structure view
- Performance improvements through PSI caching
- Proper handling of placeholders in tagged templates
Known issues:
- 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
2.0.0-alpha-2: Language support for GraphQL draft spec as of June 2018
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
v1.7.2 - Fixed Apollo fragment placeholder formatting
Fixes:
- Restore whitespace tokens for top level fragment placeholders in Apollo to preserve them during format lines (#162)
v1.7.1 - Node 10 Buffer deprecation warning no longer read by plugin as an error in the language service. Two additional minor bug-fixes.
Fixes:
- Node.js outputs deprecation warnings using the error console, so silence them on order to be able to detect real errors when creating the process handler (#153)
- Fixed indentation issue with strongly typed placeholders by sending the current GraphQL environment to the language service (#130)
- Removed 400 px large svg GraphQL and Relay logos used by Rider for the line marker (#147)
v1.7.0 - Language Service 1.5.1: Support for strongly typed variable placeholders in GraphQL tagged templates
v1.6.3 - 'Editor > Code Style' never loads In WebStorm 2017.3
Fixes:
- 'Editor > Code Style' never loads In WebStorm 2017.3 (#120)
v.1.6.2 - Resolve fragment references under progress in annotator
Fixes:
- Resolve fragment references under progress in annotator to ensure WebStorm 2017.3 compatibility (#115)
v1.6.1 - 2017.3 compatibility
Fixes:
- 2017.3 compatibility (#105)
v.1.6.0 - Relay Modern fragments, Language Service 1.5.0
Features:
- Support for Relay Modern fragments (#74)
- Language Service 1.5.0: Support for loading the schema from .graphql file (Relay Modern projects)
Fixes:
- Fix 'Find Usages' dialog for non-GraphQL entities (#93)
- Fix case where the annotator would attempt to access an editor that is already disposed (#75)
- Show a notification when the Node.js process fails to start (#100)
- Remove Schema IDL warnings in .graphql files since this is the file extension Facebook uses to print schemas in Relay Modern (#85)