Mirror: TypeScript LSP plugin that finds GraphQL documents in your code and provides diagnostics, auto-complete and hover-information.

fix(lsp): prevent crash with empty list of definitions (#271)

Changed files
+8 -3
.changeset
packages
graphqlsp
+5
.changeset/rotten-stingrays-kick.md
···
+
---
+
'@0no-co/graphqlsp': patch
+
---
+
+
Fix case where our fragments is an empty array
+2 -2
packages/graphqlsp/src/ast/index.ts
···
element.getStart()
);
-
if (!definitions) return fragments;
+
if (!definitions || !definitions.length) return fragments;
const [fragment] = definitions;
···
fileName,
node.expression.getStart()
);
-
if (!definitions) return fragments;
+
if (!definitions || !definitions.length) return fragments;
if (node.arguments[1] && ts.isArrayLiteralExpression(node.arguments[1])) {
const arg2 = node.arguments[1] as ts.ArrayLiteralExpression;
+1 -1
packages/graphqlsp/src/ast/resolve.ts
···
filename,
span.expression.getStart()
);
-
if (!definitions) return;
+
if (!definitions || !definitions.length) return;
const def = definitions[0];
const src = getSource(info, def.fileName);