Skip to content

Releases: 0no-co/GraphQLSP

@0no-co/graphqlsp@1.17.5

Choose a tag to compare

@github-actions github-actions released this 21 Aug 17:06
Immutable release. Only release title and notes can be modified.
494093e

Patch Changes

  • Avoid rewriting unchanged tadaOutputLocation files during schema revalidation
    Submitted by @JoviDeCroock (See #427)

@0no-co/graphqlsp@1.17.4

Choose a tag to compare

@github-actions github-actions released this 16 Aug 06:12
Immutable release. Only release title and notes can be modified.
f7e7a67

Patch Changes

  • Update dependencies. The bundled graphql-language-service has been updated to 5.5, which adds label, detail, type, documentation, and deprecation metadata to GraphQL completion entries, and the bundled lru-cache has been updated to v11, which requires Node.js 20 or higher
    Submitted by @JoviDeCroock (See #417)
  • Validate graphql() documents with statically resolvable template interpolation and warn when interpolation cannot be resolved statically
    Submitted by @JoviDeCroock (See #424)

@0no-co/graphqlsp@1.17.3

Choose a tag to compare

@github-actions github-actions released this 17 Jun 12:45
Immutable release. Only release title and notes can be modified.
cb878b7

Patch Changes

  • Add go-to-definition support for gql.tada result fields and GraphQL document fields
    Submitted by @JoviDeCroock (See #404)

@0no-co/graphqlsp@1.17.2

Choose a tag to compare

@github-actions github-actions released this 14 Jun 10:54
Immutable release. Only release title and notes can be modified.
e2a422a

Patch Changes

  • Update @gql.tada/internal and preserve introspection output file header
    Submitted by @kitten (See #402)

@0no-co/graphqlsp@1.17.1

Choose a tag to compare

@github-actions github-actions released this 13 Jun 18:40
Immutable release. Only release title and notes can be modified.
8c523bb

Patch Changes

  • Mute co-located fragment warnings, when fragments are directly referenced
    Submitted by @kitten (See #400)

@0no-co/graphqlsp@1.17.0

Choose a tag to compare

@github-actions github-actions released this 13 Jun 16:07
Immutable release. Only release title and notes can be modified.
422e5c6

Minor Changes

  • Surface plugin misconfiguration and schema failures as editor diagnostics instead of failing silently with errors only visible in the tsserver log. The plugin configuration is now validated with @gql.tada/internal's parseConfig (adding ${configDir} substitution and consistent validation with the gql.tada CLI), and the following are reported on a file's first GraphQL document: invalid configuration (code 52006), schema load and reload failures (52006, attributed per schema where possible), typings files that fail to be written or that aren't part of the TypeScript project (52006), documents naming an unconfigured schema (52008), and GraphQL documents written in the mode the plugin isn't configured for, e.g. tagged templates while templateIsCallExpression is on (52007). The plugin also detects schema file changes that the file watcher missed and force-reloads them, and exceptions in plugin code no longer fail whole tsserver requests but fall back to the underlying language service
    Submitted by @JoviDeCroock (See #398)

Patch Changes

  • Upgrade @gql.tada/internal and @0no-co/graphql.web
    Submitted by @kitten (See #399)
  • Reject call expressions whose first argument cannot start a GraphQL document (after ignored tokens, a document must begin with { or a definition keyword) before resolving the callee's type in call discovery. Ordinary string-argument calls — translations, test titles, event names — no longer touch the type checker at all, which speeds up scanning codebases where GraphQL files are a small fraction of all files. Note that documents passed to a gql.tada function under a non-default name are now only discovered when they start with a valid document prefix; functions matching configured templates names are unaffected
    Submitted by @JoviDeCroock (See #397)
  • Treat || and ?? as value pass-throughs in unused-field tracking: fn(a.b || fallback) now marks a.b's sub-selections as used, like other escapes of an access chain. && keeps its guard semantics, so a?.b && a?.b.c retains leaf-level precision
    Submitted by @JoviDeCroock (See #395)

@0no-co/graphqlsp@1.16.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 15:44
Immutable release. Only release title and notes can be modified.

Minor Changes

  • Reduce type-checker work in findAllCallExpressions. The gql.tada function detection and schema-name lookups are now memoized per callee, so ordinary calls with a string-literal first argument (e.g. t('key'), it('name', fn)) no longer trigger a type probe per call site. Fragment unrolling is deduplicated for repeated references to the same fragment, and the third argument of findAllCallExpressions now also accepts an options object ({ searchExternal?: boolean; collectFragments?: boolean }), where collectFragments: false skips fragment collection entirely for callers that only consume nodes
    Submitted by @JoviDeCroock (See #392)
  • Rewrite unused field detection as a single-pass, symbol-driven analysis. Instead of issuing a find-all-references request per binding and enumerating the lexical scope per reference, the file's AST is walked once to index identifier occurrences, and query-result bindings are resolved through getSymbolAtLocation against a selection-set trie. This removes the quadratic language-service calls from getSemanticDiagnostics, scales to files with many documents and consumers, and makes the analysis work without resolved document types.
    The analysis also tracks more usage patterns, reducing false positives: values passed as function arguments (including property chains like format(data.pokemon.weight)), spreads and object-literal assignments now mark the affected sub-selections as used, for...of loop bindings are followed like array-method callbacks, and assignments (existing = result.data.pokemon) and conditional expressions now alias like variable declarations
    Submitted by @JoviDeCroock (See #393)

Patch Changes

  • ⚠️ Fix multi-level property accessor when resolving fragments in gql.tada generate-persisted
    Submitted by @felamaslen (See #389)

@0no-co/graphqlsp@1.15.4

Choose a tag to compare

@github-actions github-actions released this 16 Apr 06:08
Immutable release. Only release title and notes can be modified.
f117265

Patch Changes

  • Forward all arguments from the getQuickInfoAtPosition proxy to the underlying TypeScript language service, so that the verbosityLevel argument (added in TypeScript 5.9 for expandable hovers) is no longer stripped when GraphQLSP delegates back to TypeScript
    Submitted by @JoviDeCroock (See #384)

@0no-co/graphqlsp@1.15.3

Choose a tag to compare

@github-actions github-actions released this 01 Apr 18:43
Immutable release. Only release title and notes can be modified.
f956716

Patch Changes

  • Update TypeScript peer dependency range to allow for TS v6
    Submitted by @JoviDeCroock (See #382)

@0no-co/graphqlsp@1.15.2

Choose a tag to compare

@github-actions github-actions released this 10 Dec 07:49
Immutable release. Only release title and notes can be modified.
83c8a7f

Patch Changes

  • Detect fragment usage in maskFragments calls to prevent false positive unused fragment warnings
    Submitted by @takumiyoshikawa (See #379)