@soda-gql/lsp 0.12.3 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const require_server = require('./server-DEK11kTC.cjs');
2
+ const require_server = require('./server-BZEiUZua.cjs');
3
3
 
4
4
  //#region packages/lsp/src/bin.ts
5
5
  /**
package/dist/bin.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { t as createLspServer } from "./server-lBJEHSZu.mjs";
2
+ import { t as createLspServer } from "./server-6n4IOnC9.mjs";
3
3
 
4
4
  //#region packages/lsp/src/bin.ts
5
5
  /**
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_server = require('./server-DEK11kTC.cjs');
1
+ const require_server = require('./server-BZEiUZua.cjs');
2
2
 
3
3
  exports.createDocumentManager = require_server.createDocumentManager;
4
4
  exports.createLspServer = require_server.createLspServer;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as _swc_core0 from "@swc/core";
2
2
  import { GraphqlSystemIdentifyHelper } from "@soda-gql/builder";
3
+ import { ExtractedTemplateWithPosition, OperationKind } from "@soda-gql/common/template-extraction";
3
4
  import * as graphql0 from "graphql";
4
5
  import { DocumentNode, FragmentDefinitionNode } from "graphql";
5
6
  import { Result } from "neverthrow";
@@ -7,26 +8,8 @@ import { ResolvedSodaGqlConfig } from "@soda-gql/config";
7
8
  import { Connection } from "vscode-languageserver/node";
8
9
 
9
10
  //#region packages/lsp/src/types.d.ts
10
- /** Operation kind extracted from tagged template tag name. */
11
- type OperationKind = "query" | "mutation" | "subscription" | "fragment";
12
- /** A single tagged template extracted from a TypeScript file. */
13
- type ExtractedTemplate = {
14
- /** Byte offset range of GraphQL content within TS source (excludes backticks). */
15
- readonly contentRange: {
16
- readonly start: number;
17
- readonly end: number;
18
- };
19
- /** Resolved schema name from gql.{schemaName}. */
20
- readonly schemaName: string;
21
- /** Operation kind from tag name. */
22
- readonly kind: OperationKind;
23
- /** Raw GraphQL content between backticks. */
24
- readonly content: string;
25
- /** Element name from curried tag call (e.g., "GetUser" from query("GetUser")). */
26
- readonly elementName?: string;
27
- /** Type name from curried fragment call (e.g., "User" from fragment("UserFields", "User")). */
28
- readonly typeName?: string;
29
- };
11
+ /** A single tagged template extracted from a TypeScript file (with guaranteed position info). */
12
+ type ExtractedTemplate = ExtractedTemplateWithPosition;
30
13
  /** Per-document state maintained by the document manager. */
31
14
  type DocumentState = {
32
15
  readonly uri: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/document-manager.ts","../src/errors.ts","../src/fragment-args-preprocessor.ts","../src/position-mapping.ts","../src/schema-resolver.ts","../src/server.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/document-manager.ts","../src/errors.ts","../src/fragment-args-preprocessor.ts","../src/position-mapping.ts","../src/schema-resolver.ts","../src/server.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ExtractedTemplateWithPosition, OperationKind } from "@soda-gql/common/template-extraction";
1
2
  import * as graphql0 from "graphql";
2
3
  import { DocumentNode, FragmentDefinitionNode } from "graphql";
3
4
  import { Result } from "neverthrow";
@@ -7,26 +8,8 @@ import { GraphqlSystemIdentifyHelper } from "@soda-gql/builder";
7
8
  import * as _swc_core0 from "@swc/core";
8
9
 
9
10
  //#region packages/lsp/src/types.d.ts
10
- /** Operation kind extracted from tagged template tag name. */
11
- type OperationKind = "query" | "mutation" | "subscription" | "fragment";
12
- /** A single tagged template extracted from a TypeScript file. */
13
- type ExtractedTemplate = {
14
- /** Byte offset range of GraphQL content within TS source (excludes backticks). */
15
- readonly contentRange: {
16
- readonly start: number;
17
- readonly end: number;
18
- };
19
- /** Resolved schema name from gql.{schemaName}. */
20
- readonly schemaName: string;
21
- /** Operation kind from tag name. */
22
- readonly kind: OperationKind;
23
- /** Raw GraphQL content between backticks. */
24
- readonly content: string;
25
- /** Element name from curried tag call (e.g., "GetUser" from query("GetUser")). */
26
- readonly elementName?: string;
27
- /** Type name from curried fragment call (e.g., "User" from fragment("UserFields", "User")). */
28
- readonly typeName?: string;
29
- };
11
+ /** A single tagged template extracted from a TypeScript file (with guaranteed position info). */
12
+ type ExtractedTemplate = ExtractedTemplateWithPosition;
30
13
  /** Per-document state maintained by the document manager. */
