@platformos/platformos-language-server-common 0.0.13 → 0.0.17
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/CHANGELOG.md +42 -0
- package/dist/codeActions/CodeActionsProvider.d.ts +1 -1
- package/dist/definitions/providers/RenderPartialDefinitionProvider.js +1 -1
- package/dist/definitions/providers/RenderPartialDefinitionProvider.js.map +1 -1
- package/dist/documentLinks/DocumentLinksProvider.js +4 -2
- package/dist/documentLinks/DocumentLinksProvider.js.map +1 -1
- package/dist/test/MockConnection.d.ts +1 -1
- package/dist/test/MockConnection.js +11 -4
- package/dist/test/MockConnection.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/definitions/providers/PageRouteDefinitionProvider.spec.ts +23 -0
- package/src/definitions/providers/RenderPartialDefinitionProvider.spec.ts +37 -2
- package/src/definitions/providers/RenderPartialDefinitionProvider.ts +1 -1
- package/src/documentLinks/DocumentLinksProvider.ts +8 -7
- package/src/server/startServer.spec.ts +62 -0
- package/src/test/MockConnection.ts +16 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# @platformos/theme-language-server-common
|
|
2
2
|
|
|
3
|
+
## 0.0.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- @platformos/platformos-check-common@0.0.17
|
|
9
|
+
- @platformos/platformos-graph@0.0.17
|
|
10
|
+
|
|
11
|
+
## 0.0.16
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Improved Liquid Linting
|
|
16
|
+
- Better metadata params validation — Reworked detection of undefined variables in page/partial metadata parameters, reducing false positives
|
|
17
|
+
- Improved undefined object detection — More accurate identification of undefined objects in Liquid templates
|
|
18
|
+
- Fixed invalid property detection — The unknown-property check now correctly catches more cases of invalid property access on objects
|
|
19
|
+
|
|
20
|
+
- Updated dependencies
|
|
21
|
+
- @platformos/liquid-html-parser@0.0.15
|
|
22
|
+
- @platformos/platformos-check-common@0.0.16
|
|
23
|
+
- @platformos/platformos-graph@0.0.16
|
|
24
|
+
|
|
25
|
+
## 0.0.15
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- ctrl+click fix
|
|
30
|
+
- Updated dependencies
|
|
31
|
+
- @platformos/liquid-html-parser@0.0.14
|
|
32
|
+
- @platformos/platformos-check-common@0.0.15
|
|
33
|
+
- @platformos/platformos-graph@0.0.15
|
|
34
|
+
|
|
35
|
+
## 0.0.14
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- better ctrl click, more checks
|
|
40
|
+
- Updated dependencies
|
|
41
|
+
- @platformos/liquid-html-parser@0.0.13
|
|
42
|
+
- @platformos/platformos-check-common@0.0.14
|
|
43
|
+
- @platformos/platformos-graph@0.0.14
|
|
44
|
+
|
|
3
45
|
## 0.0.13
|
|
4
46
|
|
|
5
47
|
### Patch Changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CodeAction, CodeActionParams, Command } from 'vscode-languageserver';
|
|
2
2
|
import { DiagnosticsManager } from '../diagnostics';
|
|
3
3
|
import { DocumentManager } from '../documents';
|
|
4
|
-
export declare const CodeActionKinds: ("
|
|
4
|
+
export declare const CodeActionKinds: ("quickfix" | "source.fixAll")[];
|
|
5
5
|
export declare class CodeActionsProvider {
|
|
6
6
|
private providers;
|
|
7
7
|
constructor(documentManager: DocumentManager, diagnosticsManager: DiagnosticsManager);
|
|
@@ -34,7 +34,7 @@ class RenderPartialDefinitionProvider {
|
|
|
34
34
|
const root = vscode_uri_1.URI.parse(rootUri);
|
|
35
35
|
const searchPaths = await this.searchPathsCache.get(root);
|
|
36
36
|
const docType = tag.name;
|
|
37
|
-
const fileUri = await this.documentsLocator.
|
|
37
|
+
const fileUri = await this.documentsLocator.locateOrDefault(root, docType, node.value, searchPaths);
|
|
38
38
|
if (!fileUri)
|
|
39
39
|
return [];
|
|
40
40
|
const sourceCode = this.documentManager.get(params.textDocument.uri);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderPartialDefinitionProvider.js","sourceRoot":"","sources":["../../../src/definitions/providers/RenderPartialDefinitionProvider.ts"],"names":[],"mappings":";;;AAAA,uEAAoG;AAEpG,mFAKwC;AACxC,2CAAiC;AAKjC,MAAM,eAAe,GAA8B;IACjD,MAAM,EAAE,8BAAS,CAAC,YAAY;IAC9B,OAAO,EAAE,8BAAS,CAAC,YAAY;IAC/B,eAAe,EAAE,8BAAS,CAAC,YAAY;IACvC,QAAQ,EAAE,8BAAS,CAAC,cAAc;IAClC,OAAO,EAAE,8BAAS,CAAC,aAAa;CACjC,CAAC;AAEF,MAAa,+BAA+B;IAC1C,YACU,eAAgC,EAChC,gBAAkC,EAClC,gBAAmC,EACnC,cAAuD;QAHvD,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,mBAAc,GAAd,cAAc,CAAyC;IAC9D,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,MAAwB,EACxB,IAAoB,EACpB,SAA2B;QAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAS,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAEnE,MAAM,kBAAkB,GAAG,eAAe,CAAE,GAAiB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,kBAAkB,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,EAAE,CAAC;QAEtF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,IAAI,GAAG,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAI,GAAiB,CAAC,IAAoB,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"RenderPartialDefinitionProvider.js","sourceRoot":"","sources":["../../../src/definitions/providers/RenderPartialDefinitionProvider.ts"],"names":[],"mappings":";;;AAAA,uEAAoG;AAEpG,mFAKwC;AACxC,2CAAiC;AAKjC,MAAM,eAAe,GAA8B;IACjD,MAAM,EAAE,8BAAS,CAAC,YAAY;IAC9B,OAAO,EAAE,8BAAS,CAAC,YAAY;IAC/B,eAAe,EAAE,8BAAS,CAAC,YAAY;IACvC,QAAQ,EAAE,8BAAS,CAAC,cAAc;IAClC,OAAO,EAAE,8BAAS,CAAC,aAAa;CACjC,CAAC;AAEF,MAAa,+BAA+B;IAC1C,YACU,eAAgC,EAChC,gBAAkC,EAClC,gBAAmC,EACnC,cAAuD;QAHvD,oBAAe,GAAf,eAAe,CAAiB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,mBAAc,GAAd,cAAc,CAAyC;IAC9D,CAAC;IAEJ,KAAK,CAAC,WAAW,CACf,MAAwB,EACxB,IAAoB,EACpB,SAA2B;QAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,8BAAS,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,8BAAS,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAEnE,MAAM,kBAAkB,GAAG,eAAe,CAAE,GAAiB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,kBAAkB,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,EAAE,CAAC;QAEtF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,IAAI,GAAG,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAI,GAAiB,CAAC,IAAoB,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CACzD,IAAI,EACJ,OAAO,EACN,IAAqB,CAAC,KAAK,EAC5B,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC;QACpC,MAAM,WAAW,GAAG,sCAAK,CAAC,MAAM,CAC9B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACnC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClC,CAAC;QACF,MAAM,WAAW,GAAG,sCAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7C,OAAO,CAAC,6CAAY,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/E,CAAC;CACF;AAhDD,0EAgDC"}
|
|
@@ -41,11 +41,13 @@ function documentLinksVisitor(textDocument, root, documentsLocator, translationP
|
|
|
41
41
|
const name = node.name;
|
|
42
42
|
// render, include, function, theme_render_rc all have a .partial field
|
|
43
43
|
if ('partial' in markup && isLiquidString(markup.partial)) {
|
|
44
|
-
|
|
44
|
+
const uri = await documentsLocator.locateOrDefault(root, name, markup.partial.value, searchPaths);
|
|
45
|
+
return vscode_languageserver_1.DocumentLink.create(range(textDocument, markup.partial), uri);
|
|
45
46
|
}
|
|
46
47
|
// graphql has a .graphql field
|
|
47
48
|
if ('graphql' in markup && isLiquidString(markup.graphql)) {
|
|
48
|
-
|
|
49
|
+
const uri = await documentsLocator.locateOrDefault(root, name, markup.graphql.value);
|
|
50
|
+
return vscode_languageserver_1.DocumentLink.create(range(textDocument, markup.graphql), uri);
|
|
49
51
|
}
|
|
50
52
|
},
|
|
51
53
|
async LiquidVariable(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentLinksProvider.js","sourceRoot":"","sources":["../../src/documentLinks/DocumentLinksProvider.ts"],"names":[],"mappings":";;;AAAA,uEAAyF;AACzF,iFAAqE;AACrE,iEAA4D;AAE5D,2CAAiC;AAEjC,iFAAqE;AAMrE,MAAa,qBAAqB;IAChC,YACU,eAAgC,EAChC,cAA8B,EAC9B,gBAAkC,EAClC,mBAAwC,EACxC,gBAAmC;QAJnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAmB;IAC1C,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvD,IACE,CAAC,UAAU;YACX,UAAU,CAAC,IAAI,KAAK,wCAAc,CAAC,UAAU;YAC7C,UAAU,CAAC,GAAG,YAAY,KAAK,EAC/B,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,gBAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,oBAAoB,CAClC,UAAU,CAAC,YAAY,EACvB,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,WAAW,CACZ,CAAC;QACF,OAAO,IAAA,+BAAK,EAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AApCD,sDAoCC;AAED,SAAS,oBAAoB,CAC3B,YAA0B,EAC1B,IAAS,EACT,gBAAkC,EAClC,mBAAwC,EACxC,WAA4B;IAE5B,OAAO;QACL,KAAK,CAAC,SAAS,CAAC,IAAI;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO;YAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAoB,CAAC;YAEvC,uEAAuE;YACvE,IAAI,SAAS,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,
|
|
1
|
+
{"version":3,"file":"DocumentLinksProvider.js","sourceRoot":"","sources":["../../src/documentLinks/DocumentLinksProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ type MockConnectionMethods = {
|
|
|
23
23
|
* messages manually via the extra MockConnectionMethods.
|
|
24
24
|
*/
|
|
25
25
|
export type MockConnection = ReturnType<typeof createConnection> & MockConnectionMethods;
|
|
26
|
-
declare function protocolConnection(requests: EventEmitter, notifications: EventEmitter): {
|
|
26
|
+
declare function protocolConnection(requests: EventEmitter, notifications: EventEmitter, requestHandlers: Map<string, Function>): {
|
|
27
27
|
dispose: import("vitest").Mock<import("@vitest/spy").Procedure>;
|
|
28
28
|
end: import("vitest").Mock<import("@vitest/spy").Procedure>;
|
|
29
29
|
hasPendingResponse: import("vitest").Mock<import("@vitest/spy").Procedure>;
|
|
@@ -6,7 +6,7 @@ const node_events_1 = require("node:events");
|
|
|
6
6
|
const server_1 = require("vscode-languageserver/lib/common/server");
|
|
7
7
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
8
8
|
const platformos_check_common_1 = require("@platformos/platformos-check-common");
|
|
9
|
-
function protocolConnection(requests, notifications) {
|
|
9
|
+
function protocolConnection(requests, notifications, requestHandlers) {
|
|
10
10
|
return {
|
|
11
11
|
dispose: vitest_1.vi.fn(),
|
|
12
12
|
end: vitest_1.vi.fn(),
|
|
@@ -20,12 +20,13 @@ function protocolConnection(requests, notifications) {
|
|
|
20
20
|
notifications.addListener(type.method, handler);
|
|
21
21
|
}),
|
|
22
22
|
onRequest: vitest_1.vi.fn().mockImplementation((type, handler) => {
|
|
23
|
+
requestHandlers.set(type.method, handler);
|
|
23
24
|
requests.addListener(type.method, handler);
|
|
24
25
|
}),
|
|
25
26
|
onUnhandledNotification: vitest_1.vi.fn(),
|
|
26
27
|
sendNotification: vitest_1.vi.fn().mockReturnValue(Promise.resolve()),
|
|
27
28
|
sendProgress: vitest_1.vi.fn(),
|
|
28
|
-
sendRequest: vitest_1.vi.fn(),
|
|
29
|
+
sendRequest: vitest_1.vi.fn().mockReturnValue(Promise.resolve()),
|
|
29
30
|
trace: vitest_1.vi.fn().mockReturnValue(Promise.resolve()),
|
|
30
31
|
};
|
|
31
32
|
}
|
|
@@ -37,7 +38,8 @@ function mockConnection(rootUri) {
|
|
|
37
38
|
};
|
|
38
39
|
const requests = new node_events_1.EventEmitter();
|
|
39
40
|
const notifications = new node_events_1.EventEmitter();
|
|
40
|
-
const
|
|
41
|
+
const requestHandlers = new Map();
|
|
42
|
+
const spies = protocolConnection(requests, notifications, requestHandlers);
|
|
41
43
|
// Create a real "connection" with the fake communication channel
|
|
42
44
|
const connection = (0, server_1.createConnection)(() => spies, watchDog);
|
|
43
45
|
// Create a mock way to trigger notification in our tests
|
|
@@ -46,10 +48,15 @@ function mockConnection(rootUri) {
|
|
|
46
48
|
const method = typeof type === 'string' ? type : type.method;
|
|
47
49
|
notifications.emit(method, params);
|
|
48
50
|
};
|
|
49
|
-
// Create a mock way to trigger requests in our tests
|
|
51
|
+
// Create a mock way to trigger requests in our tests and get the response back.
|
|
52
|
+
// Calls the registered handler directly so that the return value is available.
|
|
50
53
|
const triggerRequest = async (...args) => {
|
|
51
54
|
const [type, params] = args;
|
|
52
55
|
const method = typeof type === 'string' ? type : type.method;
|
|
56
|
+
const handler = requestHandlers.get(method);
|
|
57
|
+
if (handler) {
|
|
58
|
+
return handler(params, vscode_languageserver_1.CancellationToken.None);
|
|
59
|
+
}
|
|
53
60
|
requests.emit(method, params);
|
|
54
61
|
};
|
|
55
62
|
const mockConnectionMethods = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockConnection.js","sourceRoot":"","sources":["../../src/test/MockConnection.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"MockConnection.js","sourceRoot":"","sources":["../../src/test/MockConnection.ts"],"names":[],"mappings":"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"}
|