@platformos/platformos-language-server-common 0.0.12 → 0.0.13

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.
Files changed (69) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/PropertyShapeInference.d.ts +5 -0
  3. package/dist/PropertyShapeInference.js +28 -0
  4. package/dist/PropertyShapeInference.js.map +1 -1
  5. package/dist/TypeSystem.js +106 -55
  6. package/dist/TypeSystem.js.map +1 -1
  7. package/dist/VariableShapeExtractor.js +2 -4
  8. package/dist/VariableShapeExtractor.js.map +1 -1
  9. package/dist/completions/CompletionsProvider.d.ts +1 -0
  10. package/dist/completions/CompletionsProvider.js +6 -0
  11. package/dist/completions/CompletionsProvider.js.map +1 -1
  12. package/dist/completions/providers/GraphQLFieldCompletionProvider.d.ts +12 -0
  13. package/dist/completions/providers/GraphQLFieldCompletionProvider.js +75 -0
  14. package/dist/completions/providers/GraphQLFieldCompletionProvider.js.map +1 -0
  15. package/dist/definitions/DefinitionProvider.d.ts +19 -1
  16. package/dist/definitions/DefinitionProvider.js +33 -1
  17. package/dist/definitions/DefinitionProvider.js.map +1 -1
  18. package/dist/definitions/providers/PageRouteDefinitionProvider.d.ts +51 -0
  19. package/dist/definitions/providers/PageRouteDefinitionProvider.js +204 -0
  20. package/dist/definitions/providers/PageRouteDefinitionProvider.js.map +1 -0
  21. package/dist/definitions/providers/RenderPartialDefinitionProvider.d.ts +14 -0
  22. package/dist/definitions/providers/RenderPartialDefinitionProvider.js +50 -0
  23. package/dist/definitions/providers/RenderPartialDefinitionProvider.js.map +1 -0
  24. package/dist/diagnostics/runChecks.d.ts +3 -1
  25. package/dist/diagnostics/runChecks.js +2 -1
  26. package/dist/diagnostics/runChecks.js.map +1 -1
  27. package/dist/documentLinks/DocumentLinksProvider.d.ts +3 -1
  28. package/dist/documentLinks/DocumentLinksProvider.js +16 -20
  29. package/dist/documentLinks/DocumentLinksProvider.js.map +1 -1
  30. package/dist/hover/HoverProvider.d.ts +1 -0
  31. package/dist/hover/HoverProvider.js +6 -0
  32. package/dist/hover/HoverProvider.js.map +1 -1
  33. package/dist/hover/providers/GraphQLFieldHoverProvider.d.ts +12 -0
  34. package/dist/hover/providers/GraphQLFieldHoverProvider.js +85 -0
  35. package/dist/hover/providers/GraphQLFieldHoverProvider.js.map +1 -0
  36. package/dist/server/AppGraphManager.js +3 -4
  37. package/dist/server/AppGraphManager.js.map +1 -1
  38. package/dist/server/CachedFileSystem.js +7 -2
  39. package/dist/server/CachedFileSystem.js.map +1 -1
  40. package/dist/server/startServer.js +71 -5
  41. package/dist/server/startServer.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/dist/utils/searchPaths.d.ts +21 -0
  44. package/dist/utils/searchPaths.js +34 -0
  45. package/dist/utils/searchPaths.js.map +1 -0
  46. package/package.json +6 -4
  47. package/src/PropertyShapeInference.spec.ts +44 -0
  48. package/src/PropertyShapeInference.ts +27 -0
  49. package/src/TypeSystem.spec.ts +59 -0
  50. package/src/TypeSystem.ts +119 -58
  51. package/src/VariableShapeExtractor.ts +2 -4
  52. package/src/completions/CompletionsProvider.ts +11 -0
  53. package/src/completions/providers/GraphQLFieldCompletionProvider.ts +78 -0
  54. package/src/definitions/DefinitionProvider.ts +52 -0
  55. package/src/definitions/providers/PageRouteDefinitionProvider.spec.ts +753 -0
  56. package/src/definitions/providers/PageRouteDefinitionProvider.ts +250 -0
  57. package/src/definitions/providers/RenderPartialDefinitionProvider.spec.ts +191 -0
  58. package/src/definitions/providers/RenderPartialDefinitionProvider.ts +70 -0
  59. package/src/diagnostics/runChecks.ts +4 -0
  60. package/src/documentLinks/DocumentLinksProvider.spec.ts +131 -10
  61. package/src/documentLinks/DocumentLinksProvider.ts +23 -32
  62. package/src/hover/HoverProvider.ts +11 -0
  63. package/src/hover/providers/GraphQLFieldHoverProvider.spec.ts +124 -0
  64. package/src/hover/providers/GraphQLFieldHoverProvider.ts +90 -0
  65. package/src/server/AppGraphManager.ts +3 -5
  66. package/src/server/CachedFileSystem.ts +11 -2
  67. package/src/server/startServer.ts +85 -5
  68. package/src/utils/searchPaths.spec.ts +101 -0
  69. package/src/utils/searchPaths.ts +32 -0