31
14
  type DocumentState = {
32
15
  readonly uri: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/document-manager.ts","../src/errors.ts","../src/fragment-args-preprocessor.ts","../src/position-mapping.ts","../src/schema-resolver.ts","../src/server.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;KAQY,aAAA;;KAGA,iBAAA;EAHA;EAGA,SAAA,YAAiB,EAAA;IAgBjB,SAAA,KAAa,EAAA,MAAA;IAUb,SAAA,GAAA,EAAe,MAAA;EAcf,CAAA;;;;EC5BA,SAAA,IAAA,EDNK,aCMU;EAC0C;EACpC,SAAA,OAAA,EAAA,MAAA;EAEiC;EAEa,SAAA,WAAA,CAAA,EAAA,MAAA;EAElB;EAEkC,SAAA,QAAA,CAAA,EAAA,MAAA;CAAsB;AACnH;AAwSW,KD/SD,aAAA,GC4TX;EAuCY,SAAA,GAAA,EAAA,MAAA;EAAiC,SAAA,OAAA,EAAA,MAAA;EAA0C,SAAA,MAAA,EAAA,MAAA;EAAmB,SAAA,SAAA,EAAA,SD/V5E,iBC+V4E,EAAA;EAwM1G;;;;AC9jBW,KF6BA,eAAA,GE7BY;EASnB,SAAA,GAAA,EAAA,MAAgB;EAChB,SAAA,UAAgB,EAAA,MAAA;EAMhB,SAAA,YAAiB,EAAA,MAAA;EAMjB,SAAA,UAAA,EFWkB,sBEXC;EACnB;EACA,SAAA,OAAA,EAAA,MAAiB;EAMjB,SAAA,YAAA,EAAmB;IAGZ,SAAQ,KAAA,EAAA,MAAA;IAChB,SAAA,GAAA,EAAA,MAAA;EACA,CAAA;EACA,SAAA,QAAA,EAAA,MAAA;EACA;EACA,SAAA,SAAA,EAAA,MAAA;CACA;;AACmB,KFGX,sBAAA,GEHW;EAGX,SAAA,GAAS,EAAA,MAAA;EAAa,SAAA,QAAA,EAAA,MAAA;EAAG,SAAA,QAAA,EFGhB,iBEHgB;EAAV;EAAM,SAAA,UAAA,EAAA,MAAA;EAGpB,SAAA,UA+CH,EAAA,MAAA;CA9C8C;;;KDhC5C,eAAA;qEACyD;iCACpC;EDjBrB,SAAA,MAAA,EAAa,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAGb,SAAA,oBAAiB,EAMZ,CAAA,GAAA,EAAA,MAAA,EAAa,MAAA,EAAA,MAAA,EAAA,GCUoC,iBDVpC,GAAA,SAAA;EAUlB;EAUA,SAAA,oBAIW,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,UAAsB,EAAA,MAAA,EAAA,GAAA,SCZkC,eDYlC,EAAA;EAUjC;6DCpBiD;;+FAEkC;AAV/F,CAAA;KAaK,gBAAA,GAZgE;EACpC;EAEiC,SAAA,SAAA,CAAA,EAAA,OAS7C,UAAA,CAE6B,SAXgB,GAAA,IAAA;EAEa;EAElB,SAAA,WAAA,CAAA,EAAA,MAAA;CAEkC;;AAC7F;AAwSF;AAoDA;;;;;cApDa,+BAAgC;;cAoDhC,gCAAiC,0CAA0C,qBAAmB;;;;KCtX/F,YAAA;KASP,gBAAA;;EFTO,SAAA,OAAa,EAAA,MAAA;EAGb,SAAA,KAAA,CAAA,EAAA,OAAiB;AAgB7B,CAAA;AAUA,KEnBK,gBAAA,GFmBsB;EAcf,SAAA,IAAA,EAAA,oBAAsB;;;;AC5BlC,CAAA;KCCK,iBAAA,GDAgE;EACpC,SAAA,IAAA,EAAA,qBAAA;EAEiC,SAAA,OAAA,EAAA,MAAA;EAEa,SAAA,UAAA,EAAA,MAAA;EAElB,SAAA,KAAA,CAAA,EAAA,OAAA;CAEkC;KCH1F,mBAAA,GDGgH;EAGhH,SAAA,IAAA,EAAA,uBAAgB;EAsSR,SAAA,OAAA,EAAA,MAaZ;EAuCY,SAAA,UAAA,EAAA,MAwMZ;CAxM6C;KC/VzC,WAAA,GD+VmF;EAAmB,SAAA,IAAA,EAAA,cAAA;EAwM1G,SAAA,OAAA,EAAA,MAAA;;;;AC9jBD,KAwBK,iBAAA,GAxBmB;EASnB,SAAA,IAAA,EAAA,oBAAgB;EAChB,SAAA,OAAA,EAAA,MAAgB;EAMhB,SAAA,OAAA,CAAA,EAAA,MAAiB;EAMjB,SAAA,KAAA,CAAA,EAAA,OAAmB;AAAA,CAAA;AACR,KAOX,mBAAA,GANiB;EAMjB,SAAA,IAAA,EAAA,uBAAmB;EAGZ,SAAA,OAAQ,EAAA,MAAA;CAChB;;AAEA,KAHQ,QAAA,GACR,gBAEA,GADA,gBACA,GAAA,iBAAA,GACA,mBADA,GAEA,WAFA,GAGA,iBAHA,GAIA,mBAJA;;AAEA,KAKQ,SALR,CAAA,CAAA,CAAA,GAKuB,MALvB,CAK8B,CAL9B,EAKiC,QALjC,CAAA;;AAEA,cAMS,SANT,EAAA;EAAmB,SAAA,gBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GAOiC,gBAPjC;EAGX,SAAA,gBAAS,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GAUwD,gBAVxD;EAAa,SAAA,iBAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GAiB4C,iBAjB5C;EAAG,SAAA,mBAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GAwBQ,mBAxBR;EAAV,SAAA,WAAA,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GA8BsC,WA9BtC;EAAM,SAAA,iBAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,GAqC0C,iBArC1C;EAGpB,SAAA,mBA+CH,EAAA,CAAA,OAAA,CAAA,EAAA,MAAA,EAAA,GANiC,mBAMjC;CA9C8C;;;;;;;;;;;;AF/C5C,KGEA,gBAAA,GHFa;EAGb;EAgBA,SAAA,YAAa,EAAA,MAIM;EAMnB;EAcA,SAAA,QAAA,EAAA,OAAsB;;;;AC5BlC;;;;;AAQ6D,cE0DhD,sBF1DgD,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GE0DJ,gBF1DI;;;;;;;;KGzBjD,QAAA;;;;AJEA,KIGA,cAAA,GJHa;EAGb;EAgBA,SAAA,WAAa,EAAA,CAAA,UAIM,EIlBM,QJkBN,EAAiB,GIlBE,QJkBF,GAAA,IAAA;EAMpC;EAcA,SAAA,WAAA,EAAA,CAAA,WAAsB,EIpCI,QJuCjB,EAAA,GIvC8B,QJuCb;;KIpC1B,mBAAA;;EHKA;EACyD,SAAA,kBAAA,EAAA,MAAA;EACpC,SAAA,cAAA,EAAA,MAAA;CAEiC;;AAIL,cGLhD,kBHKgD,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,SAAA,MAAA,EAAA;;AAEwD,cGKxG,gBHLwG,EAAA,CAAA,WAAA,EAAA,SAAA,MAAA,EAAA,EAAA,QAAA,EGK1C,QHL0C,EAAA,GAAA,MAAA;AACnH;AAwSW,cG5RA,gBH4RgC,EAAA,CAAA,WAAA,EAAA,SAAiB,MAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,GG5RoB,QH4RpB;AAoD9D;AAA8C,cGhUjC,WHgUiC,EAAA,CAAA,GAAA,EG/TvC,QH+TuC,EAAA,GAAA;EAA0C,IAAA,EAAA,MAAA;EAAmB,SAAA,EAAA,MAAA;EAwM1G,OAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;6BGjgB4B;;AF7D7B;AASK,cEqEQ,oBFrEQ,EAAA,CAAA,KAAA,EEqEuB,mBFrEvB,EAAA,GEqE6C,cFrE7C;;;;AFTT,KKOA,cAAA,GLPa;EAGb,SAAA,QAAA,EAAA,MAAiB;EAgBjB,SAAA,OAAa,EAAA,MAAA;AAUzB,CAAA;AAcA;KK9BY,WAAA;;mBAAW,QAAA,CAEc;EJAzB,SAAA,YAAe,EICF,YJDE;EAC0C,SAAA,IAAA,EAAA,MAAA;EACpC,SAAA,KAAA,EAAA,SICN,cJDM,EAAA;CAEiC;AAEa,KIAnE,cAAA,GJAmE;EAElB,SAAA,SAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GIDf,WJCe,GAAA,SAAA;EAEkC,SAAA,cAAA,EAAA,GAAA,GAAA,SAAA,MAAA,EAAA;EAAsB,SAAA,YAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,GIDpE,MJCoE,CID7D,WJC6D,EIDhD,QJCgD,CAAA;EAGhH,SAAA,SAAA,EAAgB,GAAA,GIHO,MJGP,CAAA,IAAA,EIHoB,QJKS,EAAA,CAAA;AAoSlD,CAAA;AAoDA;AAA8C,cItTjC,oBJsTiC,EAAA,CAAA,MAAA,EItTD,qBJsTC,EAAA,GItTuB,MJsTvB,CItT8B,cJsT9B,EItT8C,QJsT9C,CAAA;;;KK7VlC,gBAAA;wBACY;;cAGX,4BAA6B;EN7B9B,KAAA,EAAA,GAAA,GAAA,IAAa;AAGzB,CAAA;AAgBA;AAUY,KM0bA,oBAAA,GNtbW;EAUX,KAAA,EAAA,OAAA;;;cM+aC,kEAEJ"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/document-manager.ts","../src/errors.ts","../src/fragment-args-preprocessor.ts","../src/position-mapping.ts","../src/schema-resolver.ts","../src/server.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { a as createDocumentManager, i as lspErrors, n as createSchemaResolver, o as preprocessFragmentArgs, r as createPositionMapper, t as createLspServer } from "./server-lBJEHSZu.mjs";
1
+ import { a as createDocumentManager, i as lspErrors, n as createSchemaResolver, o as preprocessFragmentArgs, r as createPositionMapper, t as createLspServer } from "./server-6n4IOnC9.mjs";
2
2
 
3
3
  export { createDocumentManager, createLspServer, createPositionMapper, createSchemaResolver, lspErrors, preprocessFragmentArgs };
@@ -1,6 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { fileURLToPath, pathToFileURL } from "node:url";
3
3
  import { createSwcSpanConverter } from "@soda-gql/common";
4
+ import { detectBaseIndent, reindent, walkAndExtract } from "@soda-gql/common/template-extraction";
4
5
  import { TypeInfo, buildASTSchema, concatAST, getNamedType, isTypeDefinitionNode, parse, print, visit, visitWithTypeInfo } from "graphql";
5
6
  import { readFileSync } from "node:fs";
6
7
  import { dirname, resolve, sep } from "node:path";
@@ -130,13 +131,6 @@ const preprocessFragmentArgs = (content) => {
130
131
  * Document manager: tracks open documents and extracts tagged templates using SWC.
131
132
  * @module
132
133
  */
133
- const OPERATION_KINDS = new Set([
134
- "query",
135
- "mutation",
136
- "subscription",
137
- "fragment"
138
- ]);
139
- const isOperationKind = (value) => OPERATION_KINDS.has(value);
140
134
  /**
141
135
  * Collect gql identifiers from import declarations.
142
136
  * Adapted from builder's collectGqlIdentifiers pattern.
@@ -171,177 +165,6 @@ const collectGqlIdentifiers = (module, filePath, helper) => {
171
165
  return identifiers;
172
166
  };
173
167
  /**
174
- * Check if a call expression is a gql.{schemaName}(...) call.
175
- * Returns the schema name if it is, null otherwise.
176
- */
177
- const getGqlCallSchemaName = (identifiers, call) => {
178
- const callee = call.callee;
179
- if (callee.type !== "MemberExpression") {
180
- return null;
181
- }
182
- const member = callee;
183
- if (member.object.type !== "Identifier" || !identifiers.has(member.object.value)) {
184
- return null;
185
- }
186
- if (member.property.type !== "Identifier") {
187
- return null;
188
- }
189
- const firstArg = call.arguments[0];
190
- if (!firstArg?.expression || firstArg.expression.type !== "ArrowFunctionExpression") {
191
- return null;
192
- }
193
- return member.property.value;
194
- };
195
- /**
196
- * Extract templates from a gql callback's arrow function body.
197
- * Handles both expression bodies and block bodies with return statements.
198
- */
199
- const extractTemplatesFromCallback = (arrow, schemaName, spanOffset, converter) => {
200
- const templates = [];
201
- const processExpression = (expr) => {
202
- if (expr.type === "TaggedTemplateExpression") {
203
- const tagged = expr;
204
- extractFromTaggedTemplate(tagged, schemaName, spanOffset, converter, templates);
205
- return;
206
- }
207
- if (expr.type === "CallExpression") {
208
- const call = expr;
209
- if (call.callee.type === "TaggedTemplateExpression") {
210
- extractFromTaggedTemplate(call.callee, schemaName, spanOffset, converter, templates);
211
- }
212
- }
213
- };
214
- if (arrow.body.type !== "BlockStatement") {
215
- processExpression(arrow.body);
216
- return templates;
217
- }
218
- for (const stmt of arrow.body.stmts) {
219
- if (stmt.type === "ReturnStatement" && stmt.argument) {
220
- processExpression(stmt.argument);
221
- }
222
- }
223
- return templates;
224
- };
225
- const extractFromTaggedTemplate = (tagged, schemaName, spanOffset, converter, templates) => {
226
- if (tagged.tag.type !== "CallExpression") {
227
- return;
228
- }
229
- const tagCall = tagged.tag;
230
- if (tagCall.callee.type !== "Identifier") {
231
- return;
232
- }
233
- const kind = tagCall.callee.value;
234
- if (!isOperationKind(kind)) {
235
- return;
236
- }
237
- let elementName;
238
- let typeName;
239
- const firstArg = tagCall.arguments[0]?.expression;
240
- if (firstArg?.type === "StringLiteral") {
241
- elementName = firstArg.value;
242
- }
243
- const secondArg = tagCall.arguments[1]?.expression;
244
- if (secondArg?.type === "StringLiteral") {
245
- typeName = secondArg.value;
246
- }
247
- const { quasis, expressions } = tagged.template;
248
- if (quasis.length === 0) {
249
- return;
250
- }
251
- const parts = [];
252
- let contentStart = -1;
253
- let contentEnd = -1;
254
- for (let i = 0; i < quasis.length; i++) {
255
- const quasi = quasis[i];
256
- if (!quasi) {
257
- continue;
258
- }
259
- const quasiStart = converter.byteOffsetToCharIndex(quasi.span.start - spanOffset);
260
- const quasiEnd = converter.byteOffsetToCharIndex(quasi.span.end - spanOffset);
261
- if (contentStart === -1) {
262
- contentStart = quasiStart;
263
- }
264
- contentEnd = quasiEnd;
265
- const quasiContent = quasi.cooked ?? quasi.raw;
266
- parts.push(quasiContent);
267
- if (i < expressions.length) {
268
- parts.push(`__FRAG_SPREAD_${i}__`);
269
- }
270
- }
271
- if (contentStart === -1 || contentEnd === -1) {
272
- return;
273
- }
274
- const content = parts.join("");
275
- templates.push({
276
- contentRange: {
277
- start: contentStart,
278
- end: contentEnd
279
- },
280
- schemaName,
281
- kind,
282
- content,
283
- ...elementName !== undefined ? { elementName } : {},
284
- ...typeName !== undefined ? { typeName } : {}
285
- });
286
- };
287
- /**
288
- * Walk AST to find gql calls and extract templates.
289
- * Adapted from builder's unwrapMethodChains + visit pattern.
290
- */
291
- const walkAndExtract = (node, identifiers, spanOffset, converter) => {
292
- const templates = [];
293
- const visit$1 = (n) => {
294
- if (!n || typeof n !== "object") {
295
- return;
296
- }
297
- if ("type" in n && n.type === "CallExpression") {
298
- const gqlCall = findGqlCall(identifiers, n);
299
- if (gqlCall) {
300
- const schemaName = getGqlCallSchemaName(identifiers, gqlCall);
301
- if (schemaName) {
302
- const arrow = gqlCall.arguments[0]?.expression;
303
- templates.push(...extractTemplatesFromCallback(arrow, schemaName, spanOffset, converter));
304
- }
305
- return;
306
- }
307
- }
308
- if (Array.isArray(n)) {
309
- for (const item of n) {
310
- visit$1(item);
311
- }
312
- return;
313
- }
314
- for (const key of Object.keys(n)) {
315
- if (key === "span" || key === "type") {
316
- continue;
317
- }
318
- const value = n[key];
319
- if (value && typeof value === "object") {
320
- visit$1(value);
321
- }
322
- }
323
- };
324
- visit$1(node);
325
- return templates;
326
- };
327
- /**
328
- * Find the innermost gql call, unwrapping method chains like .attach().
329
- */
330
- const findGqlCall = (identifiers, node) => {
331
- if (!node || node.type !== "CallExpression") {
332
- return null;
333
- }
334
- const call = node;
335
- if (getGqlCallSchemaName(identifiers, call) !== null) {
336
- return call;
337
- }
338
- const callee = call.callee;
339
- if (callee.type !== "MemberExpression") {
340
- return null;
341
- }
342
- return findGqlCall(identifiers, callee.object);
343
- };
344
- /**
345
168
  * Index fragment definitions from extracted templates.
346
169
  * Parses each fragment template to extract FragmentDefinitionNode for cross-file resolution.
347
170
  */
@@ -453,7 +276,11 @@ const createDocumentManager = (helper, swcOptions) => {
453
276
  if (gqlIdentifiers.size === 0) {
454
277
  return [];
455
278
  }
456
- return walkAndExtract(program, gqlIdentifiers, spanOffset, converter);
279
+ const positionCtx = {
280
+ spanOffset,
281
+ converter
282
+ };
283
+ return walkAndExtract(program, gqlIdentifiers, positionCtx);
457
284
  };
458
285
  return {
459
286
  update: (uri, version, source) => {
@@ -3739,48 +3566,6 @@ const handleFormatting = (input) => {
3739
3566
  }
3740
3567
  return edits;
3741
3568
  };
3742
- /**
3743
- * Detect the base indentation for a template by looking at the line
3744
- * containing the opening backtick.
3745
- */
3746
- const detectBaseIndent = (tsSource, contentStartOffset) => {
3747
- let lineStart = contentStartOffset;
3748
- while (lineStart > 0 && tsSource.charCodeAt(lineStart - 1) !== 10) {
3749
- lineStart--;
3750
- }
3751
- let i = lineStart;
3752
- while (i < tsSource.length && (tsSource.charCodeAt(i) === 32 || tsSource.charCodeAt(i) === 9)) {
3753
- i++;
3754
- }
3755
- return tsSource.slice(lineStart, i);
3756
- };
3757
- /**
3758
- * Re-indent formatted GraphQL to match the embedding context.
3759
- *
3760
- * The original template may start with a newline (common for multi-line templates)
3761
- * or be inline. We match the original pattern:
3762
- * - If original starts with newline, formatted output gets newline + indented lines
3763
- * - If original is single-line, keep formatted as single-line if it fits
3764
- */
3765
- const reindent = (formatted, baseIndent, originalContent) => {
3766
- const trimmedFormatted = formatted.trim();
3767
- if (!originalContent.includes("\n") && !trimmedFormatted.includes("\n")) {
3768
- return trimmedFormatted;
3769
- }
3770
- const indent = `${baseIndent} `;
3771
- const lines = trimmedFormatted.split("\n");
3772
- const indentedLines = lines.map((line) => line.trim() === "" ? "" : indent + line);
3773
- const startsWithNewline = originalContent.startsWith("\n");
3774
- const endsWithNewline = originalContent.endsWith("\n");
3775
- let result = indentedLines.join("\n");
3776
- if (startsWithNewline) {
3777
- result = `\n${result}`;
3778
- }
3779
- if (endsWithNewline) {
3780
- result = `${result}\n${baseIndent}`;
3781
- }
3782
- return result;
3783
- };
3784
3569
 
3785
3570
  //#endregion
3786
3571
  //#region packages/lsp/src/handlers/hover.ts
@@ -4385,4 +4170,4 @@ const positionToOffset = (source, position) => {
4385
4170
 
4386
4171
  //#endregion
4387
4172
  export { createDocumentManager as a, lspErrors as i, createSchemaResolver as n, preprocessFragmentArgs as o, createPositionMapper as r, createLspServer as t };
4388
- //# sourceMappingURL=server-lBJEHSZu.mjs.map
4173
+ //# sourceMappingURL=server-6n4IOnC9.mjs.map