@platformos/platformos-language-server-common 0.0.6 → 0.0.8

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 (247) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/PropertyShapeInference.d.ts +18 -0
  3. package/dist/PropertyShapeInference.js +58 -0
  4. package/dist/PropertyShapeInference.js.map +1 -1
  5. package/dist/TypeSystem.d.ts +4 -9
  6. package/dist/TypeSystem.js +234 -388
  7. package/dist/TypeSystem.js.map +1 -1
  8. package/dist/completions/CompletionsProvider.d.ts +6 -10
  9. package/dist/completions/CompletionsProvider.js +6 -9
  10. package/dist/completions/CompletionsProvider.js.map +1 -1
  11. package/dist/completions/params/LiquidCompletionParams.js +4 -16
  12. package/dist/completions/params/LiquidCompletionParams.js.map +1 -1
  13. package/dist/completions/providers/ContentForCompletionProvider.js +2 -4
  14. package/dist/completions/providers/ContentForCompletionProvider.js.map +1 -1
  15. package/dist/completions/providers/FilterCompletionProvider.js.map +1 -1
  16. package/dist/completions/providers/FilterNamedParameterCompletionProvider.d.ts +3 -3
  17. package/dist/completions/providers/FilterNamedParameterCompletionProvider.js +6 -6
  18. package/dist/completions/providers/FilterNamedParameterCompletionProvider.js.map +1 -1
  19. package/dist/completions/providers/LiquidDocParamTypeCompletionProvider.d.ts +3 -3
  20. package/dist/completions/providers/LiquidDocParamTypeCompletionProvider.js +3 -3
  21. package/dist/completions/providers/LiquidDocParamTypeCompletionProvider.js.map +1 -1
  22. package/dist/completions/providers/LiquidTagsCompletionProvider.d.ts +3 -3
  23. package/dist/completions/providers/LiquidTagsCompletionProvider.js +3 -3
  24. package/dist/completions/providers/LiquidTagsCompletionProvider.js.map +1 -1
  25. package/dist/completions/providers/RenderPartialParameterCompletionProvider.js +1 -1
  26. package/dist/completions/providers/RenderPartialParameterCompletionProvider.js.map +1 -1
  27. package/dist/completions/providers/TranslationCompletionProvider.js +1 -1
  28. package/dist/completions/providers/TranslationCompletionProvider.js.map +1 -1
  29. package/dist/completions/providers/index.d.ts +0 -3
  30. package/dist/completions/providers/index.js +1 -7
  31. package/dist/completions/providers/index.js.map +1 -1
  32. package/dist/css/CSSLanguageService.d.ts +19 -5
  33. package/dist/css/CSSLanguageService.js +77 -63
  34. package/dist/css/CSSLanguageService.js.map +1 -1
  35. package/dist/definitions/DefinitionProvider.d.ts +1 -1
  36. package/dist/definitions/DefinitionProvider.js +1 -3
  37. package/dist/definitions/DefinitionProvider.js.map +1 -1
  38. package/dist/diagnostics/offenseToDiagnostic.js +1 -1
  39. package/dist/diagnostics/offenseToDiagnostic.js.map +1 -1
  40. package/dist/diagnostics/runChecks.d.ts +3 -5
  41. package/dist/diagnostics/runChecks.js +12 -64
  42. package/dist/diagnostics/runChecks.js.map +1 -1
  43. package/dist/docset/MarkdownRenderer.js +1 -1
  44. package/dist/docset/MarkdownRenderer.js.map +1 -1
  45. package/dist/documentHighlights/providers/HtmlTagNameDocumentHighlightsProvider.d.ts +1 -1
  46. package/dist/documentLinks/DocumentLinksProvider.d.ts +3 -3
  47. package/dist/documentLinks/DocumentLinksProvider.js +3 -3
  48. package/dist/documentLinks/DocumentLinksProvider.js.map +1 -1
  49. package/dist/documents/DocumentManager.d.ts +4 -5
  50. package/dist/documents/DocumentManager.js +12 -11
  51. package/dist/documents/DocumentManager.js.map +1 -1
  52. package/dist/documents/types.d.ts +16 -3
  53. package/dist/documents/types.js +3 -3
  54. package/dist/documents/types.js.map +1 -1
  55. package/dist/formatting/OnTypeFormattingProvider.d.ts +1 -1
  56. package/dist/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.js.map +1 -1
  57. package/dist/hover/HoverProvider.d.ts +5 -8
  58. package/dist/hover/HoverProvider.js +8 -14
  59. package/dist/hover/HoverProvider.js.map +1 -1
  60. package/dist/hover/providers/LiquidFilterArgumentHoverProvider.d.ts +3 -3
  61. package/dist/hover/providers/LiquidFilterArgumentHoverProvider.js +3 -3
  62. package/dist/hover/providers/LiquidFilterArgumentHoverProvider.js.map +1 -1
  63. package/dist/hover/providers/LiquidFilterHoverProvider.d.ts +3 -3
  64. package/dist/hover/providers/LiquidFilterHoverProvider.js +3 -3
  65. package/dist/hover/providers/LiquidFilterHoverProvider.js.map +1 -1
  66. package/dist/hover/providers/LiquidTagHoverProvider.d.ts +3 -3
  67. package/dist/hover/providers/LiquidTagHoverProvider.js +3 -3
  68. package/dist/hover/providers/LiquidTagHoverProvider.js.map +1 -1
  69. package/dist/hover/providers/RenderPartialHoverProvider.js +1 -1
  70. package/dist/hover/providers/RenderPartialHoverProvider.js.map +1 -1
  71. package/dist/hover/providers/RenderPartialParameterHoverProvider.js +1 -1
  72. package/dist/hover/providers/RenderPartialParameterHoverProvider.js.map +1 -1
  73. package/dist/hover/providers/TranslationHoverProvider.d.ts +3 -3
  74. package/dist/hover/providers/TranslationHoverProvider.js +3 -3
  75. package/dist/hover/providers/TranslationHoverProvider.js.map +1 -1
  76. package/dist/index.d.ts +1 -1
  77. package/dist/index.js.map +1 -1
  78. package/dist/internal-types.d.ts +1 -1
  79. package/dist/json/JSONContributions.d.ts +1 -5
  80. package/dist/json/JSONContributions.js +4 -36
  81. package/dist/json/JSONContributions.js.map +1 -1
  82. package/dist/json/JSONLanguageService.d.ts +4 -12
  83. package/dist/json/JSONLanguageService.js +17 -80
  84. package/dist/json/JSONLanguageService.js.map +1 -1
  85. package/dist/json/test/test-helpers.d.ts +1 -3
  86. package/dist/json/test/test-helpers.js +3 -19
  87. package/dist/json/test/test-helpers.js.map +1 -1
  88. package/dist/json/utils.d.ts +0 -5
  89. package/dist/json/utils.js +0 -24
  90. package/dist/json/utils.js.map +1 -1
  91. package/dist/linkedEditingRanges/providers/HtmlTagNameLinkedRangesProvider.d.ts +1 -1
  92. package/dist/progress.js.map +1 -1
  93. package/dist/rename/RenameProvider.d.ts +2 -2
  94. package/dist/rename/RenameProvider.js +2 -2
  95. package/dist/rename/RenameProvider.js.map +1 -1
  96. package/dist/rename/providers/LiquidVariableRenameProvider.d.ts +3 -3
  97. package/dist/rename/providers/LiquidVariableRenameProvider.js +4 -4
  98. package/dist/rename/providers/LiquidVariableRenameProvider.js.map +1 -1
  99. package/dist/renamed/RenameHandler.d.ts +2 -3
  100. package/dist/renamed/RenameHandler.js +3 -8
  101. package/dist/renamed/RenameHandler.js.map +1 -1
  102. package/dist/renamed/handlers/AssetRenameHandler.d.ts +3 -3
  103. package/dist/renamed/handlers/AssetRenameHandler.js +5 -5
  104. package/dist/renamed/handlers/AssetRenameHandler.js.map +1 -1
  105. package/dist/renamed/handlers/PartialRenameHandler.d.ts +3 -3
  106. package/dist/renamed/handlers/PartialRenameHandler.js +5 -5
  107. package/dist/renamed/handlers/PartialRenameHandler.js.map +1 -1
  108. package/dist/renamed/handlers/utils.d.ts +1 -1
  109. package/dist/server/AppGraphManager.d.ts +32 -0
  110. package/dist/server/AppGraphManager.js +155 -0
  111. package/dist/server/AppGraphManager.js.map +1 -0
  112. package/dist/server/Configuration.js.map +1 -1
  113. package/dist/server/startServer.d.ts +2 -2
  114. package/dist/server/startServer.js +62 -164
  115. package/dist/server/startServer.js.map +1 -1
  116. package/dist/tsconfig.tsbuildinfo +1 -1
  117. package/dist/types.d.ts +33 -54
  118. package/dist/types.js +21 -26
  119. package/dist/types.js.map +1 -1
  120. package/dist/utils/liquidDoc.js +1 -1
  121. package/dist/utils/liquidDoc.js.map +1 -1
  122. package/dist/utils/uri.d.ts +0 -8
  123. package/dist/utils/uri.js +1 -17
  124. package/dist/utils/uri.js.map +1 -1
  125. package/package.json +9 -9
  126. package/src/PropertyShapeInference.ts +76 -1
  127. package/src/TypeSystem.spec.ts +187 -452
  128. package/src/TypeSystem.ts +253 -459
  129. package/src/completions/CompletionsProvider.ts +13 -34
  130. package/src/completions/params/LiquidCompletionParams.spec.ts +0 -9
  131. package/src/completions/params/LiquidCompletionParams.ts +4 -14
  132. package/src/completions/params/fix.spec.ts +0 -3
  133. package/src/completions/providers/FilterCompletionProvider.spec.ts +2 -8
  134. package/src/completions/providers/FilterCompletionProvider.ts +6 -6
  135. package/src/completions/providers/FilterNamedParameterCompletionProvider.spec.ts +1 -5
  136. package/src/completions/providers/FilterNamedParameterCompletionProvider.ts +6 -6
  137. package/src/completions/providers/HtmlAttributeCompletionProvider.spec.ts +1 -4
  138. package/src/completions/providers/HtmlAttributeValueCompletionProvider.spec.ts +1 -4
  139. package/src/completions/providers/HtmlTagCompletionProvider.spec.ts +1 -4
  140. package/src/completions/providers/LiquidDocParamTypeCompletionProvider.spec.ts +1 -28
  141. package/src/completions/providers/LiquidDocParamTypeCompletionProvider.ts +3 -3
  142. package/src/completions/providers/LiquidDocTagCompletionProvider.spec.ts +1 -26
  143. package/src/completions/providers/LiquidTagsCompletionProvider.spec.ts +2 -16
  144. package/src/completions/providers/LiquidTagsCompletionProvider.ts +3 -3
  145. package/src/completions/providers/ObjectAttributeCompletionProvider.spec.ts +2 -31
  146. package/src/completions/providers/ObjectCompletionProvider.spec.ts +34 -123
  147. package/src/completions/providers/PartialCompletionProvider.spec.ts +4 -13
  148. package/src/completions/providers/RenderPartialParameterCompletionProvider.spec.ts +3 -5
  149. package/src/completions/providers/RenderPartialParameterCompletionProvider.ts +0 -1
  150. package/src/completions/providers/TranslationCompletionProvider.spec.ts +1 -4
  151. package/src/completions/providers/TranslationCompletionProvider.ts +1 -1
  152. package/src/completions/providers/index.ts +0 -3
  153. package/src/css/CSSLanguageService.ts +97 -81
  154. package/src/definitions/DefinitionProvider.ts +0 -6
  155. package/src/definitions/providers/TranslationStringDefinitionProvider.spec.ts +1 -5
  156. package/src/diagnostics/offenseToDiagnostic.ts +1 -1
  157. package/src/diagnostics/runChecks.spec.ts +16 -24
  158. package/src/diagnostics/runChecks.ts +17 -91
  159. package/src/docset/MarkdownRenderer.ts +1 -1
  160. package/src/documentLinks/DocumentLinksProvider.ts +3 -3
  161. package/src/documents/DocumentManager.spec.ts +12 -97
  162. package/src/documents/DocumentManager.ts +13 -14
  163. package/src/documents/types.ts +18 -9
  164. package/src/formatting/providers/HtmlElementAutoclosingOnTypeFormattingProvider.ts +1 -3
  165. package/src/hover/HoverProvider.ts +9 -21
  166. package/src/hover/providers/HtmlAttributeHoverProvider.spec.ts +1 -3
  167. package/src/hover/providers/HtmlAttributeValueHoverProvider.spec.ts +1 -3
  168. package/src/hover/providers/HtmlTagHoverProvider.spec.ts +1 -3
  169. package/src/hover/providers/LiquidDocTagHoverProvider.spec.ts +0 -3
  170. package/src/hover/providers/LiquidFilterArgumentHoverProvider.spec.ts +0 -3
  171. package/src/hover/providers/LiquidFilterArgumentHoverProvider.ts +3 -3
  172. package/src/hover/providers/LiquidFilterHoverProvider.spec.ts +0 -3
  173. package/src/hover/providers/LiquidFilterHoverProvider.ts +3 -3
  174. package/src/hover/providers/LiquidObjectAttributeHoverProvider.spec.ts +1 -3
  175. package/src/hover/providers/LiquidObjectHoverProvider.spec.ts +46 -129
  176. package/src/hover/providers/LiquidTagHoverProvider.spec.ts +0 -3
  177. package/src/hover/providers/LiquidTagHoverProvider.ts +3 -3
  178. package/src/hover/providers/RenderPartialHoverProvider.spec.ts +1 -4
  179. package/src/hover/providers/RenderPartialHoverProvider.ts +1 -5
  180. package/src/hover/providers/RenderPartialParameterHoverProvider.spec.ts +1 -4
  181. package/src/hover/providers/RenderPartialParameterHoverProvider.ts +0 -1
  182. package/src/hover/providers/TranslationHoverProvider.spec.ts +1 -4
  183. package/src/hover/providers/TranslationHoverProvider.ts +3 -3
  184. package/src/index.ts +2 -5
  185. package/src/internal-types.ts +1 -1
  186. package/src/json/JSONContributions.ts +4 -61
  187. package/src/json/JSONLanguageService.ts +19 -117
  188. package/src/json/test/test-helpers.ts +4 -35
  189. package/src/json/utils.ts +0 -27
  190. package/src/progress.ts +4 -1
  191. package/src/rename/RenameProvider.ts +3 -3
  192. package/src/rename/providers/LiquidVariableRenameProvider.spec.ts +4 -4
  193. package/src/rename/providers/LiquidVariableRenameProvider.ts +4 -4
  194. package/src/renamed/RenameHandler.ts +4 -9
  195. package/src/renamed/handlers/AssetRenameHandler.spec.ts +3 -3
  196. package/src/renamed/handlers/AssetRenameHandler.ts +5 -5
  197. package/src/renamed/handlers/PartialRenameHandler.spec.ts +2 -2
  198. package/src/renamed/handlers/PartialRenameHandler.ts +5 -5
  199. package/src/renamed/handlers/utils.ts +1 -1
  200. package/src/server/{ThemeGraphManager.ts → AppGraphManager.ts} +21 -90
  201. package/src/server/Configuration.ts +4 -1
  202. package/src/server/startServer.spec.ts +7 -9
  203. package/src/server/startServer.ts +65 -217
  204. package/src/test/CompletionItemsAssertion.spec.ts +1 -4
  205. package/src/types.ts +33 -63
  206. package/src/utils/liquidDoc.ts +1 -1
  207. package/src/utils/uri.ts +0 -14
  208. package/src/completions/providers/ContentForBlockTypeCompletionProvider.spec.ts +0 -41
  209. package/src/completions/providers/ContentForBlockTypeCompletionProvider.ts +0 -42
  210. package/src/completions/providers/ContentForCompletionProvider.spec.ts +0 -96
  211. package/src/completions/providers/ContentForCompletionProvider.ts +0 -113
  212. package/src/completions/providers/ContentForParameterCompletionProvider.spec.ts +0 -362
  213. package/src/completions/providers/ContentForParameterCompletionProvider.ts +0 -187
  214. package/src/completions/providers/data/contentForParameterCompletionOptions.ts +0 -9
  215. package/src/css/CSSLanguageService.spec.ts +0 -161
  216. package/src/css/test/test-helpers.ts +0 -30
  217. package/src/definitions/providers/SchemaTranslationStringDefinitionProvider.spec.ts +0 -96
  218. package/src/definitions/providers/SchemaTranslationStringDefinitionProvider.ts +0 -82
  219. package/src/hover/providers/ContentForArgumentHoverProvider.spec.ts +0 -76
  220. package/src/hover/providers/ContentForArgumentHoverProvider.ts +0 -56
  221. package/src/hover/providers/ContentForTypeHoverProvider.spec.ts +0 -91
  222. package/src/hover/providers/ContentForTypeHoverProvider.ts +0 -42
  223. package/src/json/JSONLanguageService.spec.ts +0 -424
  224. package/src/json/completions/providers/BlockSettingsPropertyCompletionProvider.spec.ts +0 -163
  225. package/src/json/completions/providers/BlockSettingsPropertyCompletionProvider.ts +0 -121
  226. package/src/json/completions/providers/BlockTypeCompletionProvider.spec.ts +0 -137
  227. package/src/json/completions/providers/BlockTypeCompletionProvider.ts +0 -108
  228. package/src/json/completions/providers/ReferencedBlockTypeCompletionProvider.spec.ts +0 -132
  229. package/src/json/completions/providers/ReferencedBlockTypeCompletionProvider.ts +0 -120
  230. package/src/json/completions/providers/SchemaTranslationCompletionProvider.ts +0 -51
  231. package/src/json/completions/providers/SettingsPropertyCompletionProvider.spec.ts +0 -211
  232. package/src/json/completions/providers/SettingsPropertyCompletionProvider.ts +0 -75
  233. package/src/json/documentLinks/DocumentLinksProvider.spec.ts +0 -223
  234. package/src/json/documentLinks/DocumentLinksProvider.ts +0 -61
  235. package/src/json/hover/providers/BlockSettingsHoverProvider.spec.ts +0 -292
  236. package/src/json/hover/providers/BlockSettingsHoverProvider.ts +0 -99
  237. package/src/json/hover/providers/SchemaTranslationHoverProvider.ts +0 -35
  238. package/src/json/hover/providers/SettingsHoverProvider.spec.ts +0 -139
  239. package/src/json/hover/providers/SettingsHoverProvider.ts +0 -79
  240. package/src/json/schemaSettings.spec.ts +0 -103
  241. package/src/json/schemaSettings.ts +0 -53
  242. package/src/plugins/css.ts +0 -12
  243. package/src/renamed/handlers/BlockRenameHandler.spec.ts +0 -399
  244. package/src/renamed/handlers/BlockRenameHandler.ts +0 -402
  245. package/src/renamed/handlers/SectionRenameHandler.spec.ts +0 -321
  246. package/src/renamed/handlers/SectionRenameHandler.ts +0 -224
  247. package/src/settings/index.ts +0 -50
