@zentryc5t/ts-plugin-for-bruno 1.0.0 → 1.0.2
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/out/index.js +13 -11
- package/out/index.js.map +1 -1
- package/package.json +12 -10
- package/src/index.ts +13 -16
package/out/index.js
CHANGED
|
@@ -7,7 +7,9 @@ function init(_modules) {
|
|
|
7
7
|
for (const k of Object.keys(info.languageService)) {
|
|
8
8
|
const x = info.languageService[k];
|
|
9
9
|
// @ts-expect-error - JS runtime trickery which is tricky to type tersely
|
|
10
|
-
proxy[k] = (...args) =>
|
|
10
|
+
proxy[k] = (...args) =>
|
|
11
|
+
// @ts-expect-error - JS runtime trickery which is tricky to type tersely
|
|
12
|
+
x.apply(info.languageService, args);
|
|
11
13
|
}
|
|
12
14
|
proxy.getSyntacticDiagnostics = (fileName) => {
|
|
13
15
|
return filterDefaultDiagnostics(info, fileName, info.languageService.getSyntacticDiagnostics(fileName));
|
|
@@ -22,15 +24,11 @@ function init(_modules) {
|
|
|
22
24
|
}
|
|
23
25
|
const allDiagnosticsForCodeBlocks = filterDefaultDiagnostics(info, fileName, defaultDiagnostics);
|
|
24
26
|
// The ts server always reports errors when importing a Javascript function in a .bru file.
|
|
25
|
-
return allDiagnosticsForCodeBlocks.filter(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
code == 7044 &&
|
|
31
|
-
typeof messageText == "string" &&
|
|
32
|
-
messageText.includes("better type may be inferred"));
|
|
33
|
-
});
|
|
27
|
+
return allDiagnosticsForCodeBlocks.filter(
|
|
28
|
+
// Do not show diagnostics that only make sense for Typescript files.
|
|
29
|
+
// Bru file code blocks should be treated like Javascript functions instead.
|
|
30
|
+
// A list of diagnostics can be found here: https://github.com/microsoft/TypeScript/blob/main/src/compiler/diagnosticMessages.json
|
|
31
|
+
({ code }) => (code < 7043 || code > 7050) && code != 80004);
|
|
34
32
|
};
|
|
35
33
|
// All hovers are provided by the extension implementation
|
|
36
34
|
proxy.getQuickInfoAtPosition = (fileName, position) => {
|
|
@@ -72,7 +70,11 @@ function filterDefaultDiagnostics(info, fileName, defaultDiagnostics) {
|
|
|
72
70
|
length != undefined &&
|
|
73
71
|
indizes.some(({ startIndex: blockStart, endIndex: blockEnd }) => start >= blockStart && start <= blockEnd) &&
|
|
74
72
|
// Do not show diagnostics for functions that are provided by Bruno at runtime
|
|
75
|
-
!["bru", "req", "res", "test", "expect"].includes(fileContent.substring(start, start + length))
|
|
73
|
+
!["bru", "req", "res", "test", "expect"].includes(fileContent.substring(start, start + length)) &&
|
|
74
|
+
// Avoid showing incorrect error when using `require`
|
|
75
|
+
// (the error seems to only occur for short periods of time when typescript type definitions have not been reloaded for a while)
|
|
76
|
+
fileContent.substring(start, start + length) !=
|
|
77
|
+
"require");
|
|
76
78
|
}
|
|
77
79
|
else {
|
|
78
80
|
return [];
|
package/out/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAG/B,SAAS,IAAI,CAAC,QAEb;IACG,SAAS,MAAM,CAAC,IAAgC;QAC5C,0BAA0B;QAC1B,MAAM,KAAK,GAAuB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CACvB,IAAI,CAAC,eAAe,CACS,EAAE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAG/B,SAAS,IAAI,CAAC,QAEb;IACG,SAAS,MAAM,CAAC,IAAgC;QAC5C,0BAA0B;QAC1B,MAAM,KAAK,GAAuB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CACvB,IAAI,CAAC,eAAe,CACS,EAAE;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC;YACnC,yEAAyE;YACzE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;YAC9B,yEAAyE;YACzE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SAC3C;QAED,KAAK,CAAC,uBAAuB,GAAG,CAAC,QAAQ,EAAE,EAAE;YACzC,OAAO,wBAAwB,CAC3B,IAAI,EACJ,QAAQ,EACR,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAC1B,CAAC;QACrC,CAAC,CAAC;QAEF,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE;YACxC,OAAO,wBAAwB,CAC3B,IAAI,EACJ,QAAQ,EACR,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CACxD,CAAC;QACN,CAAC,CAAC;QAEF,KAAK,CAAC,wBAAwB,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC1C,MAAM,kBAAkB,GACpB,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAE5D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACxB,OAAO,kBAAkB,CAAC;aAC7B;YACD,MAAM,2BAA2B,GAAG,wBAAwB,CACxD,IAAI,EACJ,QAAQ,EACR,kBAAkB,CACU,CAAC;YAEjC,2FAA2F;YAC3F,OAAO,2BAA2B,CAAC,MAAM;YACrC,qEAAqE;YACrE,4EAA4E;YAC5E,kIAAkI;YAClI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAK,IAAI,IAAI,GAAG,IAAK,CAAC,IAAI,IAAI,IAAI,KAAM,CACjE,CAAC;QACN,CAAC,CAAC;QAEF,0DAA0D;QAC1D,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAClD,OAAO,WAAW,CAAC,QAAQ,CAAC;gBACxB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CACvC,QAAQ,EACR,QAAQ,CACX,CAAC;QACZ,CAAC,CAAC;QAEF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO;QACH,MAAM;KACT,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAC7B,IAAgC,EAChC,QAAgB,EAChB,kBAAiE;IAEjE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QACxB,OAAO,kBAAkB,CAAC;KAC7B;SAAM;QACH,IAAI,WAAW,GAAuB,SAAS,CAAC;QAChD,MAAM,cAAc,GAChB,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEzD,IAAI,cAAc,EAAE;YAChB,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;SACvE;aAAM;YACH,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC7D;QAED,IAAI,CAAC,WAAW,EAAE;YACd,OAAO,EAAE,CAAC;SACb;QAED,MAAM,OAAO,GAIP,EAAE,CAAC;QAET,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAClD,MAAM,eAAe,GAAG,4BAA4B,CAChD,WAAW,EACX,SAAS,CACZ,CAAC;YAEF,IAAI,eAAe,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC;aACnD;SACJ;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,kBAAkB,CAAC,MAAM,CAC5B,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAClB,KAAK,IAAI,SAAS;gBAClB,MAAM,IAAI,SAAS;gBACnB,OAAO,CAAC,IAAI,CACR,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC/C,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,QAAQ,CAC/C;gBACD,8EAA8E;gBAC9E,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAC5C,WAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAC3D;gBACD,qDAAqD;gBACrD,gIAAgI;gBAC/H,WAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;oBACpD,SAAS,CACpB,CAAC;SACL;aAAM;YACH,OAAO,EAAE,CAAC;SACb;KACJ;AACL,CAAC;AAED,SAAS,4BAA4B,CACjC,eAAuB,EACvB,SAAwB;IAExB,MAAM,kBAAkB,GAAG,GAAG,CAAC;IAC/B,MAAM,kBAAkB,GAAG,GAAG,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,MAAM,CAC3B,QAAQ,SAAS,OAAO,kBAAkB,OAAO,EACjD,GAAG,CACN,CAAC;IACF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAExD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;QAC3C,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,iBAAiB,GACnB,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEzE,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/C,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,IAAI,wBAAwB,GAAG,CAAC,CAAC;IAEjC,OACI,wBAAwB,GAAG,CAAC;QAC5B,wBAAwB,GAAG,kBAAkB,EAC/C;QACE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAElE,wBAAwB;YACpB,WAAW,IAAI,kBAAkB;gBAC7B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,WAAW,IAAI,kBAAkB;oBACnC,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CAAC;QAEZ,wBAAwB,EAAE,CAAC;KAC9B;IAED,IAAI,wBAAwB,GAAG,CAAC,EAAE;QAC9B,OAAO,SAAS,CAAC;KACpB;IAED,OAAO;QACH,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,wBAAwB,GAAG,iBAAiB;KACzD,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACjC,OAAO,IAAA,cAAO,EAAC,QAAQ,CAAC,IAAI,MAAM,CAAC;AACvC,CAAC;AAED,IAAK,aAIJ;AAJD,WAAK,aAAa;IACd,gCAAe,CAAA;IACf,wDAAuC,CAAA;IACvC,4DAA2C,CAAA;AAC/C,CAAC,EAJI,aAAa,KAAb,aAAa,QAIjB;AAED,iBAAS,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
"name": "@zentryc5t/ts-plugin-for-bruno",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"main": "./out/index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
7
|
+
},
|
|
8
|
+
"author": "zentryc5t",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"description": "",
|
|
11
|
+
"repository": {
|
|
12
|
+
"url": "https://github.com/daniel-b92/bruno-vs-code-extension/tree/main/src/tsPlugin"
|
|
13
|
+
}
|
|
12
14
|
}
|
package/src/index.ts
CHANGED
|
@@ -13,7 +13,9 @@ function init(_modules: {
|
|
|
13
13
|
) as (keyof ts.LanguageService)[]) {
|
|
14
14
|
const x = info.languageService[k]!;
|
|
15
15
|
// @ts-expect-error - JS runtime trickery which is tricky to type tersely
|
|
16
|
-
proxy[k] = (...args: unknown[]) =>
|
|
16
|
+
proxy[k] = (...args: unknown[]) =>
|
|
17
|
+
// @ts-expect-error - JS runtime trickery which is tricky to type tersely
|
|
18
|
+
x.apply(info.languageService, args);
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
proxy.getSyntacticDiagnostics = (fileName) => {
|
|
@@ -47,19 +49,10 @@ function init(_modules: {
|
|
|
47
49
|
|
|
48
50
|
// The ts server always reports errors when importing a Javascript function in a .bru file.
|
|
49
51
|
return allDiagnosticsForCodeBlocks.filter(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
// ToDo: Improve filtering, so that it is ensured that no valid diagnostics are filtered out by mistake.
|
|
55
|
-
return !(
|
|
56
|
-
scriptSnapshot &&
|
|
57
|
-
scriptSnapshot.getText(0, start).includes("require(") &&
|
|
58
|
-
code == 7044 &&
|
|
59
|
-
typeof messageText == "string" &&
|
|
60
|
-
messageText.includes("better type may be inferred")
|
|
61
|
-
);
|
|
62
|
-
}
|
|
52
|
+
// Do not show diagnostics that only make sense for Typescript files.
|
|
53
|
+
// Bru file code blocks should be treated like Javascript functions instead.
|
|
54
|
+
// A list of diagnostics can be found here: https://github.com/microsoft/TypeScript/blob/main/src/compiler/diagnosticMessages.json
|
|
55
|
+
({ code }) => (code < 7_043 || code > 7_050) && code != 80_004
|
|
63
56
|
);
|
|
64
57
|
};
|
|
65
58
|
|
|
@@ -131,8 +124,12 @@ function filterDefaultDiagnostics(
|
|
|
131
124
|
) &&
|
|
132
125
|
// Do not show diagnostics for functions that are provided by Bruno at runtime
|
|
133
126
|
!["bru", "req", "res", "test", "expect"].includes(
|
|
134
|
-
fileContent.substring(start, start + length)
|
|
135
|
-
)
|
|
127
|
+
(fileContent as string).substring(start, start + length)
|
|
128
|
+
) &&
|
|
129
|
+
// Avoid showing incorrect error when using `require`
|
|
130
|
+
// (the error seems to only occur for short periods of time when typescript type definitions have not been reloaded for a while)
|
|
131
|
+
(fileContent as string).substring(start, start + length) !=
|
|
132
|
+
"require"
|
|
136
133
|
);
|
|
137
134
|
} else {
|
|
138
135
|
return [];
|