Skip to content

Releases: JetBrains/js-graphql-intellij-plugin

2.0.0-alpha-4: Performance improvements, Relay Modern support, MarkDown documentation support

20 Jan 14:44
Compare
Choose a tag to compare

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

01 Jul 17:16
Compare
Choose a tag to compare

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

18 Jun 19:33
Compare
Choose a tag to compare

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

29 May 18:03
Compare
Choose a tag to compare

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.

11 May 13:09
Compare
Choose a tag to compare

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

04 Mar 16:20
Compare
Choose a tag to compare

Features:

  • Language Service 1.5.1: Support for strongly typed variable placeholders in GraphQL tagged templates (#130)
  • Support for declaring annotations in Endpoint language (#15)

Fixes:

  • Editor tab loaded on background thread during startup causes dispatch thread assertion error (#124)

v1.6.3 - 'Editor > Code Style' never loads In WebStorm 2017.3

02 Jan 17:58
Compare
Choose a tag to compare

Fixes:

  • 'Editor > Code Style' never loads In WebStorm 2017.3 (#120)

v.1.6.2 - Resolve fragment references under progress in annotator

28 Nov 20:16
Compare
Choose a tag to compare

Fixes:

  • Resolve fragment references under progress in annotator to ensure WebStorm 2017.3 compatibility (#115)

v1.6.1 - 2017.3 compatibility

04 Oct 17:51
Compare
Choose a tag to compare

Fixes:

  • 2017.3 compatibility (#105)

v.1.6.0 - Relay Modern fragments, Language Service 1.5.0

20 Sep 18:10
Compare
Choose a tag to compare

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)