package/dist/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { Config, Dependencies as ThemeCheckDependencies } from '@platformos/platformos-check-common';
1
+ import { Config, Dependencies as CheckDependencies } from '@platformos/platformos-check-common';
2
2
  import { AbstractFileSystem } from '@platformos/platformos-common';
3
3
  import { URI } from 'vscode-languageserver';
4
4
  import * as rpc from 'vscode-jsonrpc';
5
5
  import { WithOptional } from './utils';
6
6
  import { Range } from 'vscode-json-languageservice';
7
7
  import { Reference } from '@platformos/platformos-graph';
8
- export type Dependencies = WithOptional<RequiredDependencies, 'log' | 'getMetafieldDefinitions' | 'fetchMetafieldDefinitionsForURI'>;
8
+ export type Dependencies = WithOptional<RequiredDependencies, 'log'>;
9
9
  export interface RequiredDependencies {
10
10
  /**
11
11
  * A basic logging function.
@@ -24,25 +24,25 @@ export interface RequiredDependencies {
24
24
  *
25
25
  * @example
26
26
  *
27
- * Here's an example VS Code workspace a partner could run
27
+ * Here's an example VS Code workspace a developer could run
28
28
  * ```
29
- * theme1/
30
- * src/
31
- * locales/
32
- * sections/
33
- * snippets/
34
- * dist/
35
- * locales/
36
- * sections/
37
- * foo.liquud
38
- * snippets/
39
- * theme2/
40
- * locales/
41
- * sections/
42
- * snippets/
29
+ * my-app/
30
+ * .pos
31
+ * app/
32
+ * views/
33
+ * layouts/
34
+ * pages/
35
+ * partials/
36
+ * lib/
37
+ * assets/
38
+ * another-app/
39
+ * .pos
40
+ * app/
41
+ * views/
42
+ * pages/
43
43
  * ```
44
44
  *
45
- * In this situation, we have 3 different "roots."
45
+ * In this situation, we have 2 different "roots."
46
46
  *
47
47
  * @param uri - a file path
48
48
  * @returns {Promise<Config>}
@@ -50,18 +50,16 @@ export interface RequiredDependencies {
50
50
  loadConfig(uri: URI, fs: AbstractFileSystem): Promise<Config>;
51
51
  /**
52
52
  * In local environments, the Language Server can download the latest versions
53
- * of themes docset from `Shopify/theme-liquid-docs`. However, this is not
54
- * possible in the browser, so we implement different solutions for each
55
- * environment.
53
+ * of the platformOS Liquid docset. In the browser, the docset must be
54
+ * precompiled into the bundle at build time.
56
55
  */
57
- themeDocset: NonNullable<ThemeCheckDependencies['themeDocset']>;
56
+ platformosDocset: NonNullable<CheckDependencies['platformosDocset']>;
58
57
  /**
59
- * In local environments, the Language Server can download the latest versions
60
- * of themes schemas from `Shopify/theme-liquid-docs`. Due to limitations in
61
- * browser environments, json schemas must be precompiled into validators prior
62
- * to theme-check instantiation.
58
+ * In local environments, the Language Server can download the latest JSON
59
+ * validation schemas. In browser environments, schemas must be precompiled
60
+ * into validators prior to platformos-check instantiation.
63
61
  */
64
- jsonValidationSet: NonNullable<ThemeCheckDependencies['jsonValidationSet']>;
62
+ jsonValidationSet: NonNullable<CheckDependencies['jsonValidationSet']>;
65
63
  /**
66
64
  * A file system abstraction that allows the Language Server to read files by URI.
67
65
  *
@@ -72,20 +70,9 @@ export interface RequiredDependencies {
72
70
  * The browser accepts a custom implementation.
73
71
  */
74
72
  fs: AbstractFileSystem;
75
- /**
76
- * In local environments, the Language Server can download the metafield definitions
77
- * and provide a set of memoized definitions. In other environments, we rely on dynamically
78
- * fetching the set of metafield definitions every time.
79
- */
80
- getMetafieldDefinitions: ThemeCheckDependencies['getMetafieldDefinitions'];
81
- /**
82
- * Fetch Metafield definitions using the CLI provided the URI of the project root.
83
- * This should only be used in node environments; not on the browser.
84
- */
85
- fetchMetafieldDefinitionsForURI: (uri: URI) => Promise<void>;
86
73
  }
