Skip to content

Releases: JetBrains/js-graphql-intellij-plugin

4.0.1

12 May 17:07
Compare
Choose a tag to compare

Fixed

  • Plugin configuration in Rider since 2023.1 #659
  • Query variables editor visibility since 2023.1 #658
  • Find usages of fragments #656
  • Shared schemas between projects #661
  • Request only required variables before executing a query #663
  • Completion for arguments inside GraphQL injections and scratch files #662

4.0.0

18 Apr 15:34
Compare
Choose a tag to compare
  • GraphQL config v3 support. For more details check the documentation.
  • The modern configuration format is supported for .yml, .json, .js and .ts files. Multiple different file names can be used, introspection requests vie line markers should be available inside the editor only for YAML and JSON files. Configuration in package.json and .toml files is not supported, but you can open an issue if you really need it.
  • You don't need to use the endpoints extension to introspect your remote GraphQL schemas. While still supported, it's only useful if you want to store an introspection schema within your project sources. Instead, simply point an entry in the schema section to a valid URL and run the introspection query. Automatic schema fetching by a specified time frame will be implemented later.
  • Validation of configuration files and code completion are enabled through the use of JSON schema.
  • Legacy configuration formats will be supported to ease the transition process.
  • An editor notification action could automatically convert configuration files to a new format when they are opened. It is important to note that during the migration of configuration files, the format of variables has also been changed.
  • The glob matching functionality in configs has been reworked and now should only include schema files that strictly match.
  • Local JSON introspection files have been reworked. Now, their corresponding GraphQL SDLs are stored on disk and indexed as regular project files. This should prevent them from being the source of different exceptions and memory leaks. If generating SDL based on the GraphQL introspection result fails, the editor will display error details.
  • Configuration change tracking has been improved. It is now possible to change a configuration file and consistently see an updated state of the IDE without significant delays.
  • The comment format for GraphQL Scratch files has been updated to better suit modern configuration options. However, the legacy format is still supported, so existing files should function as they did before.
  • The external API for contributing GraphQL configuration is now available. This allows third-party plugins to override the project structure and guide the plugin on which sources should be included in the schema and in which directory.
  • Fragments are resolved in Vue and other HTML-like files.
  • The support for search in language injections has been reworked, allowing us to add it for more languages. However, we still need to rethink how language injections work, as the current implementation has its own limitations. Stay tuned 😉.
  • The search algorithm for .env files has been improved. Previously, it only looked for an .env file in the config folder or project root. Now, it scans all directories from the configuration file up to the project root.
  • Manually provided environment variables are stored per configuration file, rather than being set globally for the entire project. You can set them up from the context menu in the configuration file (accessed via the menu item named Edit GraphQL Environment Variables), via a new button in the editor toolbar, or by using Find Action > Edit GraphQL Environment Variables.
  • It is now possible to perform an introspection query directly from the header of the GraphQL editor. Simply use the Run Introspection Query action on the toolbar. To open an introspection file saved on disk, use the adjacent Open Introspection Schema action.
  • The GraphQL Tool Window has been updated, so it should no longer throw a deprecation exception when opened.
  • Updated Apollo Federation schema.

3.4.0

07 Feb 16:50
Compare
Choose a tag to compare

Fixed

  • Compatibility with 2023.1.
  • Updated Federation 2 schema.
  • Updated Apollo Kotlin schema.

3.2.1

26 Jul 06:59
Compare
Choose a tag to compare

Fixed

  • Increased a default request timeout.

3.2.0

19 Jul 16:53
Compare
Choose a tag to compare

Added

  • Support for built-in HTTP proxy settings.
  • Reading global environment variables in GraphQL config files.

Fixed

  • Highlighting for keywords used as field names.
  • Parsing a repeatable keyword as an identifier.
  • Compatibility with 2022.3.

3.1.3

31 Jan 13:29
Compare
Choose a tag to compare

Fixed

  • Compatibility with EAP 2022.1.

3.1.2

10 Dec 15:11
Compare
Choose a tag to compare

Fixed

  • java.lang.NullPointerException at com.intellij.lang.jsgraphql.ide.introspection.GraphQLIntrospectionService.getSecurityConfig().
  • java.lang.Throwable: Read access is allowed from inside read-action at GraphQLUIProjectService.runQuery().
  • Exception: SchemaProblem{errors=['onOperation' tried to use an undeclared directive 'deprecated'}.
  • Exception: com.intellij.lang.jsgraphql.types.AssertException: queryType expected.

3.1.1

08 Dec 16:17
Compare
Choose a tag to compare

Fixed

  • java.lang.Throwable: Read access is allowed from inside read-action (or EDT) only.

Changed

  • Replaced GitHub error reporter with Sentry.
  • To download or update the plugin, an IDE reload is now required.

3.1.0

07 Dec 21:17
Compare
Choose a tag to compare

Added

  • More filenames are supported for .env files: .env.dev,.env.dev.local.
  • Spell-checking for string literals.
  • GitHub error reporter for plugin exceptions. Additional logging has also been implemented, so feel free to report an error!
  • Type definitions for the Apollo Federation. Can be enabled in the settings.
  • Type definitions discovery in JAR libraries for the Netflix's DGS framework.
  • A new option that prevents opening the editor with the result after an introspection request.
  • Colors for the built-in Monokai editor scheme.
  • Schema directives introspection. Support for the "repeatable" directives is disabled by default and can be enabled in the settings.
  • Automatic insertion of curly braces for fields without arguments in code completion.

Fixed

  • Fixed introspection schemas in JSON format. Previously, when the schema had the JSON format, all fields could be marked as unresolved.
  • Fixed .graphqlconfig file type association which led to a lack of highlighting and missing line markers.

Changed

  • Minor improvements in the formatting of introspection results.

3.0.0

28 Jul 14:05
Compare
Choose a tag to compare

Added

  • Added separate configurable inspections for existing schema and query validation rules, e.g. Unresolved reference, Type redefinition, Member redefinition, Duplicate argument, Duplicate directive, and many more.
  • Added support for repeatable directives.
  • Added support for extend schema syntax.
  • Added support for schema descriptions.
  • Added support for subscription directives.
  • Added several Relay built-in directives.
  • Supported suppression of inspections with comment for the definition or the whole file.
  • Changing the file highlight level in the editor prevents any inspections from being displayed.
  • Load variables from .env files. Supported file names: .env.local,.env.development.local,.env.development,.env.
  • Injections using #graphql and /* GraphQL */ comments.
  • Enabled ESLint support for GraphQL.

Changed

  • Improved completion for variables in queries.
  • Improved readability of error messages.

Fixed

  • Emojis in the end-of-line comments.
  • Fixed resolve for directive arguments.
  • Fixed resolve for default object argument fields.
  • Fixed displaying Apollo @client fields as errors.