@zentryc5t/ts-plugin-for-bruno 1.0.0 → 1.0.1

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 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) => x.apply(info.languageService, 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(({ code, messageText, start }) => {
26
- const scriptSnapshot = info.languageServiceHost.getScriptSnapshot(fileName);
27
- // ToDo: Improve filtering, so that it is ensured that no valid diagnostics are filtered out by mistake.
28
- return !(scriptSnapshot &&
29
- scriptSnapshot.getText(0, start).includes("require(") &&
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
- "name": "@zentryc5t/ts-plugin-for-bruno",
3
- "version": "1.0.0",
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": {"url": "https://github.com/daniel-b92/bruno-vs-code-extension/tree/main/src/tsPlugin"}
2
+ "name": "@zentryc5t/ts-plugin-for-bruno",
3
+ "version": "1.0.1",
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": ""
12
11
  }
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[]) => x.apply(info.languageService, args);
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
- ({ code, messageText, start }) => {
51
- const scriptSnapshot =
52
- info.languageServiceHost.getScriptSnapshot(fileName);
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 [];