87
- export declare namespace ThemeGraphReferenceRequest {
88
- const method = "themeGraph/references";
74
+ export declare namespace AppGraphReferenceRequest {
75
+ const method = "appGraph/references";
89
76
  const type: rpc.RequestType<Params, Response, void>;
90
77
  interface Params {
91
78
  uri: string;
@@ -94,8 +81,8 @@ export declare namespace ThemeGraphReferenceRequest {
94
81
  }
95
82
  type Response = AugmentedReference[];
96
83
  }
97
- export declare namespace ThemeGraphDependenciesRequest {
98
- const method = "themeGraph/dependencies";
84
+ export declare namespace AppGraphDependenciesRequest {
85
+ const method = "appGraph/dependencies";
99
86
  const type: rpc.RequestType<Params, Response, void>;
100
87
  interface Params {
101
88
  uri: string;
@@ -104,24 +91,16 @@ export declare namespace ThemeGraphDependenciesRequest {
104
91
  }
105
92
  type Response = AugmentedReference[];
106
93
  }
107
- export declare namespace ThemeGraphRootRequest {
108
- const method = "themeGraph/rootUri";
94
+ export declare namespace AppGraphRootRequest {
95
+ const method = "appGraph/rootUri";
109
96
  const type: rpc.RequestType<Params, string, void>;
110
97
  interface Params {
111
98
  uri: string;
112
99
  }
113
100
  type Response = string;
114
101
  }
115
- export declare namespace ThemeGraphDeadCodeRequest {
116
- const method = "themeGraph/deadCode";
117
- const type: rpc.RequestType<Params, Response, void>;
118
- interface Params {
119
- uri: string;
120
- }
121
- type Response = string[];
122
- }
123
- export declare namespace ThemeGraphDidUpdateNotification {
124
- const method = "themeGraph/onDidChangeTree";
102
+ export declare namespace AppGraphDidUpdateNotification {
103
+ const method = "appGraph/onDidChangeTree";
125
104
  const type: rpc.NotificationType<Params>;
126
105
  interface Params {
127
106
  uri: string;
package/dist/types.js CHANGED
@@ -33,31 +33,26 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ThemeGraphDidUpdateNotification = exports.ThemeGraphDeadCodeRequest = exports.ThemeGraphRootRequest = exports.ThemeGraphDependenciesRequest = exports.ThemeGraphReferenceRequest = void 0;
36
+ exports.AppGraphDidUpdateNotification = exports.AppGraphRootRequest = exports.AppGraphDependenciesRequest = exports.AppGraphReferenceRequest = void 0;
37
37
  const rpc = __importStar(require("vscode-jsonrpc"));
38
- var ThemeGraphReferenceRequest;
39
- (function (ThemeGraphReferenceRequest) {
40
- ThemeGraphReferenceRequest.method = 'themeGraph/references';
41
- ThemeGraphReferenceRequest.type = new rpc.RequestType(ThemeGraphReferenceRequest.method);
42
- })(ThemeGraphReferenceRequest || (exports.ThemeGraphReferenceRequest = ThemeGraphReferenceRequest = {}));
43
- var ThemeGraphDependenciesRequest;
44
- (function (ThemeGraphDependenciesRequest) {
45
- ThemeGraphDependenciesRequest.method = 'themeGraph/dependencies';
46
- ThemeGraphDependenciesRequest.type = new rpc.RequestType(ThemeGraphDependenciesRequest.method);
47
- })(ThemeGraphDependenciesRequest || (exports.ThemeGraphDependenciesRequest = ThemeGraphDependenciesRequest = {}));
48
- var ThemeGraphRootRequest;
49
- (function (ThemeGraphRootRequest) {
50
- ThemeGraphRootRequest.method = 'themeGraph/rootUri';
51
- ThemeGraphRootRequest.type = new rpc.RequestType(ThemeGraphRootRequest.method);
52
- })(ThemeGraphRootRequest || (exports.ThemeGraphRootRequest = ThemeGraphRootRequest = {}));
53
- var ThemeGraphDeadCodeRequest;
54
- (function (ThemeGraphDeadCodeRequest) {
55
- ThemeGraphDeadCodeRequest.method = 'themeGraph/deadCode';
56
- ThemeGraphDeadCodeRequest.type = new rpc.RequestType(ThemeGraphDeadCodeRequest.method);
57
- })(ThemeGraphDeadCodeRequest || (exports.ThemeGraphDeadCodeRequest = ThemeGraphDeadCodeRequest = {}));
58
- var ThemeGraphDidUpdateNotification;
59
- (function (ThemeGraphDidUpdateNotification) {
60
- ThemeGraphDidUpdateNotification.method = 'themeGraph/onDidChangeTree';
61
- ThemeGraphDidUpdateNotification.type = new rpc.NotificationType(ThemeGraphDidUpdateNotification.method);
62
- })(ThemeGraphDidUpdateNotification || (exports.ThemeGraphDidUpdateNotification = ThemeGraphDidUpdateNotification = {}));
38
+ var AppGraphReferenceRequest;
39
+ (function (AppGraphReferenceRequest) {
40
+ AppGraphReferenceRequest.method = 'appGraph/references';
41
+ AppGraphReferenceRequest.type = new rpc.RequestType(AppGraphReferenceRequest.method);
42
+ })(AppGraphReferenceRequest || (exports.AppGraphReferenceRequest = AppGraphReferenceRequest = {}));
43
+ var AppGraphDependenciesRequest;
44
+ (function (AppGraphDependenciesRequest) {
45
+ AppGraphDependenciesRequest.method = 'appGraph/dependencies';
46
+ AppGraphDependenciesRequest.type = new rpc.RequestType(AppGraphDependenciesRequest.method);
47
+ })(AppGraphDependenciesRequest || (exports.AppGraphDependenciesRequest = AppGraphDependenciesRequest = {}));
48
+ var AppGraphRootRequest;
49
+ (function (AppGraphRootRequest) {
50
+ AppGraphRootRequest.method = 'appGraph/rootUri';
51
+ AppGraphRootRequest.type = new rpc.RequestType(AppGraphRootRequest.method);
52
+ })(AppGraphRootRequest || (exports.AppGraphRootRequest = AppGraphRootRequest = {}));
53
+ var AppGraphDidUpdateNotification;
54
+ (function (AppGraphDidUpdateNotification) {
55
+ AppGraphDidUpdateNotification.method = 'appGraph/onDidChangeTree';
56
+ AppGraphDidUpdateNotification.type = new rpc.NotificationType(AppGraphDidUpdateNotification.method);
57
+ })(AppGraphDidUpdateNotification || (exports.AppGraphDidUpdateNotification = AppGraphDidUpdateNotification = {}));
63
58
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oDAAsC;AAgGtC,IAAiB,0BAA0B,CAS1C;AATD,WAAiB,0BAA0B;IAC5B,iCAAM,GAAG,uBAAuB,CAAC;IACjC,+BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,2BAAA,MAAM,CAAC,CAAC;AAO1E,CAAC,EATgB,0BAA0B,0CAA1B,0BAA0B,QAS1C;AAED,IAAiB,6BAA6B,CAS7C;AATD,WAAiB,6BAA6B;IAC/B,oCAAM,GAAG,yBAAyB,CAAC;IACnC,kCAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,8BAAA,MAAM,CAAC,CAAC;AAO1E,CAAC,EATgB,6BAA6B,6CAA7B,6BAA6B,QAS7C;AAED,IAAiB,qBAAqB,CAOrC;AAPD,WAAiB,qBAAqB;IACvB,4BAAM,GAAG,oBAAoB,CAAC;IAC9B,0BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,sBAAA,MAAM,CAAC,CAAC;AAK1E,CAAC,EAPgB,qBAAqB,qCAArB,qBAAqB,QAOrC;AAED,IAAiB,yBAAyB,CAOzC;AAPD,WAAiB,yBAAyB;IAC3B,gCAAM,GAAG,qBAAqB,CAAC;IAC/B,8BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,0BAAA,MAAM,CAAC,CAAC;AAK1E,CAAC,EAPgB,yBAAyB,yCAAzB,yBAAyB,QAOzC;AAED,IAAiB,+BAA+B,CAM/C;AAND,WAAiB,+BAA+B;IACjC,sCAAM,GAAG,4BAA4B,CAAC;IACtC,oCAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAS,gCAAA,MAAM,CAAC,CAAC;AAI/D,CAAC,EANgB,+BAA+B,+CAA/B,+BAA+B,QAM/C"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oDAAsC;AA8EtC,IAAiB,wBAAwB,CASxC;AATD,WAAiB,wBAAwB;IAC1B,+BAAM,GAAG,qBAAqB,CAAC;IAC/B,6BAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,yBAAA,MAAM,CAAC,CAAC;AAO1E,CAAC,EATgB,wBAAwB,wCAAxB,wBAAwB,QASxC;AAED,IAAiB,2BAA2B,CAS3C;AATD,WAAiB,2BAA2B;IAC7B,kCAAM,GAAG,uBAAuB,CAAC;IACjC,gCAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,4BAAA,MAAM,CAAC,CAAC;AAO1E,CAAC,EATgB,2BAA2B,2CAA3B,2BAA2B,QAS3C;AAED,IAAiB,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IACrB,0BAAM,GAAG,kBAAkB,CAAC;IAC5B,wBAAI,GAAG,IAAI,GAAG,CAAC,WAAW,CAAyB,oBAAA,MAAM,CAAC,CAAC;AAK1E,CAAC,EAPgB,mBAAmB,mCAAnB,mBAAmB,QAOnC;AAED,IAAiB,6BAA6B,CAM7C;AAND,WAAiB,6BAA6B;IAC/B,oCAAM,GAAG,0BAA0B,CAAC;IACpC,kCAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAS,8BAAA,MAAM,CAAC,CAAC;AAI/D,CAAC,EANgB,6BAA6B,6CAA7B,6BAA6B,QAM7C"}
@@ -25,7 +25,7 @@ exports.SUPPORTED_LIQUID_DOC_TAG_HANDLES = {
25
25
  `- The type of parameter is optional and can be ${Object.values(platformos_check_common_1.BasicParamTypes)
26
26
  .map((type) => `\`${type}\``)
27
27
  .join(', ')}\n` +
28
- ` or liquid object that isn't exclusively a global object in our [API Docs](https://shopify.dev/docs/api/liquid/objects)\n` +
28
+ ` or liquid object that isn't exclusively a global object in our [API Docs](https://documentation.platformos.com/api-reference/liquid/platformos-objects)\n` +
29
29
  '- An optional parameter is denoted by square brackets around the parameter name\n' +
30
30
  '- The description is optional Markdown text',
31
31
  example: '{% doc %}\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"liquidDoc.js","sourceRoot":"","sources":["../../src/utils/liquidDoc.ts"],"names":[],"mappings":";;;AAQA,4DAcC;AAED,4DAEC;AAkCD,wEAMC;AAED,wEAiCC;AArGD,iFAM6C;AAE7C,SAAgB,wBAAwB,CACtC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAsB,EACzD,UAAmB,KAAK;IAExB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,OAAO,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAa,EAAE,WAAmB,EAAE,OAAe;IAC1F,OAAO,QAAQ,KAAK,OAAO,WAAW,MAAM,GAAG,gCAAgC,OAAO,UAAU,CAAC;AACnG,CAAC;AAEY,QAAA,gCAAgC,GAAG;IAC9C,CAAC,8CAAoB,CAAC,KAAK,CAAC,EAAE;QAC5B,WAAW,EACT,2DAA2D;YAC3D,kDAAkD,MAAM,CAAC,MAAM,CAAC,yCAAe,CAAC;iBAC7E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;iBAC5B,IAAI,CAAC,IAAI,CAAC,IAAI;YACjB,2HAA2H;YAC3H,mFAAmF;YACnF,6CAA6C;QAC/C,OAAO,EACL,aAAa;YACb,8CAA8C;YAC9C,8DAA8D;YAC9D,yDAAyD;YACzD,gBAAgB;QAClB,QAAQ,EAAE,iBAAiB;KAC5B;IACD,CAAC,8CAAoB,CAAC,OAAO,CAAC,EAAE;QAC9B,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EACL,aAAa,GAAG,yDAAyD,GAAG,gBAAgB;QAC9F,QAAQ,EAAE,YAAY;KACvB;IACD,CAAC,8CAAoB,CAAC,WAAW,CAAC,EAAE;QAClC,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EACL,aAAa,GAAG,wDAAwD,GAAG,gBAAgB;QAC7F,QAAQ,EAAE,gBAAgB;KAC3B;CACF,CAAC;AAEF,SAAgB,8BAA8B,CAAC,IAAY,EAAE,IAAmB;IAC9E,MAAM,iBAAiB,GAAG,IAAA,gDAAsB,EAAC,IAAI,CAAC,CAAC;IAEvD,MAAM,aAAa,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,iBAAiB,KAAK,CAAC;IAE7F,OAAO,GAAG,IAAI,KAAK,aAAa,EAAE,CAAC;AACrC,CAAC;AAED,SAAgB,8BAA8B,CAC5C,IAAY,EACZ,aAA6B;IAE7B,MAAM,SAAS,GAAG,aAAa,EAAE,SAAS,CAAC;IAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,OAAO,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAE9B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU;aACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ;YACjC,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,iBAAiB,OAAO,UAAU,CAAC;aACzD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"liquidDoc.js","sourceRoot":"","sources":["../../src/utils/liquidDoc.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,3 @@ export declare const partialName: (uri: string) => string;
2
2
  export declare const isPartial: (uri: string) => boolean;
3
3
  export declare const assetName: (uri: string) => string;
4
4
  export declare const isAsset: (uri: string) => boolean;
5
- export declare const blockName: (uri: string) => string;
6
- export declare const isBlock: (uri: string) => boolean;
7
- export declare const sectionName: (uri: string) => string;
8
- export declare const isSection: (uri: string) => boolean;
9
- export declare const sectionGroupName: (uri: string) => string;
10
- export declare const isSectionGroup: (uri: string) => boolean;
11
- export declare const templateName: (uri: string) => string;
12
- export declare const isTemplate: (uri: string) => boolean;
package/dist/utils/uri.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isTemplate = exports.templateName = exports.isSectionGroup = exports.sectionGroupName = exports.isSection = exports.sectionName = exports.isBlock = exports.blockName = exports.isAsset = exports.assetName = exports.isPartial = exports.partialName = void 0;
3
+ exports.isAsset = exports.assetName = exports.isPartial = exports.partialName = void 0;
4
4
  const platformos_check_common_1 = require("@platformos/platformos-check-common");
5
5
  const partialName = (uri) => platformos_check_common_1.path.basename(uri, '.liquid');
6
6
  exports.partialName = partialName;
@@ -11,20 +11,4 @@ const assetName = (uri) => platformos_check_common_1.path.basename(uri, '.liquid
11
11
  exports.assetName = assetName;
12
12
  const isAsset = (uri) => /\bassets(\\|\/)[^\\\/]/.test(uri);
13
13
  exports.isAsset = isAsset;
14
- const blockName = (uri) => platformos_check_common_1.path.basename(uri, '.liquid');
15
- exports.blockName = blockName;
16
- const isBlock = (uri) => /\bblocks(\\|\/)[^\\\/]/.test(uri);
17
- exports.isBlock = isBlock;
18
- const sectionName = (uri) => platformos_check_common_1.path.basename(uri, '.liquid');
19
- exports.sectionName = sectionName;
20
- const isSection = (uri) => /\bsections(\\|\/)[^\\\/]/.test(uri) && /.liquid$/.test(uri);
21
- exports.isSection = isSection;
22
- const sectionGroupName = (uri) => platformos_check_common_1.path.basename(uri, '.json');
23
- exports.sectionGroupName = sectionGroupName;
24
- const isSectionGroup = (uri) => /\bsections(\\|\/)[^\\\/]/.test(uri) && /.json$/.test(uri);
25
- exports.isSectionGroup = isSectionGroup;
26
- const templateName = (uri) => platformos_check_common_1.path.basename(uri, '.json');
27
- exports.templateName = templateName;
28
- const isTemplate = (uri) => /\btemplates(\\|\/)[^\\\/]/.test(uri);
29
- exports.isTemplate = isTemplate;
30
14
  //# sourceMappingURL=uri.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;AAAA,iFAA2D;AAEpD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAA7D,QAAA,WAAW,eAAkD;AACnE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAjF,QAAA,SAAS,aAAwE;AAE9F,2FAA2F;AACpF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAA3D,QAAA,SAAS,aAAkD;AACjE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAA9D,QAAA,OAAO,WAAuD;AAEpE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAA3D,QAAA,SAAS,aAAkD;AACjE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAA9D,QAAA,OAAO,WAAuD;AAEpE,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAA7D,QAAA,WAAW,eAAkD;AACnE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CACvC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AADlD,QAAA,SAAS,aACyC;AAExD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAAhE,QAAA,gBAAgB,oBAAgD;AACtE,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAC5C,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AADhD,QAAA,cAAc,kBACkC;AAEtD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAA5D,QAAA,YAAY,gBAAgD;AAClE,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAApE,QAAA,UAAU,cAA0D"}
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/utils/uri.ts"],"names":[],"mappings":";;;AAAA,iFAA2D;AAEpD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAA7D,QAAA,WAAW,eAAkD;AACnE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAjF,QAAA,SAAS,aAAwE;AAE9F,2FAA2F;AACpF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,8BAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAA3D,QAAA,SAAS,aAAkD;AACjE,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAA9D,QAAA,OAAO,WAAuD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformos/platformos-language-server-common",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "platformOS",
@@ -27,14 +27,14 @@
27
27
  "type-check": "tsc --noEmit -p ./tsconfig.json"
28
28
  },
29
29
  "dependencies": {
30
- "@platformos/liquid-html-parser": "^0.0.6",
31
- "@platformos/platformos-check-common": "0.0.6",
32
- "@platformos/platformos-graph": "0.0.6",
30
+ "@platformos/liquid-html-parser": "^0.0.8",
31
+ "@platformos/platformos-check-common": "0.0.8",
32
+ "@platformos/platformos-graph": "0.0.8",
33
33
  "@vscode/web-custom-data": "^0.4.6",
34
- "vscode-json-languageservice": "^5.3.10",
35
- "vscode-languageserver": "^8.0.2",
36
- "vscode-css-languageservice": "6.3.2",
37
- "vscode-languageserver-textdocument": "^1.0.8",
38
- "vscode-uri": "^3.0.7"
34
+ "vscode-json-languageservice": "^5.7.1",
35
+ "vscode-languageserver": "^9.0.1",
36
+ "vscode-css-languageservice": "^6.3.9",
37
+ "vscode-languageserver-textdocument": "^1.0.12",
38
+ "vscode-uri": "^3.1.0"
39
39
  }
40
40
  }
@@ -10,6 +10,12 @@ import {
10
10
  GraphQLOutputType,
11
11
  } from 'graphql';
12
12
  import { parseJSON, isError } from '@platformos/platformos-check-common';
13
+ import {
14
+ JsonHashLiteral,
15
+ JsonArrayLiteral,
16
+ LiquidExpression,
17
+ NodeTypes,
18
+ } from '@platformos/liquid-html-parser';
13
19
 
14
20
  export interface PropertyShape {
15
21
  kind: 'object' | 'array' | 'primitive';
@@ -30,7 +36,7 @@ export interface LookupResult {
30
36
  /**
31
37
  * Merge two shapes together, combining their properties
32
38
  */
33
- function mergeShapes(a: PropertyShape, b: PropertyShape): PropertyShape {
39
+ export function mergeShapes(a: PropertyShape, b: PropertyShape): PropertyShape {
34
40
  // If same kind, merge appropriately
35
41
  if (a.kind === 'object' && b.kind === 'object') {
36
42
  const properties = new Map(a.properties);
@@ -109,6 +115,75 @@ export function inferShapeFromJSONString(jsonString: string): PropertyShape | un
109
115
  return inferShapeFromJSON(parsed);
110
116
  }
111
117
 
118
+ /**
119
+ * Optional callback to resolve expressions the shape inferrer can't handle
120
+ * (e.g. variable lookups that require the type system).
121
+ */
122
+ export type ExpressionShapeResolver = (expr: LiquidExpression) => PropertyShape | undefined;
123
+
124
+ /**
125
+ * Infer shape from a JSON literal AST node (JsonHashLiteral or JsonArrayLiteral).
126
+ * This mirrors inferShapeFromJSON but walks AST nodes instead of parsed JS values.
127
+ *
128
+ * @param resolveExpression - Optional callback to resolve variable references and
129
+ * other expressions that require type system context.
130
+ */
131
+ export function inferShapeFromJsonLiteral(
132
+ node: JsonHashLiteral | JsonArrayLiteral,
133
+ resolveExpression?: ExpressionShapeResolver,
134
+ ): PropertyShape {
135
+ if (node.type === NodeTypes.JsonHashLiteral) {
136
+ const properties = new Map<string, PropertyShape>();
137
+ for (const entry of node.entries) {
138
+ const key = getJsonKeyName(entry.key);
139
+ if (key !== undefined) {
140
+ properties.set(key, inferShapeFromExpression(entry.value, resolveExpression));
141
+ }
142
+ }
143
+ return { kind: 'object', properties };
144
+ }
145
+
146
+ // JsonArrayLiteral
147
+ let itemShape: PropertyShape | undefined;
148
+ for (const element of node.elements) {
149
+ const shape = inferShapeFromExpression(element, resolveExpression);
150
+ itemShape = itemShape ? mergeShapes(itemShape, shape) : shape;
151
+ }
152
+ return { kind: 'array', itemShape };
153
+ }
154
+
155
+ function getJsonKeyName(key: LiquidExpression): string | undefined {
156
+ switch (key.type) {
157
+ case NodeTypes.String:
158
+ return key.value;
159
+ case NodeTypes.VariableLookup:
160
+ return key.name ?? undefined;
161
+ default:
162
+ return undefined;
163
+ }
164
+ }
165
+
166
+ function inferShapeFromExpression(
167
+ expr: LiquidExpression,
168
+ resolveExpression?: ExpressionShapeResolver,
169
+ ): PropertyShape {
170
+ switch (expr.type) {
171
+ case NodeTypes.JsonHashLiteral:
172
+ case NodeTypes.JsonArrayLiteral:
173
+ return inferShapeFromJsonLiteral(expr, resolveExpression);
174
+ case NodeTypes.String:
175
+ return { kind: 'primitive', primitiveType: 'string' };
176
+ case NodeTypes.Number:
177
+ return { kind: 'primitive', primitiveType: 'number' };
178
+ case NodeTypes.LiquidLiteral:
179
+ if (expr.value === null) return { kind: 'primitive', primitiveType: 'null' };
180
+ if (typeof expr.value === 'boolean') return { kind: 'primitive', primitiveType: 'boolean' };
181
+ return { kind: 'primitive' };
182
+ default:
183
+ return resolveExpression?.(expr) ?? { kind: 'primitive' };
184
+ }
185
+ }
186
+
112
187
  /**
113
188
  * Unwrap NonNull and get the underlying type
114
189
  */