@pellux/goodvibes-sdk 0.25.0 → 0.25.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.
Files changed (128) hide show
  1. package/dist/_internal/daemon/otlp-protobuf.d.ts +3 -0
  2. package/dist/_internal/daemon/otlp-protobuf.d.ts.map +1 -0
  3. package/dist/_internal/daemon/otlp-protobuf.js +968 -0
  4. package/dist/_internal/daemon/telemetry-routes.d.ts.map +1 -1
  5. package/dist/_internal/daemon/telemetry-routes.js +22 -13
  6. package/dist/_internal/platform/intelligence/lsp/service.d.ts.map +1 -1
  7. package/dist/_internal/platform/intelligence/lsp/service.js +18 -9
  8. package/dist/_internal/platform/providers/anthropic-vertex.d.ts.map +1 -1
  9. package/dist/_internal/platform/providers/anthropic-vertex.js +135 -2
  10. package/dist/_internal/platform/version.js +1 -1
  11. package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
  12. package/dist/_internal/platform/watchers/registry.js +4 -1
  13. package/package.json +9 -8
  14. package/vendor/bash-language-server/CHANGELOG.md +453 -0
  15. package/vendor/bash-language-server/GOODVIBES_PATCH.md +22 -0
  16. package/vendor/bash-language-server/README.md +230 -0
  17. package/vendor/bash-language-server/out/analyser.d.ts +187 -0
  18. package/vendor/bash-language-server/out/analyser.js +782 -0
  19. package/vendor/bash-language-server/out/analyser.js.map +1 -0
  20. package/vendor/bash-language-server/out/builtins.d.ts +2 -0
  21. package/vendor/bash-language-server/out/builtins.js +71 -0
  22. package/vendor/bash-language-server/out/builtins.js.map +1 -0
  23. package/vendor/bash-language-server/out/cli.d.ts +3 -0
  24. package/vendor/bash-language-server/out/cli.js +74 -0
  25. package/vendor/bash-language-server/out/cli.js.map +1 -0
  26. package/vendor/bash-language-server/out/config.d.ts +88 -0
  27. package/vendor/bash-language-server/out/config.js +96 -0
  28. package/vendor/bash-language-server/out/config.js.map +1 -0
  29. package/vendor/bash-language-server/out/executables.d.ts +19 -0
  30. package/vendor/bash-language-server/out/executables.js +86 -0
  31. package/vendor/bash-language-server/out/executables.js.map +1 -0
  32. package/vendor/bash-language-server/out/parser.d.ts +2 -0
  33. package/vendor/bash-language-server/out/parser.js +36 -0
  34. package/vendor/bash-language-server/out/parser.js.map +1 -0
  35. package/vendor/bash-language-server/out/reserved-words.d.ts +2 -0
  36. package/vendor/bash-language-server/out/reserved-words.js +33 -0
  37. package/vendor/bash-language-server/out/reserved-words.js.map +1 -0
  38. package/vendor/bash-language-server/out/server.d.ts +56 -0
  39. package/vendor/bash-language-server/out/server.js +756 -0
  40. package/vendor/bash-language-server/out/server.js.map +1 -0
  41. package/vendor/bash-language-server/out/shellcheck/config.d.ts +5 -0
  42. package/vendor/bash-language-server/out/shellcheck/config.js +17 -0
  43. package/vendor/bash-language-server/out/shellcheck/config.js.map +1 -0
  44. package/vendor/bash-language-server/out/shellcheck/directive.d.ts +18 -0
  45. package/vendor/bash-language-server/out/shellcheck/directive.js +62 -0
  46. package/vendor/bash-language-server/out/shellcheck/directive.js.map +1 -0
  47. package/vendor/bash-language-server/out/shellcheck/index.d.ts +22 -0
  48. package/vendor/bash-language-server/out/shellcheck/index.js +229 -0
  49. package/vendor/bash-language-server/out/shellcheck/index.js.map +1 -0
  50. package/vendor/bash-language-server/out/shellcheck/types.d.ts +175 -0
  51. package/vendor/bash-language-server/out/shellcheck/types.js +35 -0
  52. package/vendor/bash-language-server/out/shellcheck/types.js.map +1 -0
  53. package/vendor/bash-language-server/out/shfmt/index.d.ts +18 -0
  54. package/vendor/bash-language-server/out/shfmt/index.js +151 -0
  55. package/vendor/bash-language-server/out/shfmt/index.js.map +1 -0
  56. package/vendor/bash-language-server/out/snippets.d.ts +2 -0
  57. package/vendor/bash-language-server/out/snippets.js +671 -0
  58. package/vendor/bash-language-server/out/snippets.js.map +1 -0
  59. package/vendor/bash-language-server/out/types.d.ts +13 -0
  60. package/vendor/bash-language-server/out/types.js +12 -0
  61. package/vendor/bash-language-server/out/types.js.map +1 -0
  62. package/vendor/bash-language-server/out/util/array.d.ts +14 -0
  63. package/vendor/bash-language-server/out/util/array.js +36 -0
  64. package/vendor/bash-language-server/out/util/array.js.map +1 -0
  65. package/vendor/bash-language-server/out/util/async.d.ts +13 -0
  66. package/vendor/bash-language-server/out/util/async.js +24 -0
  67. package/vendor/bash-language-server/out/util/async.js.map +1 -0
  68. package/vendor/bash-language-server/out/util/declarations.d.ts +88 -0
  69. package/vendor/bash-language-server/out/util/declarations.js +295 -0
  70. package/vendor/bash-language-server/out/util/declarations.js.map +1 -0
  71. package/vendor/bash-language-server/out/util/discriminate.d.ts +1 -0
  72. package/vendor/bash-language-server/out/util/discriminate.js +7 -0
  73. package/vendor/bash-language-server/out/util/discriminate.js.map +1 -0
  74. package/vendor/bash-language-server/out/util/fs.d.ts +6 -0
  75. package/vendor/bash-language-server/out/util/fs.js +73 -0
  76. package/vendor/bash-language-server/out/util/fs.js.map +1 -0
  77. package/vendor/bash-language-server/out/util/logger.d.ts +35 -0
  78. package/vendor/bash-language-server/out/util/logger.js +105 -0
  79. package/vendor/bash-language-server/out/util/logger.js.map +1 -0
  80. package/vendor/bash-language-server/out/util/lsp.d.ts +5 -0
  81. package/vendor/bash-language-server/out/util/lsp.js +13 -0
  82. package/vendor/bash-language-server/out/util/lsp.js.map +1 -0
  83. package/vendor/bash-language-server/out/util/platform.d.ts +1 -0
  84. package/vendor/bash-language-server/out/util/platform.js +7 -0
  85. package/vendor/bash-language-server/out/util/platform.js.map +1 -0
  86. package/vendor/bash-language-server/out/util/sh.d.ts +16 -0
  87. package/vendor/bash-language-server/out/util/sh.js +132 -0
  88. package/vendor/bash-language-server/out/util/sh.js.map +1 -0
  89. package/vendor/bash-language-server/out/util/shebang.d.ts +10 -0
  90. package/vendor/bash-language-server/out/util/shebang.js +53 -0
  91. package/vendor/bash-language-server/out/util/shebang.js.map +1 -0
  92. package/vendor/bash-language-server/out/util/sourcing.d.ts +15 -0
  93. package/vendor/bash-language-server/out/util/sourcing.js +182 -0
  94. package/vendor/bash-language-server/out/util/sourcing.js.map +1 -0
  95. package/vendor/bash-language-server/out/util/tree-sitter.d.ts +22 -0
  96. package/vendor/bash-language-server/out/util/tree-sitter.js +110 -0
  97. package/vendor/bash-language-server/out/util/tree-sitter.js.map +1 -0
  98. package/vendor/bash-language-server/package.json +52 -0
  99. package/vendor/bash-language-server/parser.info +2 -0
  100. package/vendor/bash-language-server/tree-sitter-bash.wasm +0 -0
  101. package/dist/_internal/platform/runtime/contracts/index.d.ts +0 -40
  102. package/dist/_internal/platform/runtime/contracts/index.d.ts.map +0 -1
  103. package/dist/_internal/platform/runtime/contracts/index.js +0 -133
  104. package/dist/_internal/platform/runtime/contracts/migrations/index.d.ts +0 -75
  105. package/dist/_internal/platform/runtime/contracts/migrations/index.d.ts.map +0 -1
  106. package/dist/_internal/platform/runtime/contracts/migrations/index.js +0 -158
  107. package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts +0 -57
  108. package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts.map +0 -1
  109. package/dist/_internal/platform/runtime/contracts/migrations/schemas.js +0 -157
  110. package/dist/_internal/platform/runtime/contracts/types.d.ts +0 -123
  111. package/dist/_internal/platform/runtime/contracts/types.d.ts.map +0 -1
  112. package/dist/_internal/platform/runtime/contracts/types.js +0 -41
  113. package/dist/_internal/platform/runtime/contracts/validators/event-envelope.d.ts +0 -24
  114. package/dist/_internal/platform/runtime/contracts/validators/event-envelope.d.ts.map +0 -1
  115. package/dist/_internal/platform/runtime/contracts/validators/event-envelope.js +0 -104
  116. package/dist/_internal/platform/runtime/contracts/validators/index.d.ts +0 -11
  117. package/dist/_internal/platform/runtime/contracts/validators/index.d.ts.map +0 -1
  118. package/dist/_internal/platform/runtime/contracts/validators/index.js +0 -10
  119. package/dist/_internal/platform/runtime/contracts/validators/runtime-state.d.ts +0 -23
  120. package/dist/_internal/platform/runtime/contracts/validators/runtime-state.d.ts.map +0 -1
  121. package/dist/_internal/platform/runtime/contracts/validators/runtime-state.js +0 -101
  122. package/dist/_internal/platform/runtime/contracts/validators/session.d.ts +0 -24
  123. package/dist/_internal/platform/runtime/contracts/validators/session.d.ts.map +0 -1
  124. package/dist/_internal/platform/runtime/contracts/validators/session.js +0 -103
  125. package/dist/_internal/platform/runtime/contracts/version.d.ts +0 -84
  126. package/dist/_internal/platform/runtime/contracts/version.d.ts.map +0 -1
  127. package/dist/_internal/platform/runtime/contracts/version.js +0 -41
  128. package/scripts/postinstall-patch-minimatch.mjs +0 -285
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as LSP from 'vscode-languageserver/node';
2
+ import { ShellCheckCommentLevel } from './types';
3
+ export declare const SUPPORTED_BASH_DIALECTS: string[];
4
+ export declare const CODE_TO_TAGS: Record<number, LSP.DiagnosticTag[] | undefined>;
5
+ export declare const LEVEL_TO_SEVERITY: Record<ShellCheckCommentLevel, LSP.DiagnosticSeverity | undefined>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEVEL_TO_SEVERITY = exports.CODE_TO_TAGS = exports.SUPPORTED_BASH_DIALECTS = void 0;
4
+ const LSP = require("vscode-languageserver/node");
5
+ exports.SUPPORTED_BASH_DIALECTS = ['sh', 'bash', 'dash', 'ksh'];
6
+ // https://github.com/koalaman/shellcheck/wiki
7
+ exports.CODE_TO_TAGS = {
8
+ 2034: [LSP.DiagnosticTag.Unnecessary],
9
+ };
10
+ // https://github.com/koalaman/shellcheck/blob/364c33395e2f2d5500307f01989f70241c247d5a/src/ShellCheck/Formatter/Format.hs#L50
11
+ exports.LEVEL_TO_SEVERITY = {
12
+ error: LSP.DiagnosticSeverity.Error,
13
+ warning: LSP.DiagnosticSeverity.Warning,
14
+ info: LSP.DiagnosticSeverity.Information,
15
+ style: LSP.DiagnosticSeverity.Hint,
16
+ };
17
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shellcheck/config.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAIpC,QAAA,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAEpE,8CAA8C;AACjC,QAAA,YAAY,GAAoD;IAC3E,IAAI,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;CACtC,CAAA;AAED,8HAA8H;AAEjH,QAAA,iBAAiB,GAG1B;IACF,KAAK,EAAE,GAAG,CAAC,kBAAkB,CAAC,KAAK;IACnC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,OAAO;IACvC,IAAI,EAAE,GAAG,CAAC,kBAAkB,CAAC,WAAW;IACxC,KAAK,EAAE,GAAG,CAAC,kBAAkB,CAAC,IAAI;CACnC,CAAA"}
@@ -0,0 +1,18 @@
1
+ type Directive = {
2
+ type: 'enable';
3
+ rules: string[];
4
+ } | {
5
+ type: 'disable';
6
+ rules: string[];
7
+ } | {
8
+ type: 'source';
9
+ path: string;
10
+ } | {
11
+ type: 'source-path';
12
+ path: string;
13
+ } | {
14
+ type: 'shell';
15
+ shell: string;
16
+ };
17
+ export declare function parseShellCheckDirective(line: string): Directive[];
18
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseShellCheckDirective = parseShellCheckDirective;
4
+ const DIRECTIVE_TYPES = ['enable', 'disable', 'source', 'source-path', 'shell'];
5
+ const DIRECTIVE_REG_EXP = /^(#\s*shellcheck\s+)([^#]*)/;
6
+ function parseShellCheckDirective(line) {
7
+ const match = line.match(DIRECTIVE_REG_EXP);
8
+ if (!match) {
9
+ return [];
10
+ }
11
+ const commands = match[2]
12
+ .split(' ')
13
+ .map((command) => command.trim())
14
+ .filter((command) => command !== '');
15
+ const directives = [];
16
+ for (const command of commands) {
17
+ const [typeKey, directiveValue] = command.split('=');
18
+ const type = DIRECTIVE_TYPES.includes(typeKey)
19
+ ? typeKey
20
+ : null;
21
+ if (!type || !directiveValue) {
22
+ continue;
23
+ }
24
+ if (type === 'source-path' || type === 'source') {
25
+ directives.push({
26
+ type,
27
+ path: directiveValue,
28
+ });
29
+ }
30
+ else if (type === 'shell') {
31
+ directives.push({
32
+ type,
33
+ shell: directiveValue,
34
+ });
35
+ continue;
36
+ }
37
+ else if (type === 'enable' || type === 'disable') {
38
+ const rules = [];
39
+ for (const arg of directiveValue.split(',')) {
40
+ const ruleRangeMatch = arg.match(/^SC(\d*)-SC(\d*)$/);
41
+ if (ruleRangeMatch) {
42
+ for (let i = parseInt(ruleRangeMatch[1], 10); i <= parseInt(ruleRangeMatch[2], 10); i++) {
43
+ rules.push(`SC${i}`);
44
+ }
45
+ }
46
+ else {
47
+ arg
48
+ .split(',')
49
+ .map((arg) => arg.trim())
50
+ .filter((arg) => arg !== '')
51
+ .forEach((arg) => rules.push(arg));
52
+ }
53
+ }
54
+ directives.push({
55
+ type,
56
+ rules,
57
+ });
58
+ }
59
+ }
60
+ return directives;
61
+ }
62
+ //# sourceMappingURL=directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive.js","sourceRoot":"","sources":["../../src/shellcheck/directive.ts"],"names":[],"mappings":";;AA2BA,4DAiEC;AA5FD,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAU,CAAA;AAyBxF,MAAM,iBAAiB,GAAG,6BAA6B,CAAA;AAEvD,SAAgB,wBAAwB,CAAC,IAAY;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;SACtB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAA;IAEtC,MAAM,UAAU,GAAgB,EAAE,CAAA;IAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAc,CAAC;YACnD,CAAC,CAAE,OAAyB;YAC5B,CAAC,CAAC,IAAI,CAAA;QAER,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7B,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,IAAI,EAAE,cAAc;aACrB,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,KAAK,EAAE,cAAc;aACtB,CAAC,CAAA;YACF,SAAQ;QACV,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,EAAE,CAAA;YAEhB,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;gBACrD,IAAI,cAAc,EAAE,CAAC;oBACnB,KACE,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACvC,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACpC,CAAC,EAAE,EACH,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;oBACtB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG;yBACA,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;yBACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;yBAC3B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;YAED,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as LSP from 'vscode-languageserver/node';
2
+ import { TextDocument } from 'vscode-languageserver-textdocument';
3
+ type LinterOptions = {
4
+ executablePath: string;
5
+ cwd?: string;
6
+ };
7
+ export type LintingResult = {
8
+ diagnostics: LSP.Diagnostic[];
9
+ codeActions: Record<string, LSP.CodeAction | undefined>;
10
+ };
11
+ export declare class Linter {
12
+ private cwd;
13
+ executablePath: string;
14
+ private uriToDebouncedExecuteLint;
15
+ private _canLint;
16
+ constructor({ cwd, executablePath }: LinterOptions);
17
+ get canLint(): boolean;
18
+ lint(document: TextDocument, sourcePaths: string[], additionalShellCheckArguments?: string[]): Promise<LintingResult>;
19
+ private executeLint;
20
+ private runShellCheck;
21
+ }
22
+ export {};
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Linter = void 0;
13
+ const node_path_1 = require("node:path");
14
+ const node_url_1 = require("node:url");
15
+ const child_process_1 = require("child_process");
16
+ const LSP = require("vscode-languageserver/node");
17
+ const async_1 = require("../util/async");
18
+ const logger_1 = require("../util/logger");
19
+ const shebang_1 = require("../util/shebang");
20
+ const config_1 = require("./config");
21
+ const types_1 = require("./types");
22
+ const SUPPORTED_BASH_DIALECTS = ['sh', 'bash', 'dash', 'ksh'];
23
+ const DEBOUNCE_MS = 500;
24
+ class Linter {
25
+ constructor({ cwd, executablePath }) {
26
+ this._canLint = true;
27
+ this.cwd = cwd || process.cwd();
28
+ this.executablePath = executablePath;
29
+ this.uriToDebouncedExecuteLint = Object.create(null);
30
+ }
31
+ get canLint() {
32
+ return this._canLint;
33
+ }
34
+ lint(document_1, sourcePaths_1) {
35
+ return __awaiter(this, arguments, void 0, function* (document, sourcePaths, additionalShellCheckArguments = []) {
36
+ if (!this._canLint) {
37
+ return { diagnostics: [], codeActions: {} };
38
+ }
39
+ const { uri } = document;
40
+ let debouncedExecuteLint = this.uriToDebouncedExecuteLint[uri];
41
+ if (!debouncedExecuteLint) {
42
+ debouncedExecuteLint = (0, async_1.debounce)(this.executeLint.bind(this), DEBOUNCE_MS);
43
+ this.uriToDebouncedExecuteLint[uri] = debouncedExecuteLint;
44
+ }
45
+ return debouncedExecuteLint(document, sourcePaths, additionalShellCheckArguments);
46
+ });
47
+ }
48
+ executeLint(document_1, sourcePaths_1) {
49
+ return __awaiter(this, arguments, void 0, function* (document, sourcePaths, additionalShellCheckArguments = []) {
50
+ const documentText = document.getText();
51
+ const shellDialect = guessShellDialect({
52
+ documentText,
53
+ uri: document.uri,
54
+ });
55
+ if (shellDialect && !SUPPORTED_BASH_DIALECTS.includes(shellDialect)) {
56
+ // We found a dialect that isn't supported by ShellCheck.
57
+ return { diagnostics: [], codeActions: {} };
58
+ }
59
+ // NOTE: that ShellCheck actually does shebang parsing, but we manually
60
+ // do it here in order to fallback to bash for files without a shebang.
61
+ // This enables parsing files with a bash syntax, but could yield false positives.
62
+ const shellName = shellDialect && SUPPORTED_BASH_DIALECTS.includes(shellDialect)
63
+ ? shellDialect
64
+ : 'bash';
65
+ const result = yield this.runShellCheck(documentText, shellName, [...sourcePaths, (0, node_path_1.dirname)((0, node_url_1.fileURLToPath)(document.uri))], additionalShellCheckArguments);
66
+ if (!this._canLint) {
67
+ return { diagnostics: [], codeActions: {} };
68
+ }
69
+ // Clean up the debounced function
70
+ delete this.uriToDebouncedExecuteLint[document.uri];
71
+ return mapShellCheckResult({ uri: document.uri, result });
72
+ });
73
+ }
74
+ runShellCheck(documentText_1, shellName_1, sourcePaths_1) {
75
+ return __awaiter(this, arguments, void 0, function* (documentText, shellName, sourcePaths, additionalArgs = []) {
76
+ const sourcePathsArgs = sourcePaths
77
+ .map((folder) => folder.trim())
78
+ .filter((folderName) => folderName)
79
+ .map((folderName) => `--source-path=${folderName}`);
80
+ const args = [
81
+ '--format=json1',
82
+ '--external-sources',
83
+ ...sourcePathsArgs,
84
+ ...additionalArgs,
85
+ ];
86
+ // only add `--shell` argument if non is provided by the user in their
87
+ // config. This allows to the user to override the shell. See #1064.
88
+ const userArgs = additionalArgs.join(' ');
89
+ if (!(userArgs.includes('--shell') || userArgs.includes('-s '))) {
90
+ args.unshift(`--shell=${shellName}`);
91
+ }
92
+ logger_1.logger.debug(`ShellCheck: running "${this.executablePath} ${args.join(' ')}"`);
93
+ let out = '';
94
+ let err = '';
95
+ const proc = new Promise((resolve, reject) => {
96
+ const proc = (0, child_process_1.spawn)(this.executablePath, [...args, '-'], { cwd: this.cwd });
97
+ proc.on('error', reject);
98
+ proc.on('close', resolve);
99
+ proc.stdout.on('data', (data) => (out += data));
100
+ proc.stderr.on('data', (data) => (err += data));
101
+ proc.stdin.on('error', () => {
102
+ // NOTE: Ignore STDIN errors in case the process ends too quickly, before we try to
103
+ // write. If we write after the process ends without this, we get an uncatchable EPIPE.
104
+ // This is solved in Node >= 15.1 by the "on('spawn', ...)" event, but we need to
105
+ // support earlier versions.
106
+ });
107
+ proc.stdin.end(documentText);
108
+ });
109
+ // NOTE: do we care about exit code? 0 means "ok", 1 possibly means "errors",
110
+ // but the presence of parseable errors in the output is also sufficient to
111
+ // distinguish.
112
+ let exit;
113
+ try {
114
+ exit = yield proc;
115
+ }
116
+ catch (e) {
117
+ // TODO: we could do this up front?
118
+ if (e.code === 'ENOENT') {
119
+ // shellcheck path wasn't found, don't try to lint any more:
120
+ logger_1.logger.warn(`ShellCheck: disabling linting as no executable was found at path '${this.executablePath}'`);
121
+ this._canLint = false;
122
+ return { comments: [] };
123
+ }
124
+ throw new Error(`ShellCheck: failed with code ${exit}: ${e}\nout:\n${out}\nerr:\n${err}`);
125
+ }
126
+ let raw;
127
+ try {
128
+ raw = JSON.parse(out);
129
+ }
130
+ catch (e) {
131
+ throw new Error(`ShellCheck: json parse failed with error ${e}\nout:\n${out}\nerr:\n${err}`);
132
+ }
133
+ return types_1.ShellCheckResultSchema.parse(raw);
134
+ });
135
+ }
136
+ }
137
+ exports.Linter = Linter;
138
+ function mapShellCheckResult({ uri, result }) {
139
+ const diagnostics = [];
140
+ const codeActions = {};
141
+ for (const comment of result.comments) {
142
+ const range = LSP.Range.create({
143
+ line: comment.line - 1,
144
+ character: comment.column - 1,
145
+ }, {
146
+ line: comment.endLine - 1,
147
+ character: comment.endColumn - 1,
148
+ });
149
+ const id = `shellcheck|${comment.code}|${range.start.line}:${range.start.character}-${range.end.line}:${range.end.character}`;
150
+ const diagnostic = {
151
+ message: comment.message,
152
+ severity: config_1.LEVEL_TO_SEVERITY[comment.level] || LSP.DiagnosticSeverity.Error,
153
+ code: `SC${comment.code}`,
154
+ source: 'shellcheck',
155
+ range,
156
+ codeDescription: {
157
+ href: `https://www.shellcheck.net/wiki/SC${comment.code}`,
158
+ },
159
+ tags: config_1.CODE_TO_TAGS[comment.code],
160
+ data: {
161
+ id,
162
+ },
163
+ };
164
+ diagnostics.push(diagnostic);
165
+ const codeAction = CodeActionProvider.getCodeAction({
166
+ comment,
167
+ diagnostics: [diagnostic],
168
+ uri,
169
+ });
170
+ if (codeAction) {
171
+ codeActions[id] = codeAction;
172
+ }
173
+ }
174
+ return { diagnostics, codeActions };
175
+ }
176
+ /**
177
+ * Code has been adopted from https://github.com/vscode-shellcheck/vscode-shellcheck/
178
+ * and modified to fit the needs of this project.
179
+ *
180
+ * The MIT License (MIT)
181
+ * Copyright (c) Timon Wong
182
+ */
183
+ class CodeActionProvider {
184
+ static getCodeAction({ comment, diagnostics, uri, }) {
185
+ const { code, fix } = comment;
186
+ if (!fix || fix.replacements.length === 0) {
187
+ return null;
188
+ }
189
+ const { replacements } = fix;
190
+ if (replacements.length === 0) {
191
+ return null;
192
+ }
193
+ const edits = this.getTextEdits(replacements);
194
+ if (!edits.length) {
195
+ return null;
196
+ }
197
+ return {
198
+ title: `Apply fix for SC${code}`,
199
+ diagnostics,
200
+ edit: {
201
+ changes: {
202
+ [uri]: edits,
203
+ },
204
+ },
205
+ kind: LSP.CodeActionKind.QuickFix,
206
+ };
207
+ }
208
+ static getTextEdits(replacements) {
209
+ if (replacements.length === 1) {
210
+ return [this.getTextEdit(replacements[0])];
211
+ }
212
+ else if (replacements.length === 2) {
213
+ return [this.getTextEdit(replacements[1]), this.getTextEdit(replacements[0])];
214
+ }
215
+ return [];
216
+ }
217
+ static getTextEdit(replacement) {
218
+ const startPos = LSP.Position.create(replacement.line - 1, replacement.column - 1);
219
+ const endPos = LSP.Position.create(replacement.endLine - 1, replacement.endColumn - 1);
220
+ return {
221
+ range: LSP.Range.create(startPos, endPos),
222
+ newText: replacement.replacement,
223
+ };
224
+ }
225
+ }
226
+ function guessShellDialect({ documentText, uri }) {
227
+ return uri.endsWith('.zsh') ? 'zsh' : (0, shebang_1.analyzeShebang)(documentText).shellDialect;
228
+ }
229
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shellcheck/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAmC;AACnC,uCAAwC;AAExC,iDAAqC;AACrC,kDAAiD;AAGjD,yCAAwC;AACxC,2CAAuC;AACvC,6CAAgD;AAChD,qCAA0D;AAC1D,mCAKgB;AAEhB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAC7D,MAAM,WAAW,GAAG,GAAG,CAAA;AAWvB,MAAa,MAAM;IAQjB,YAAY,EAAE,GAAG,EAAE,cAAc,EAAiB;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEY,IAAI;6DACf,QAAsB,EACtB,WAAqB,EACrB,gCAA0C,EAAE;YAE5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;YAC7C,CAAC;YAED,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;YACxB,IAAI,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAA;YAC9D,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,oBAAoB,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAA;gBACzE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAA;YAC5D,CAAC;YAED,OAAO,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,6BAA6B,CAAC,CAAA;QACnF,CAAC;KAAA;IAEa,WAAW;6DACvB,QAAsB,EACtB,WAAqB,EACrB,gCAA0C,EAAE;YAE5C,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;YAEvC,MAAM,YAAY,GAAG,iBAAiB,CAAC;gBACrC,YAAY;gBACZ,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAAC,CAAA;YAEF,IAAI,YAAY,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpE,yDAAyD;gBACzD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;YAC7C,CAAC;YAED,uEAAuE;YACvE,uEAAuE;YACvE,kFAAkF;YAClF,MAAM,SAAS,GACb,YAAY,IAAI,uBAAuB,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC5D,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,MAAM,CAAA;YAEZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CACrC,YAAY,EACZ,SAAS,EACT,CAAC,GAAG,WAAW,EAAE,IAAA,mBAAO,EAAC,IAAA,wBAAa,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EACtD,6BAA6B,CAC9B,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;YAC7C,CAAC;YAED,kCAAkC;YAClC,OAAO,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;YAEnD,OAAO,mBAAmB,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3D,CAAC;KAAA;IAEa,aAAa;6DACzB,YAAoB,EACpB,SAAiB,EACjB,WAAqB,EACrB,iBAA2B,EAAE;YAE7B,MAAM,eAAe,GAAG,WAAW;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;iBAC9B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;iBAClC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAA;YAErD,MAAM,IAAI,GAAG;gBACX,gBAAgB;gBAChB,oBAAoB;gBACpB,GAAG,eAAe;gBAClB,GAAG,cAAc;aAClB,CAAA;YAED,sEAAsE;YACtE,oEAAoE;YACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,OAAO,CAAC,WAAW,SAAS,EAAE,CAAC,CAAA;YACtC,CAAC;YAED,eAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAE9E,IAAI,GAAG,GAAG,EAAE,CAAA;YACZ,IAAI,GAAG,GAAG,EAAE,CAAA;YACZ,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC1E,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACxB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBACzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;gBAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAA;gBAC/C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBAC1B,mFAAmF;oBACnF,uFAAuF;oBACvF,iFAAiF;oBACjF,4BAA4B;gBAC9B,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,6EAA6E;YAC7E,2EAA2E;YAC3E,eAAe;YACf,IAAI,IAAI,CAAA;YACR,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAA;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,mCAAmC;gBACnC,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,4DAA4D;oBAC5D,eAAM,CAAC,IAAI,CACT,qEAAqE,IAAI,CAAC,cAAc,GAAG,CAC5F,CAAA;oBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACrB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;gBACzB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,KAAK,CAAC,WAAW,GAAG,WAAW,GAAG,EAAE,CACzE,CAAA;YACH,CAAC;YAED,IAAI,GAAG,CAAA;YACP,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,4CAA4C,CAAC,WAAW,GAAG,WAAW,GAAG,EAAE,CAC5E,CAAA;YACH,CAAC;YAED,OAAO,8BAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1C,CAAC;KAAA;CACF;AA5JD,wBA4JC;AAED,SAAS,mBAAmB,CAAC,EAAE,GAAG,EAAE,MAAM,EAA6C;IACrF,MAAM,WAAW,GAAiC,EAAE,CAAA;IACpD,MAAM,WAAW,GAAiC,EAAE,CAAA;IAEpD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAC5B;YACE,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;SAC9B,EACD;YACE,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC;YACzB,SAAS,EAAE,OAAO,CAAC,SAAS,GAAG,CAAC;SACjC,CACF,CAAA;QAED,MAAM,EAAE,GAAG,cAAc,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAA;QAE7H,MAAM,UAAU,GAAmB;YACjC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,0BAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,KAAK;YAC1E,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,EAAE;YACzB,MAAM,EAAE,YAAY;YACpB,KAAK;YACL,eAAe,EAAE;gBACf,IAAI,EAAE,qCAAqC,OAAO,CAAC,IAAI,EAAE;aAC1D;YACD,IAAI,EAAE,qBAAY,CAAC,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,EAAE;gBACJ,EAAE;aACH;SACF,CAAA;QAED,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAE5B,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC;YAClD,OAAO;YACP,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,GAAG;SACJ,CAAC,CAAA;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,EAAE,CAAC,GAAG,UAAU,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,kBAAkB;IACf,MAAM,CAAC,aAAa,CAAC,EAC1B,OAAO,EACP,WAAW,EACX,GAAG,GAKJ;QACC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;QAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;QAC5B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,KAAK,EAAE,mBAAmB,IAAI,EAAE;YAChC,WAAW;YACX,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,CAAC,GAAG,CAAC,EAAE,KAAK;iBACb;aACF;YACD,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC,QAAQ;SAClC,CAAA;IACH,CAAC;IACO,MAAM,CAAC,YAAY,CACzB,YAAkD;QAElD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC;aAAM,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/E,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IACO,MAAM,CAAC,WAAW,CAAC,WAAkC;QAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAClF,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QACtF,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;YACzC,OAAO,EAAE,WAAW,CAAC,WAAW;SACjC,CAAA;IACH,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAyC;IACrF,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,wBAAc,EAAC,YAAY,CAAC,CAAC,YAAY,CAAA;AACjF,CAAC"}
@@ -0,0 +1,175 @@
1
+ import { z } from 'zod';
2
+ declare const ReplacementSchema: z.ZodObject<{
3
+ precedence: z.ZodNumber;
4
+ line: z.ZodNumber;
5
+ endLine: z.ZodNumber;
6
+ column: z.ZodNumber;
7
+ endColumn: z.ZodNumber;
8
+ insertionPoint: z.ZodString;
9
+ replacement: z.ZodString;
10
+ }, "strip", z.ZodTypeAny, {
11
+ precedence: number;
12
+ line: number;
13
+ endLine: number;
14
+ column: number;
15
+ endColumn: number;
16
+ insertionPoint: string;
17
+ replacement: string;
18
+ }, {
19
+ precedence: number;
20
+ line: number;
21
+ endLine: number;
22
+ column: number;
23
+ endColumn: number;
24
+ insertionPoint: string;
25
+ replacement: string;
26
+ }>;
27
+ declare const LevelSchema: z.ZodEnum<["error", "warning", "info", "style"]>;
28
+ export declare const ShellCheckResultSchema: z.ZodObject<{
29
+ comments: z.ZodArray<z.ZodObject<{
30
+ file: z.ZodString;
31
+ line: z.ZodNumber;
32
+ endLine: z.ZodNumber;
33
+ column: z.ZodNumber;
34
+ endColumn: z.ZodNumber;
35
+ level: z.ZodEnum<["error", "warning", "info", "style"]>;
36
+ code: z.ZodNumber;
37
+ message: z.ZodString;
38
+ fix: z.ZodNullable<z.ZodObject<{
39
+ replacements: z.ZodArray<z.ZodObject<{
40
+ precedence: z.ZodNumber;
41
+ line: z.ZodNumber;
42
+ endLine: z.ZodNumber;
43
+ column: z.ZodNumber;
44
+ endColumn: z.ZodNumber;
45
+ insertionPoint: z.ZodString;
46
+ replacement: z.ZodString;
47
+ }, "strip", z.ZodTypeAny, {
48
+ precedence: number;
49
+ line: number;
50
+ endLine: number;
51
+ column: number;
52
+ endColumn: number;
53
+ insertionPoint: string;
54
+ replacement: string;
55
+ }, {
56
+ precedence: number;
57
+ line: number;
58
+ endLine: number;
59
+ column: number;
60
+ endColumn: number;
61
+ insertionPoint: string;
62
+ replacement: string;
63
+ }>, "many">;
64
+ }, "strip", z.ZodTypeAny, {
65
+ replacements: {
66
+ precedence: number;
67
+ line: number;
68
+ endLine: number;
69
+ column: number;
70
+ endColumn: number;
71
+ insertionPoint: string;
72
+ replacement: string;
73
+ }[];
74
+ }, {
75
+ replacements: {
76
+ precedence: number;
77
+ line: number;
78
+ endLine: number;
79
+ column: number;
80
+ endColumn: number;
81
+ insertionPoint: string;
82
+ replacement: string;
83
+ }[];
84
+ }>>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ code: number;
87
+ message: string;
88
+ line: number;
89
+ endLine: number;
90
+ column: number;
91
+ endColumn: number;
92
+ file: string;
93
+ level: "info" | "warning" | "error" | "style";
94
+ fix: {
95
+ replacements: {
96
+ precedence: number;
97
+ line: number;
98
+ endLine: number;
99
+ column: number;
100
+ endColumn: number;
101
+ insertionPoint: string;
102
+ replacement: string;
103
+ }[];
104
+ } | null;
105
+ }, {
106
+ code: number;
107
+ message: string;
108
+ line: number;
109
+ endLine: number;
110
+ column: number;
111
+ endColumn: number;
112
+ file: string;
113
+ level: "info" | "warning" | "error" | "style";
114
+ fix: {
115
+ replacements: {
116
+ precedence: number;
117
+ line: number;
118
+ endLine: number;
119
+ column: number;
120
+ endColumn: number;
121
+ insertionPoint: string;
122
+ replacement: string;
123
+ }[];
124
+ } | null;
125
+ }>, "many">;
126
+ }, "strip", z.ZodTypeAny, {
127
+ comments: {
128
+ code: number;
129
+ message: string;
130
+ line: number;
131
+ endLine: number;
132
+ column: number;
133
+ endColumn: number;
134
+ file: string;
135
+ level: "info" | "warning" | "error" | "style";
136
+ fix: {
137
+ replacements: {
138
+ precedence: number;
139
+ line: number;
140
+ endLine: number;
141
+ column: number;
142
+ endColumn: number;
143
+ insertionPoint: string;
144
+ replacement: string;
145
+ }[];
146
+ } | null;
147
+ }[];
148
+ }, {
149
+ comments: {
150
+ code: number;
151
+ message: string;
152
+ line: number;
153
+ endLine: number;
154
+ column: number;
155
+ endColumn: number;
156
+ file: string;
157
+ level: "info" | "warning" | "error" | "style";
158
+ fix: {
159
+ replacements: {
160
+ precedence: number;
161
+ line: number;
162
+ endLine: number;
163
+ column: number;
164
+ endColumn: number;
165
+ insertionPoint: string;
166
+ replacement: string;
167
+ }[];
168
+ } | null;
169
+ }[];
170
+ }>;
171
+ export type ShellCheckResult = z.infer<typeof ShellCheckResultSchema>;
172
+ export type ShellCheckComment = ShellCheckResult['comments'][number];
173
+ export type ShellCheckCommentLevel = z.infer<typeof LevelSchema>;
174
+ export type ShellCheckReplacement = z.infer<typeof ReplacementSchema>;
175
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShellCheckResultSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const ReplacementSchema = zod_1.z.object({
6
+ precedence: zod_1.z.number(),
7
+ line: zod_1.z.number(),
8
+ endLine: zod_1.z.number(),
9
+ column: zod_1.z.number(),
10
+ endColumn: zod_1.z.number(),
11
+ insertionPoint: zod_1.z.string(),
12
+ replacement: zod_1.z.string(),
13
+ });
14
+ // https://github.com/koalaman/shellcheck/blob/364c33395e2f2d5500307f01989f70241c247d5a/src/ShellCheck/Formatter/Format.hs#L50
15
+ const LevelSchema = zod_1.z.enum(['error', 'warning', 'info', 'style']);
16
+ // Constituent structures defined here:
17
+ // https://github.com/koalaman/shellcheck/blob/master/src/ShellCheck/Interface.hs
18
+ exports.ShellCheckResultSchema = zod_1.z.object({
19
+ comments: zod_1.z.array(zod_1.z.object({
20
+ file: zod_1.z.string(),
21
+ line: zod_1.z.number(), // 1-based
22
+ endLine: zod_1.z.number(), // 1-based
23
+ column: zod_1.z.number(), // 1-based
24
+ endColumn: zod_1.z.number(), // 1-based
25
+ level: LevelSchema,
26
+ code: zod_1.z.number(),
27
+ message: zod_1.z.string(),
28
+ fix: zod_1.z
29
+ .object({
30
+ replacements: zod_1.z.array(ReplacementSchema),
31
+ })
32
+ .nullable(),
33
+ })),
34
+ });
35
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shellcheck/types.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,MAAM,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;IAC1B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAA;AAEF,8HAA8H;AAC9H,MAAM,WAAW,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEjE,uCAAuC;AACvC,iFAAiF;AAEpE,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,OAAC,CAAC,KAAK,CACf,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,UAAU;QAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,UAAU;QAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,UAAU;QAC9B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,UAAU;QACjC,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,GAAG,EAAE,OAAC;aACH,MAAM,CAAC;YACN,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;SACzC,CAAC;aACD,QAAQ,EAAE;KACd,CAAC,CACH;CACF,CAAC,CAAA"}