@@ -7,11 +7,12 @@ const vscode_languageserver_1 = require("vscode-languageserver");
7
7
  const vscode_uri_1 = require("vscode-uri");
8
8
  const platformos_check_common_2 = require("@platformos/platformos-check-common");
9
9
  class DocumentLinksProvider {
10
- constructor(documentManager, findAppRootURI, documentsLocator, translationProvider) {
10
+ constructor(documentManager, findAppRootURI, documentsLocator, translationProvider, searchPathsCache) {
11
11
  this.documentManager = documentManager;
12
12
  this.findAppRootURI = findAppRootURI;
13
13
  this.documentsLocator = documentsLocator;
14
14
  this.translationProvider = translationProvider;
15
+ this.searchPathsCache = searchPathsCache;
15
16
  }
16
17
  async documentLinks(uriString) {
17
18
  const sourceCode = this.documentManager.get(uriString);
@@ -24,32 +25,27 @@ class DocumentLinksProvider {
24
25
  if (!rootUri) {
25
26
  return [];
26
27
  }
27
- const visitor = documentLinksVisitor(sourceCode.textDocument, vscode_uri_1.URI.parse(rootUri), this.documentsLocator, this.translationProvider);
28
+ const root = vscode_uri_1.URI.parse(rootUri);
29
+ const searchPaths = await this.searchPathsCache.get(root);
30
+ const visitor = documentLinksVisitor(sourceCode.textDocument, root, this.documentsLocator, this.translationProvider, searchPaths);
28
31
  return (0, platformos_check_common_2.visit)(sourceCode.ast, visitor);
29
32
  }
30
33
  }
31
34
  exports.DocumentLinksProvider = DocumentLinksProvider;
32
- function documentLinksVisitor(textDocument, root, documentsLocator, translationProvider) {
35
+ function documentLinksVisitor(textDocument, root, documentsLocator, translationProvider, searchPaths) {
33
36
  return {
34
37
  async LiquidTag(node) {
35
- if ((node.name === 'render' || node.name === 'include') &&
36
- typeof node.markup !== 'string' &&
37
- isLiquidString(node.markup.partial)) {
38
- const partial = node.markup.partial;
39
- return vscode_languageserver_1.DocumentLink.create(range(textDocument, partial), await documentsLocator.locate(root, node.name, partial.value));
40
- }
41
- if (node.name === 'function' &&
42
- typeof node.markup !== 'string' &&
43
- isLiquidString(node.markup.partial)) {
44
- const partial = node.markup.partial;
45
- return vscode_languageserver_1.DocumentLink.create(range(textDocument, partial), await documentsLocator.locate(root, node.name, partial.value));
38
+ const markup = node.markup;
39
+ if (typeof markup === 'string' || markup === null)
40
+ return;
41
+ const name = node.name;
42
+ // render, include, function, theme_render_rc all have a .partial field
43
+ if ('partial' in markup && isLiquidString(markup.partial)) {
44
+ return vscode_languageserver_1.DocumentLink.create(range(textDocument, markup.partial), await documentsLocator.locate(root, name, markup.partial.value, searchPaths));
46
45
  }
47
- if (node.name === 'graphql' &&
48
- typeof node.markup !== 'string' &&
49
- 'graphql' in node.markup &&
50
- isLiquidString(node.markup.graphql)) {
51
- const snippet = node.markup.graphql;
52
- return vscode_languageserver_1.DocumentLink.create(range(textDocument, snippet), await documentsLocator.locate(root, node.name, snippet.value));
46
+ // graphql has a .graphql field
47
+ if ('graphql' in markup && isLiquidString(markup.graphql)) {
48
+ return vscode_languageserver_1.DocumentLink.create(range(textDocument, markup.graphql), await documentsLocator.locate(root, name, markup.graphql.value));
53
49
  }
54
50
  },
55
51
  async LiquidVariable(node) {
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentLinksProvider.js","sourceRoot":"","sources":["../../src/documentLinks/DocumentLinksProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentLinksProvider.js","sourceRoot":"","sources":["../../src/documentLinks/DocumentLinksProvider.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare class HoverProvider {
12
12
  readonly getDocDefinitionForURI: GetDocDefinitionForURI;
13
13
  readonly findAppRootURI: FindAppRootURI;
14
14
  private providers;
15
+ private graphqlFieldHoverProvider;
15
16
  constructor(documentManager: DocumentManager, platformosDocset: PlatformOSDocset, translationProvider: TranslationProvider, getTranslationsForURI?: GetTranslationsForURI, getDocDefinitionForURI?: GetDocDefinitionForURI, findAppRootURI?: FindAppRootURI);
16
17
  hover(params: HoverParams): Promise<Hover | null>;
17
18
  }
@@ -7,6 +7,7 @@ const providers_1 = require("./providers");
7
7
  const HtmlAttributeValueHoverProvider_1 = require("./providers/HtmlAttributeValueHoverProvider");
8
8
  const platformos_check_common_2 = require("@platformos/platformos-check-common");
9
9
  const LiquidDocTagHoverProvider_1 = require("./providers/LiquidDocTagHoverProvider");
10
+ const GraphQLFieldHoverProvider_1 = require("./providers/GraphQLFieldHoverProvider");
10
11
  class HoverProvider {
11
12
  constructor(documentManager, platformosDocset, translationProvider, getTranslationsForURI = async () => ({}), getDocDefinitionForURI = async () => undefined, findAppRootURI = async () => null) {
12
13
  this.documentManager = documentManager;
@@ -17,6 +18,7 @@ class HoverProvider {
17
18
  this.findAppRootURI = findAppRootURI;
18
19
  this.providers = [];
19
20
  const typeSystem = new TypeSystem_1.TypeSystem(platformosDocset);
21
+ this.graphqlFieldHoverProvider = new GraphQLFieldHoverProvider_1.GraphQLFieldHoverProvider(platformosDocset, documentManager);
20
22
  this.providers = [
21
23
  new providers_1.LiquidTagHoverProvider(platformosDocset),
22
24
  new providers_1.LiquidFilterArgumentHoverProvider(platformosDocset),
@@ -35,6 +37,10 @@ class HoverProvider {
35
37
  async hover(params) {
36
38
  const uri = params.textDocument.uri;
37
39
  const document = this.documentManager.get(uri);
40
+ // GraphQL files get dedicated hover support
41
+ if (document?.type === platformos_check_common_1.SourceCodeType.GraphQL) {
42
+ return this.graphqlFieldHoverProvider.hover(params);
43
+ }
38
44
  // Supports only Liquid resources
39
45
  if (document?.type !== platformos_check_common_1.SourceCodeType.LiquidHtml || document.ast instanceof Error) {
40
46
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"HoverProvider.js","sourceRoot":"","sources":["../../src/hover/HoverProvider.ts"],"names":[],"mappings":";;;AAAA,iFAI6C;AAE7C,8CAA2C;AAI3C,2CAWqB;AACrB,iGAA8F;AAC9F,iFAAsE;AACtE,qFAAkF;AAGlF,MAAa,aAAa;IAGxB,YACW,eAAgC,EAChC,gBAAkC,EAClC,mBAAwC,EACxC,wBAA+C,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAC/D,yBAAiD,KAAK,IAAI,EAAE,CAAC,SAAS,EACtE,iBAAiC,KAAK,IAAI,EAAE,CAAC,IAAI;QALjD,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,0BAAqB,GAArB,qBAAqB,CAA0C;QAC/D,2BAAsB,GAAtB,sBAAsB,CAAgD;QACtE,mBAAc,GAAd,cAAc,CAAmC;QARpD,cAAS,GAAwB,EAAE,CAAC;QAU1C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,kCAAsB,CAAC,gBAAgB,CAAC;YAC5C,IAAI,6CAAiC,CAAC,gBAAgB,CAAC;YACvD,IAAI,qCAAyB,CAAC,gBAAgB,CAAC;YAC/C,IAAI,qCAAyB,CAAC,UAAU,CAAC;YACzC,IAAI,8CAAkC,CAAC,UAAU,CAAC;YAClD,IAAI,gCAAoB,EAAE;YAC1B,IAAI,sCAA0B,EAAE;YAChC,IAAI,iEAA+B,EAAE;YACrC,IAAI,oCAAwB,CAAC,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC;YAClF,IAAI,sCAA0B,CAAC,sBAAsB,CAAC;YACtD,IAAI,+CAAmC,CAAC,sBAAsB,CAAC;YAC/D,IAAI,qDAAyB,CAAC,eAAe,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/C,iCAAiC;QACjC,IAAI,QAAQ,EAAE,IAAI,KAAK,wCAAc,CAAC,UAAU,IAAI,QAAQ,CAAC,GAAG,YAAY,KAAK,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,IAAA,yCAAe,EAC9C,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAChD,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;CACF;AA9CD,sCA8CC"}
1
+ {"version":3,"file":"HoverProvider.js","sourceRoot":"","sources":["../../src/hover/HoverProvider.ts"],"names":[],"mappings":";;;AAAA,iFAI6C;AAE7C,8CAA2C;AAI3C,2CAWqB;AACrB,iGAA8F;AAC9F,iFAAsE;AACtE,qFAAkF;AAClF,qFAAkF;AAGlF,MAAa,aAAa;IAIxB,YACW,eAAgC,EAChC,gBAAkC,EAClC,mBAAwC,EACxC,wBAA+C,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAC/D,yBAAiD,KAAK,IAAI,EAAE,CAAC,SAAS,EACtE,iBAAiC,KAAK,IAAI,EAAE,CAAC,IAAI;QALjD,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,0BAAqB,GAArB,qBAAqB,CAA0C;QAC/D,2BAAsB,GAAtB,sBAAsB,CAAgD;QACtE,mBAAc,GAAd,cAAc,CAAmC;QATpD,cAAS,GAAwB,EAAE,CAAC;QAW1C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,yBAAyB,GAAG,IAAI,qDAAyB,CAC5D,gBAAgB,EAChB,eAAe,CAChB,CAAC;QACF,IAAI,CAAC,SAAS,GAAG;YACf,IAAI,kCAAsB,CAAC,gBAAgB,CAAC;YAC5C,IAAI,6CAAiC,CAAC,gBAAgB,CAAC;YACvD,IAAI,qCAAyB,CAAC,gBAAgB,CAAC;YAC/C,IAAI,qCAAyB,CAAC,UAAU,CAAC;YACzC,IAAI,8CAAkC,CAAC,UAAU,CAAC;YAClD,IAAI,gCAAoB,EAAE;YAC1B,IAAI,sCAA0B,EAAE;YAChC,IAAI,iEAA+B,EAAE;YACrC,IAAI,oCAAwB,CAAC,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC;YAClF,IAAI,sCAA0B,CAAC,sBAAsB,CAAC;YACtD,IAAI,+CAAmC,CAAC,sBAAsB,CAAC;YAC/D,IAAI,qDAAyB,CAAC,eAAe,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/C,4CAA4C;QAC5C,IAAI,QAAQ,EAAE,IAAI,KAAK,wCAAc,CAAC,OAAO,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,iCAAiC;QACjC,IAAI,QAAQ,EAAE,IAAI,KAAK,wCAAc,CAAC,UAAU,IAAI,QAAQ,CAAC,GAAG,YAAY,KAAK,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,IAAA,yCAAe,EAC9C,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAChD,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;CACF;AAxDD,sCAwDC"}
@@ -0,0 +1,12 @@
1
+ import { Hover, HoverParams } from 'vscode-languageserver';
2
+ import { DocumentManager } from '../../documents';
3
+ import { PlatformOSDocset } from '@platformos/platformos-check-common';
4
+ export declare class GraphQLFieldHoverProvider {
5
+ private platformosDocset;
6
+ private documentManager;
7
+ private schemaCache;
8
+ private schemaLoaded;
9
+ constructor(platformosDocset: PlatformOSDocset, documentManager: DocumentManager);
10
+ private getSchema;
11
+ hover(params: HoverParams): Promise<Hover | null>;
12
+ }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphQLFieldHoverProvider = void 0;
4
+ /**
5
+ * graphql-language-service and graphql must be loaded dynamically to avoid
6
+ * the "Cannot use GraphQLList from another module or realm" error that occurs
7
+ * when vitest transforms the graphql ESM module into separate instances.
8
+ * By requiring at runtime, we ensure a single shared module instance.
9
+ */
10
+ let _glsMod;
11
+ function getGLS() {
12
+ if (!_glsMod)
13
+ _glsMod = require('graphql-language-service');
14
+ return _glsMod;
15
+ }
16
+ let _graphqlMod;
17
+ function getGraphQL() {
18
+ if (!_graphqlMod)
19
+ _graphqlMod = require('graphql');
20
+ return _graphqlMod;
21
+ }
22
+ class GraphQLFieldHoverProvider {
23
+ constructor(platformosDocset, documentManager) {
24
+ this.platformosDocset = platformosDocset;
25
+ this.documentManager = documentManager;
26
+ this.schemaLoaded = false;
27
+ }
28
+ async getSchema() {
29
+ if (!this.schemaLoaded) {
30
+ const sdl = await this.platformosDocset.graphQL();
31
+ if (sdl) {
32
+ try {
33
+ this.schemaCache = getGraphQL().buildSchema(sdl);
34
+ }
35
+ catch {
36
+ // Invalid schema SDL
37
+ }
38
+ }
39
+ this.schemaLoaded = true;
40
+ }
41
+ return this.schemaCache;
42
+ }
43
+ async hover(params) {
44
+ const uri = params.textDocument.uri;
45
+ const document = this.documentManager.get(uri);
46
+ if (!document)
47
+ return null;
48
+ const schema = await this.getSchema();
49
+ if (!schema)
50
+ return null;
51
+ const content = document.textDocument.getText();
52
+ const gls = getGLS();
53
+ // graphql-language-service's getHoverInformation uses the character *before* the cursor
54
+ // position to identify the token. We try offset +1 first, then the original position,
55
+ // to handle the case where the cursor is at the start of a token.
56
+ const positions = [
57
+ new gls.Position(params.position.line, params.position.character + 1),
58
+ new gls.Position(params.position.line, params.position.character),
59
+ ];
60
+ try {
61
+ let hoverInfo;
62
+ for (const position of positions) {
63
+ const info = gls.getHoverInformation(schema, content, position);
64
+ if (info && info !== '' && info !== 'null') {
65
+ hoverInfo = typeof info === 'string' ? info : String(info);
66
+ break;
67
+ }
68
+ }
69
+ if (!hoverInfo) {
70
+ return null;
71
+ }
72
+ return {
73
+ contents: {
74
+ kind: 'markdown',
75
+ value: hoverInfo,
76
+ },
77
+ };
78
+ }
79
+ catch {
80
+ return null;
81
+ }
82
+ }
83
+ }
84
+ exports.GraphQLFieldHoverProvider = GraphQLFieldHoverProvider;
85
+ //# sourceMappingURL=GraphQLFieldHoverProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphQLFieldHoverProvider.js","sourceRoot":"","sources":["../../../src/hover/providers/GraphQLFieldHoverProvider.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,7 @@ class AppGraphManager {
22
22
  const rootUri = await this.findAppRootURI(anyUri);
23
23
  if (!rootUri)
24
24
  return;
25
- const graph = await this.graphs.get(rootUri);
26
- if (!graph)
27
- return;
25
+ // Delete existing graph to force rebuild
28
26
  this.graphs.delete(rootUri);
29
27
  await this.getAppGraphForURI(rootUri);
30
28
  this.connection.sendNotification(types_1.AppGraphDidUpdateNotification.type, { uri: rootUri });
@@ -33,7 +31,8 @@ class AppGraphManager {
33
31
  const { documentManager } = this;
34
32
  await documentManager.preload(rootUri);
35
33
  const dependencies = await this.graphDependencies(rootUri);
36
- return (0, platformos_graph_1.buildAppGraph)(rootUri, dependencies, entryPoints);
34
+ const graph = await (0, platformos_graph_1.buildAppGraph)(rootUri, dependencies, entryPoints);
35
+ return graph;
37
36
  };
38
37
  this.getSourceCode = async (uri) => {
39
38
  const doc = this.documentManager.get(uri);
@@ -1 +1 @@
1
- {"version":3,"file":"AppGraphManager.js","sourceRoot":"","sources":["../../src/server/AppGraphManager.ts"],"names":[],"mappings":";;;AAEA,mEAOsC;AACtC,6EAAoD;AAEpD,2FAAkE;AAElE,oCAKkB;AAClB,oCAAoC;AAGpC,MAAa,eAAe;IAG1B,YACU,UAAsB,EACtB,eAAgC,EAChC,EAAsB,EACtB,cAA8B;QAH9B,eAAU,GAAV,UAAU,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAiB;QAChC,OAAE,GAAF,EAAE,CAAoB;QACtB,mBAAc,GAAd,cAAc,CAAgB;QANxC,WAAM,GAAkD,IAAI,GAAG,EAAE,CAAC;QAoG3D,mBAAc,GAAa,EAAE,CAAC;QAuB7B,iBAAY,GAAG,IAAA,gBAAQ,EAAC,KAAK,IAAI,EAAE;YACzC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEpC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,qCAA6B,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC,EAAE,GAAG,CAAC,CAAC;QAEA,kBAAa,GAAG,KAAK,EAAE,OAAe,EAAE,WAAsB,EAAE,EAAE;YACxE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;YACjC,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAA,gCAAa,EAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEM,kBAAa,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3C,OAAO,IAAA,+BAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;IAlJC,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,GAAW;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,MAAe,EAAE,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,EAAE;QAC/E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,aAAa,GAA+C;YAChE,QAAQ;YACR,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACzC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjF,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;aACnC,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,GAAG;gBACN,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;aACO,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,MAAe,EAAE,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,EAAE;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,aAAa,GAA+C;YAChE,QAAQ;YACR,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SACzC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzF,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC;aACnC,CAAC,CAAC;YACH,OAAO;gBACL,GAAG,GAAG;gBACN,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,MAAM;aACO,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAa;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK;YACvB,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG,GAAG,EAAoC,CAAC;QAE5E,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC;QAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,iDAAY,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACnF,CAAC;QAED,OAAO;YACL,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,QAAQ,EAAE,mCAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,EAAE,IAAI,EAAE,mCAAmC;SAClD,CAAC;IACJ,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,MAAc;QACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAkCO,kBAAkB,CAAC,OAAe;QACxC,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QACnC,OAAO,IAAA,qCAAkB,EAAC,OAAO,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC7C,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO;YACL,EAAE,EAAE,EAAE;YACN,aAAa,EAAE,aAAa;YAC5B,kCAAkC,CAAC,iBAAyB;gBAC1D,OAAO,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AA5KD,0CA4KC"}
1
+ {"version":3,"file":"AppGraphManager.js","sourceRoot":"","sources":["../../src/server/AppGraphManager.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CachedFileSystem = void 0;
4
4
  class CachedFileSystem {
5
5
  constructor(fs) {
6
- this.readFile = cachedByUri(fs.readFile.bind(fs));
6
+ this.readFile = cachedByUri(fs.readFile.bind(fs),
7
+ // app/config.yml can change externally (e.g. vim) without a file watcher
8
+ // notification. Always read it fresh — it's small and rarely accessed.
9
+ (uri) => uri.endsWith('/app/config.yml'));
7
10
  this.readDirectory = cachedByUri(fs.readDirectory.bind(fs));
8
11
  this.stat = cachedByUri(fs.stat.bind(fs));
9
12
  }
10
13
  }
11
14
  exports.CachedFileSystem = CachedFileSystem;
12
- function cachedByUri(fn) {
15
+ function cachedByUri(fn, skipCache) {
13
16
  const cache = new Map();
14
17
  function cached(uri) {
18
+ if (skipCache?.(uri))
19
+ return fn(uri);
15
20
  if (!cache.has(uri)) {
16
21
  // I'm intentionally leaving this comment here for debugging purposes :)
17
22
  // console.error('cache miss', fn.name, uri);
@@ -1 +1 @@
1
- {"version":3,"file":"CachedFileSystem.js","sourceRoot":"","sources":["../../src/server/CachedFileSystem.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAK3B,YAAY,EAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF;AAVD,4CAUC;AAOD,SAAS,WAAW,CAAI,EAA+B;IACrD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,SAAS,MAAM,CAAC,GAAW;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,wEAAwE;YACxE,6CAA6C;YAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,wEAAwE;QACxE,mDAAmD;QACnD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"CachedFileSystem.js","sourceRoot":"","sources":["../../src/server/CachedFileSystem.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAK3B,YAAY,EAAsB;QAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CACzB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,yEAAyE;QACzE,uEAAuE;QACvE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF;AAfD,4CAeC;AAOD,SAAS,WAAW,CAClB,EAA+B,EAC/B,SAAoC;IAEpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,SAAS,MAAM,CAAC,GAAW;QACzB,IAAI,SAAS,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,wEAAwE;YACxE,6CAA6C;YAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,wEAAwE;QACxE,mDAAmD;QACnD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -22,6 +22,7 @@ const RenameProvider_1 = require("../rename/RenameProvider");
22
22
  const RenameHandler_1 = require("../renamed/RenameHandler");
23
23
  const types_1 = require("../types");
24
24
  const utils_1 = require("../utils");
25
+ const searchPaths_1 = require("../utils/searchPaths");
25
26
  const version_1 = require("../version");
26
27
  const CachedFileSystem_1 = require("./CachedFileSystem");
27
28
  const Configuration_1 = require("./Configuration");
@@ -30,6 +31,12 @@ const AppGraphManager_1 = require("./AppGraphManager");
30
31
  const platformos_common_2 = require("@platformos/platformos-common");
31
32
  const vscode_uri_1 = require("vscode-uri");
32
33
  const defaultLogger = () => { };
34
+ /**
35
+ * When a file-watcher batch contains this many page-file changes, we
36
+ * assume a bulk operation (git checkout, branch switch, stash pop) and
37
+ * fully rebuild the route table instead of applying incremental updates.
38
+ */
39
+ const BULK_PAGE_CHANGE_THRESHOLD = 10;
33
40
  /**
34
41
  * The `git:` VFS does not support the `fs.readDirectory` call and makes most things break.
35
42
  * `git` URIs are the ones you'd encounter when doing a git diff in VS Code. They're not
@@ -65,7 +72,8 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
65
72
  const diagnosticsManager = new diagnostics_1.DiagnosticsManager(connection);
66
73
  const documentsLocator = new platformos_common_2.DocumentsLocator(fs);
67
74
  const translationProvider = new platformos_common_1.TranslationProvider(fs);
68
- const documentLinksProvider = new documentLinks_1.DocumentLinksProvider(documentManager, findAppRootURI, documentsLocator, translationProvider);
75
+ const searchPathsCache = new searchPaths_1.SearchPathsLoader(fs);
76
+ const documentLinksProvider = new documentLinks_1.DocumentLinksProvider(documentManager, findAppRootURI, documentsLocator, translationProvider, searchPathsCache);
69
77
  const codeActionsProvider = new codeActions_1.CodeActionsProvider(documentManager, diagnosticsManager);
70
78
  const onTypeFormattingProvider = new formatting_1.OnTypeFormattingProvider(documentManager, async function setCursorPosition(textDocument, position) {
71
79
  if (!clientCapabilities.hasShowDocumentSupport)
@@ -99,6 +107,7 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
99
107
  jsonValidationSet,
100
108
  appGraphManager,
101
109
  includeFilesFromDisk: () => configuration[Configuration_1.INCLUDE_FILES_FROM_DISK],
110
+ getRouteTable: () => definitionsProvider.getRouteTable(),
102
111
  }), 100);
103
112
  // In platformOS, there are no built-in system translations. User-defined translations
104
113
  // are resolved via TranslationProvider at the point of lookup.
@@ -137,7 +146,7 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
137
146
  return null;
138
147
  return documentManager.get(defaultLocaleFileUri) ?? null;
139
148
  }
140
- const definitionsProvider = new DefinitionProvider_1.DefinitionProvider(documentManager, getDefaultLocaleSourceCode);
149
+ const definitionsProvider = new DefinitionProvider_1.DefinitionProvider(documentManager, getDefaultLocaleSourceCode, fs, findAppRootURI, documentsLocator, searchPathsCache);
141
150
  const jsonLanguageService = new JSONLanguageService_1.JSONLanguageService(documentManager, jsonValidationSet);
142
151
  const cssLanguageService = new CSSLanguageService_1.CSSLanguageService(documentManager);
143
152
  const completionsProvider = new completions_1.CompletionsProvider({
@@ -243,6 +252,9 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
243
252
  {
244
253
  globPattern: '**/*.css',
245
254
  },
255
+ {
256
+ globPattern: '**/app/config.yml',
257
+ },
246
258
  ],
247
259
  });
248
260
  });
@@ -287,7 +299,11 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
287
299
  cssLanguageService.change(uri, params.contentChanges[0].text, version);
288
300
  return;
289
301
  }
290
- documentManager.change(uri, params.contentChanges[0].text, version);
302
+ const text = params.contentChanges[0].text;
303
+ documentManager.change(uri, text, version);
304
+ if ((0, platformos_common_1.isPage)(uri)) {
305
+ definitionsProvider.onPageFileChanged(uri, text);
306
+ }
291
307
  if (await configuration.shouldCheckOnChange()) {
292
308
  runChecks([uri]);
293
309
  }
@@ -300,6 +316,13 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
300
316
  if (hasUnsupportedDocument(params))
301
317
  return;
302
318
  const { uri } = params.textDocument;
319
+ // onDidChangeWatchedFiles also fires for in-editor saves, but it arrives after
320
+ // onDidSaveTextDocument. Invalidate the search-paths cache here immediately so
321
+ // that go-to-definition requests triggered by the same save don't see stale data
322
+ // while waiting for the file-watcher notification.
323
+ if (uri.endsWith('/app/config.yml')) {
324
+ searchPathsCache.invalidate();
325
+ }
303
326
  if (await configuration.shouldCheckOnSave()) {
304
327
  runChecks([uri]);
305
328
  }
@@ -418,6 +441,14 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
418
441
  if (params.changes.length === 0)
419
442
  return;
420
443
  const triggerUris = params.changes.map((change) => change.uri);
444
+ // When many page files change at once (e.g., git checkout, branch switch, stash pop),
445
+ // incremental updates aren't reliable — files not open in the editor won't get
446
+ // individual onDidChangeTextDocument events. VS Code reports branch-switch changes
447
+ // as FileChangeType.Changed, so we count all change types.
448
+ const bulkPageChanges = params.changes.filter((c) => (0, platformos_common_1.isPage)(c.uri));
449
+ if (bulkPageChanges.length >= BULK_PAGE_CHANGE_THRESHOLD) {
450
+ definitionsProvider.invalidateRouteTable();
451
+ }
421
452
  const updates = [];
422
453
  for (const change of params.changes) {
423
454
  // App Check config changes should clear the config cache
@@ -425,6 +456,19 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
425
456
  loadConfig.clearCache();
426
457
  continue;
427
458
  }
459
+ // app/config.yml changes should clear expanded search paths cache
460
+ // and force re-check of all open documents.
461
+ // Note: readFile for config.yml bypasses the CachedFileSystem cache,
462
+ // so we don't need to invalidate it — reads are always fresh.
463
+ if (change.uri.endsWith('/app/config.yml')) {
464
+ documentsLocator.clearExpandedPathsCache();
465
+ searchPathsCache.invalidate();
466
+ // Ensure open liquid files are re-checked with the new search paths
467
+ for (const doc of documentManager.openDocuments) {
468
+ triggerUris.push(doc.uri);
469
+ }
470
+ continue;
471
+ }
428
472
  // Rename cache invalidation is handled by onDidRenameFiles
429
473
  if (documentManager.hasRecentRename(change.uri)) {
430
474
  documentManager.clearRecentRename(change.uri);
@@ -438,7 +482,13 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
438
482
  fs.stat.invalidate(change.uri);
439
483
  appGraphManager.create(change.uri);
440
484
  // If a file is created under out feet, we update its contents.
441
- updates.push(documentManager.changeFromDisk(change.uri));
485
+ updates.push(documentManager.changeFromDisk(change.uri).then(() => {
486
+ if ((0, platformos_common_1.isPage)(change.uri)) {
487
+ const doc = documentManager.get(change.uri);
488
+ if (doc)
489
+ definitionsProvider.onPageFileChanged(change.uri, doc.source);
490
+ }
491
+ }));
442
492
  break;
443
493
  case vscode_languageserver_1.FileChangeType.Changed:
444
494
  // A changed file invalidates readFile and stat (but not readDirectory)
@@ -449,7 +499,21 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
449
499
  // If it is open, then we don't need to update it because the document manager
450
500
  // will have the version from the editor.
451
501
  if (documentManager.get(change.uri)?.version === undefined) {
452
- updates.push(documentManager.changeFromDisk(change.uri));
502
+ updates.push(documentManager.changeFromDisk(change.uri).then(() => {
503
+ if ((0, platformos_common_1.isPage)(change.uri)) {
504
+ const doc = documentManager.get(change.uri);
505
+ if (doc)
506
+ definitionsProvider.onPageFileChanged(change.uri, doc.source);
507
+ }
508
+ }));
509
+ }
510
+ else if ((0, platformos_common_1.isPage)(change.uri)) {
511
+ // File is open in editor but changed externally (e.g. git checkout).
512
+ // The doc manager already has the editor version, but the route table
513
+ // may be stale — update it from whatever the doc manager holds.
514
+ const doc = documentManager.get(change.uri);
515
+ if (doc)
516
+ definitionsProvider.onPageFileChanged(change.uri, doc.source);
453
517
  }
454
518
  break;
455
519
  case vscode_languageserver_1.FileChangeType.Deleted:
@@ -458,6 +522,8 @@ function startServer(connection, { fs: injectedFs, loadConfig: injectedLoadConfi
458
522
  fs.readFile.invalidate(change.uri);
459
523
  fs.stat.invalidate(change.uri);
460
524
  appGraphManager.delete(change.uri);
525
+ if ((0, platformos_common_1.isPage)(change.uri))
526
+ definitionsProvider.onPageFileDeleted(change.uri);
461
527
  // If a file is deleted, it's removed from the document manager
462
528
  documentManager.delete(change.uri);
463
529
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":"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"}