lostconf 0.2.1 → 0.3.0

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 (65) hide show
  1. package/CHANGELOG.md +34 -2
  2. package/README.md +15 -1
  3. package/dist/cli.js +1 -1
  4. package/dist/output/sarif.js +1 -1
  5. package/dist/parsers/alex.d.ts +10 -0
  6. package/dist/parsers/alex.d.ts.map +1 -0
  7. package/dist/parsers/alex.js +59 -0
  8. package/dist/parsers/alex.js.map +1 -0
  9. package/dist/parsers/ansible-lint.d.ts +8 -0
  10. package/dist/parsers/ansible-lint.d.ts.map +1 -0
  11. package/dist/parsers/ansible-lint.js +71 -0
  12. package/dist/parsers/ansible-lint.js.map +1 -0
  13. package/dist/parsers/brakeman.d.ts +8 -0
  14. package/dist/parsers/brakeman.d.ts.map +1 -0
  15. package/dist/parsers/brakeman.js +85 -0
  16. package/dist/parsers/brakeman.js.map +1 -0
  17. package/dist/parsers/buf.d.ts +8 -0
  18. package/dist/parsers/buf.d.ts.map +1 -0
  19. package/dist/parsers/buf.js +121 -0
  20. package/dist/parsers/buf.js.map +1 -0
  21. package/dist/parsers/bundler-audit.d.ts +11 -0
  22. package/dist/parsers/bundler-audit.d.ts.map +1 -0
  23. package/dist/parsers/bundler-audit.js +73 -0
  24. package/dist/parsers/bundler-audit.js.map +1 -0
  25. package/dist/parsers/commitlint.d.ts +8 -0
  26. package/dist/parsers/commitlint.d.ts.map +1 -0
  27. package/dist/parsers/commitlint.js +86 -0
  28. package/dist/parsers/commitlint.js.map +1 -0
  29. package/dist/parsers/eslint-flat.d.ts +9 -0
  30. package/dist/parsers/eslint-flat.d.ts.map +1 -0
  31. package/dist/parsers/eslint-flat.js +79 -0
  32. package/dist/parsers/eslint-flat.js.map +1 -0
  33. package/dist/parsers/index.d.ts +14 -0
  34. package/dist/parsers/index.d.ts.map +1 -1
  35. package/dist/parsers/index.js +55 -1
  36. package/dist/parsers/index.js.map +1 -1
  37. package/dist/parsers/lefthook.d.ts +8 -0
  38. package/dist/parsers/lefthook.d.ts.map +1 -0
  39. package/dist/parsers/lefthook.js +111 -0
  40. package/dist/parsers/lefthook.js.map +1 -0
  41. package/dist/parsers/lint-staged.d.ts +8 -0
  42. package/dist/parsers/lint-staged.d.ts.map +1 -0
  43. package/dist/parsers/lint-staged.js +74 -0
  44. package/dist/parsers/lint-staged.js.map +1 -0
  45. package/dist/parsers/oxlint.d.ts +8 -0
  46. package/dist/parsers/oxlint.d.ts.map +1 -0
  47. package/dist/parsers/oxlint.js +65 -0
  48. package/dist/parsers/oxlint.js.map +1 -0
  49. package/dist/parsers/pre-commit.d.ts +8 -0
  50. package/dist/parsers/pre-commit.d.ts.map +1 -0
  51. package/dist/parsers/pre-commit.js +95 -0
  52. package/dist/parsers/pre-commit.js.map +1 -0
  53. package/dist/parsers/reek.d.ts +8 -0
  54. package/dist/parsers/reek.d.ts.map +1 -0
  55. package/dist/parsers/reek.js +70 -0
  56. package/dist/parsers/reek.js.map +1 -0
  57. package/dist/parsers/sqlfluff.d.ts +10 -0
  58. package/dist/parsers/sqlfluff.d.ts.map +1 -0
  59. package/dist/parsers/sqlfluff.js +88 -0
  60. package/dist/parsers/sqlfluff.js.map +1 -0
  61. package/dist/parsers/yard-lint.d.ts +8 -0
  62. package/dist/parsers/yard-lint.d.ts.map +1 -0
  63. package/dist/parsers/yard-lint.js +97 -0
  64. package/dist/parsers/yard-lint.js.map +1 -0
  65. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitlint.d.ts","sourceRoot":"","sources":["../../src/parsers/commitlint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA2FjD,+BAA+B;AAC/B,eAAO,MAAM,gBAAgB,EAAE,MAS9B,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Parser for commitlint configuration files
3
+ * https://commitlint.js.org/
4
+ */
5
+ import { PatternType } from '../core/types.js';
6
+ import { looksLikeRegex } from '../validator/regex.js';
7
+ /** Parse commitlint config and extract patterns */
8
+ function parseCommitlintConfig(_filename, content) {
9
+ const patterns = [];
10
+ let config;
11
+ try {
12
+ config = JSON.parse(content);
13
+ }
14
+ catch {
15
+ return patterns;
16
+ }
17
+ if (!config || typeof config !== 'object') {
18
+ return patterns;
19
+ }
20
+ const lineMap = buildLineMap(content);
21
+ // Extract ignores patterns (regex strings for commit message patterns)
22
+ if (Array.isArray(config.ignores)) {
23
+ for (const value of config.ignores) {
24
+ // Ignores can be functions or strings in JS, but in JSON they'll be strings
25
+ if (typeof value !== 'string')
26
+ continue;
27
+ const lineInfo = lineMap.get(value);
28
+ // Commit message patterns are typically regexes
29
+ const type = looksLikeRegex(value) ? PatternType.REGEX : PatternType.PATH;
30
+ patterns.push({
31
+ value,
32
+ type,
33
+ line: lineInfo?.line ?? 1,
34
+ column: lineInfo?.column
35
+ });
36
+ }
37
+ }
38
+ // Extract extends (package names or file paths)
39
+ if (Array.isArray(config.extends)) {
40
+ for (const value of config.extends) {
41
+ if (typeof value !== 'string')
42
+ continue;
43
+ // Skip npm package names (start with @ or don't start with . or /)
44
+ // Only include relative paths (./...) or absolute paths (/...)
45
+ if (value.startsWith('@') || (!value.startsWith('.') && !value.startsWith('/'))) {
46
+ continue;
47
+ }
48
+ const lineInfo = lineMap.get(value);
49
+ patterns.push({
50
+ value,
51
+ type: PatternType.PATH,
52
+ line: lineInfo?.line ?? 1,
53
+ column: lineInfo?.column
54
+ });
55
+ }
56
+ }
57
+ return patterns;
58
+ }
59
+ function buildLineMap(content) {
60
+ const map = new Map();
61
+ const lines = content.split('\n');
62
+ for (let i = 0; i < lines.length; i++) {
63
+ const line = lines[i];
64
+ const lineNum = i + 1;
65
+ const stringMatches = line.matchAll(/"([^"]+)"/g);
66
+ for (const match of stringMatches) {
67
+ const value = match[1];
68
+ if (value && !map.has(value)) {
69
+ map.set(value, { line: lineNum, column: (match.index ?? 0) + 1 });
70
+ }
71
+ }
72
+ }
73
+ return map;
74
+ }
75
+ /** commitlint config parser */
76
+ export const commitlintParser = {
77
+ name: 'commitlint',
78
+ filePatterns: [
79
+ '.commitlintrc',
80
+ '.commitlintrc.json',
81
+ '**/.commitlintrc',
82
+ '**/.commitlintrc.json'
83
+ ],
84
+ parse: parseCommitlintConfig
85
+ };
86
+ //# sourceMappingURL=commitlint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitlint.js","sourceRoot":"","sources":["../../src/parsers/commitlint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Parser for ESLint flat config files
3
+ * https://eslint.org/docs/latest/use/configure/configuration-files
4
+ * Note: Only supports JSON format for safety. JS/MJS/CJS require code execution.
5
+ */
6
+ import type { Parser } from '../plugin/types.js';
7
+ /** ESLint flat config parser (JSON only) */
8
+ export declare const eslintFlatParser: Parser;
9
+ //# sourceMappingURL=eslint-flat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-flat.d.ts","sourceRoot":"","sources":["../../src/parsers/eslint-flat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAsFjD,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,EAAE,MAI9B,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Parser for ESLint flat config files
3
+ * https://eslint.org/docs/latest/use/configure/configuration-files
4
+ * Note: Only supports JSON format for safety. JS/MJS/CJS require code execution.
5
+ */
6
+ import { PatternType } from '../core/types.js';
7
+ import { isGlobPattern } from '../validator/glob.js';
8
+ /** Parse eslint.config.json and extract patterns */
9
+ function parseESLintFlat(_filename, content) {
10
+ const patterns = [];
11
+ let config;
12
+ try {
13
+ config = JSON.parse(content);
14
+ }
15
+ catch {
16
+ return patterns;
17
+ }
18
+ // Config can be an array or a single object
19
+ const configs = Array.isArray(config) ? config : [config];
20
+ const lineMap = buildLineMap(content);
21
+ for (const configObj of configs) {
22
+ if (!configObj || typeof configObj !== 'object')
23
+ continue;
24
+ // Extract ignores patterns
25
+ if (Array.isArray(configObj.ignores)) {
26
+ for (const value of configObj.ignores) {
27
+ if (typeof value !== 'string')
28
+ continue;
29
+ const lineInfo = lineMap.get(value);
30
+ const type = isGlobPattern(value) ? PatternType.GLOB : PatternType.PATH;
31
+ patterns.push({
32
+ value,
33
+ type,
34
+ line: lineInfo?.line ?? 1,
35
+ column: lineInfo?.column
36
+ });
37
+ }
38
+ }
39
+ // Extract files patterns
40
+ if (Array.isArray(configObj.files)) {
41
+ for (const value of configObj.files) {
42
+ if (typeof value !== 'string')
43
+ continue;
44
+ const lineInfo = lineMap.get(value);
45
+ const type = isGlobPattern(value) ? PatternType.GLOB : PatternType.PATH;
46
+ patterns.push({
47
+ value,
48
+ type,
49
+ line: lineInfo?.line ?? 1,
50
+ column: lineInfo?.column
51
+ });
52
+ }
53
+ }
54
+ }
55
+ return patterns;
56
+ }
57
+ function buildLineMap(content) {
58
+ const map = new Map();
59
+ const lines = content.split('\n');
60
+ for (let i = 0; i < lines.length; i++) {
61
+ const line = lines[i];
62
+ const lineNum = i + 1;
63
+ const stringMatches = line.matchAll(/"([^"]+)"/g);
64
+ for (const match of stringMatches) {
65
+ const value = match[1];
66
+ if (value && !map.has(value)) {
67
+ map.set(value, { line: lineNum, column: (match.index ?? 0) + 1 });
68
+ }
69
+ }
70
+ }
71
+ return map;
72
+ }
73
+ /** ESLint flat config parser (JSON only) */
74
+ export const eslintFlatParser = {
75
+ name: 'eslint-flat',
76
+ filePatterns: ['eslint.config.json', '**/eslint.config.json'],
77
+ parse: parseESLintFlat
78
+ };
79
+ //# sourceMappingURL=eslint-flat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-flat.js","sourceRoot":"","sources":["../../src/parsers/eslint-flat.ts"],"names":[],"mappings":"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"}
@@ -3,18 +3,26 @@
3
3
  */
4
4
  export { gitignoreParser, dockerignoreParser, createIgnoreParser } from './gitignore.js';
5
5
  export { eslintIgnoreParser } from './eslint.js';
6
+ export { eslintFlatParser } from './eslint-flat.js';
6
7
  export { prettierIgnoreParser } from './prettier.js';
7
8
  export { tsconfigParser } from './typescript.js';
8
9
  export { jestConfigParser } from './jest.js';
9
10
  export { stylelintIgnoreParser, stylelintRcParser } from './stylelint.js';
10
11
  export { biomeParser } from './biome.js';
11
12
  export { denoParser } from './deno.js';
13
+ export { oxlintParser } from './oxlint.js';
14
+ export { commitlintParser } from './commitlint.js';
15
+ export { lintStagedParser } from './lint-staged.js';
12
16
  export { pyprojectParser } from './pyproject.js';
13
17
  export { flake8Parser, flake8SetupCfgParser } from './flake8.js';
14
18
  export { pylintrcParser } from './pylint.js';
15
19
  export { banditParser } from './bandit.js';
16
20
  export { pyrightParser } from './pyright.js';
17
21
  export { rubocopParser } from './rubocop.js';
22
+ export { brakemanParser } from './brakeman.js';
23
+ export { reekParser } from './reek.js';
24
+ export { bundlerAuditParser } from './bundler-audit.js';
25
+ export { yardLintParser } from './yard-lint.js';
18
26
  export { golangciParser } from './golangci.js';
19
27
  export { rustfmtParser, clippyParser } from './rust.js';
20
28
  export { checkstyleParser, pmdParser, spotbugsParser } from './java.js';
@@ -32,6 +40,12 @@ export { tflintParser } from './tflint.js';
32
40
  export { semgrepYmlParser, semgrepIgnoreParser } from './semgrep.js';
33
41
  export { gitleaksParser } from './gitleaks.js';
34
42
  export { hadolintParser } from './hadolint.js';
43
+ export { lefthookParser } from './lefthook.js';
44
+ export { preCommitParser } from './pre-commit.js';
45
+ export { ansibleLintParser } from './ansible-lint.js';
46
+ export { sqlfluffParser, sqlfluffSetupCfgParser } from './sqlfluff.js';
47
+ export { bufParser } from './buf.js';
48
+ export { alexIgnoreParser, alexRcParser } from './alex.js';
35
49
  import type { Parser } from '../plugin/types.js';
36
50
  /** Get all built-in parsers */
37
51
  export declare function getBuiltinParsers(): Parser[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmCjD,+BAA+B;AAC/B,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAoF5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,16 @@
5
5
  export { gitignoreParser, dockerignoreParser, createIgnoreParser } from './gitignore.js';
6
6
  // JavaScript/TypeScript
7
7
  export { eslintIgnoreParser } from './eslint.js';
8
+ export { eslintFlatParser } from './eslint-flat.js';
8
9
  export { prettierIgnoreParser } from './prettier.js';
9
10
  export { tsconfigParser } from './typescript.js';
10
11
  export { jestConfigParser } from './jest.js';
11
12
  export { stylelintIgnoreParser, stylelintRcParser } from './stylelint.js';
12
13
  export { biomeParser } from './biome.js';
13
14
  export { denoParser } from './deno.js';
15
+ export { oxlintParser } from './oxlint.js';
16
+ export { commitlintParser } from './commitlint.js';
17
+ export { lintStagedParser } from './lint-staged.js';
14
18
  // Python
15
19
  export { pyprojectParser } from './pyproject.js';
16
20
  export { flake8Parser, flake8SetupCfgParser } from './flake8.js';
@@ -19,6 +23,10 @@ export { banditParser } from './bandit.js';
19
23
  export { pyrightParser } from './pyright.js';
20
24
  // Ruby
21
25
  export { rubocopParser } from './rubocop.js';
26
+ export { brakemanParser } from './brakeman.js';
27
+ export { reekParser } from './reek.js';
28
+ export { bundlerAuditParser } from './bundler-audit.js';
29
+ export { yardLintParser } from './yard-lint.js';
22
30
  // Go
23
31
  export { golangciParser } from './golangci.js';
24
32
  // Rust
@@ -52,21 +60,40 @@ export { semgrepYmlParser, semgrepIgnoreParser } from './semgrep.js';
52
60
  export { gitleaksParser } from './gitleaks.js';
53
61
  // Docker
54
62
  export { hadolintParser } from './hadolint.js';
63
+ // Git Hooks
64
+ export { lefthookParser } from './lefthook.js';
65
+ export { preCommitParser } from './pre-commit.js';
66
+ // DevOps
67
+ export { ansibleLintParser } from './ansible-lint.js';
68
+ // SQL
69
+ export { sqlfluffParser, sqlfluffSetupCfgParser } from './sqlfluff.js';
70
+ // Protocol Buffers
71
+ export { bufParser } from './buf.js';
72
+ // Documentation
73
+ export { alexIgnoreParser, alexRcParser } from './alex.js';
55
74
  // Import all parsers for getBuiltinParsers
56
75
  import { gitignoreParser, dockerignoreParser } from './gitignore.js';
57
76
  import { eslintIgnoreParser } from './eslint.js';
77
+ import { eslintFlatParser } from './eslint-flat.js';
58
78
  import { prettierIgnoreParser } from './prettier.js';
59
79
  import { tsconfigParser } from './typescript.js';
60
80
  import { jestConfigParser } from './jest.js';
61
81
  import { stylelintIgnoreParser, stylelintRcParser } from './stylelint.js';
62
82
  import { biomeParser } from './biome.js';
63
83
  import { denoParser } from './deno.js';
84
+ import { oxlintParser } from './oxlint.js';
85
+ import { commitlintParser } from './commitlint.js';
86
+ import { lintStagedParser } from './lint-staged.js';
64
87
  import { pyprojectParser } from './pyproject.js';
65
88
  import { flake8Parser, flake8SetupCfgParser } from './flake8.js';
66
89
  import { pylintrcParser } from './pylint.js';
67
90
  import { banditParser } from './bandit.js';
68
91
  import { pyrightParser } from './pyright.js';
69
92
  import { rubocopParser } from './rubocop.js';
93
+ import { brakemanParser } from './brakeman.js';
94
+ import { reekParser } from './reek.js';
95
+ import { bundlerAuditParser } from './bundler-audit.js';
96
+ import { yardLintParser } from './yard-lint.js';
70
97
  import { golangciParser } from './golangci.js';
71
98
  import { rustfmtParser, clippyParser } from './rust.js';
72
99
  import { checkstyleParser, pmdParser, spotbugsParser } from './java.js';
@@ -84,6 +111,12 @@ import { tflintParser } from './tflint.js';
84
111
  import { semgrepYmlParser, semgrepIgnoreParser } from './semgrep.js';
85
112
  import { gitleaksParser } from './gitleaks.js';
86
113
  import { hadolintParser } from './hadolint.js';
114
+ import { lefthookParser } from './lefthook.js';
115
+ import { preCommitParser } from './pre-commit.js';
116
+ import { ansibleLintParser } from './ansible-lint.js';
117
+ import { sqlfluffParser, sqlfluffSetupCfgParser } from './sqlfluff.js';
118
+ import { bufParser } from './buf.js';
119
+ import { alexIgnoreParser, alexRcParser } from './alex.js';
87
120
  /** Get all built-in parsers */
88
121
  export function getBuiltinParsers() {
89
122
  return [
@@ -92,6 +125,7 @@ export function getBuiltinParsers() {
92
125
  dockerignoreParser,
93
126
  // JavaScript/TypeScript
94
127
  eslintIgnoreParser,
128
+ eslintFlatParser,
95
129
  prettierIgnoreParser,
96
130
  tsconfigParser,
97
131
  jestConfigParser,
@@ -99,6 +133,9 @@ export function getBuiltinParsers() {
99
133
  stylelintRcParser,
100
134
  biomeParser,
101
135
  denoParser,
136
+ oxlintParser,
137
+ commitlintParser,
138
+ lintStagedParser,
102
139
  // Python
103
140
  pyprojectParser,
104
141
  flake8Parser,
@@ -108,6 +145,10 @@ export function getBuiltinParsers() {
108
145
  pyrightParser,
109
146
  // Ruby
110
147
  rubocopParser,
148
+ brakemanParser,
149
+ reekParser,
150
+ bundlerAuditParser,
151
+ yardLintParser,
111
152
  // Go
112
153
  golangciParser,
113
154
  // Rust
@@ -148,7 +189,20 @@ export function getBuiltinParsers() {
148
189
  semgrepIgnoreParser,
149
190
  gitleaksParser,
150
191
  // Docker
151
- hadolintParser
192
+ hadolintParser,
193
+ // Git Hooks
194
+ lefthookParser,
195
+ preCommitParser,
196
+ // DevOps
197
+ ansibleLintParser,
198
+ // SQL
199
+ sqlfluffParser,
200
+ sqlfluffSetupCfgParser,
201
+ // Protocol Buffers
202
+ bufParser,
203
+ // Documentation
204
+ alexIgnoreParser,
205
+ alexRcParser
152
206
  ];
153
207
  }
154
208
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Parser for lefthook configuration files
3
+ * https://lefthook.dev/
4
+ */
5
+ import type { Parser } from '../plugin/types.js';
6
+ /** lefthook config parser */
7
+ export declare const lefthookParser: Parser;
8
+ //# sourceMappingURL=lefthook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lefthook.d.ts","sourceRoot":"","sources":["../../src/parsers/lefthook.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAsIjD,6BAA6B;AAC7B,eAAO,MAAM,cAAc,EAAE,MAI5B,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Parser for lefthook configuration files
3
+ * https://lefthook.dev/
4
+ */
5
+ import { parse as parseYaml } from 'yaml';
6
+ import { PatternType } from '../core/types.js';
7
+ import { isGlobPattern } from '../validator/glob.js';
8
+ /** Parse lefthook.yml configuration */
9
+ function parseLefthook(_filename, content) {
10
+ const patterns = [];
11
+ let config;
12
+ try {
13
+ config = parseYaml(content);
14
+ }
15
+ catch {
16
+ return patterns;
17
+ }
18
+ if (!config || typeof config !== 'object') {
19
+ return patterns;
20
+ }
21
+ const lineMap = buildLineMap(content);
22
+ // Iterate through all hooks (pre-commit, pre-push, etc.)
23
+ for (const [key, value] of Object.entries(config)) {
24
+ // Skip top-level config keys
25
+ if (key === 'skip_output' || key === 'source_dir' || key === 'rc' || key === 'colors') {
26
+ continue;
27
+ }
28
+ if (typeof value !== 'object' || value === null) {
29
+ continue;
30
+ }
31
+ const hook = value;
32
+ // Extract file patterns from hook-level
33
+ if (hook.files) {
34
+ addPattern(patterns, hook.files, lineMap);
35
+ }
36
+ if (hook.glob) {
37
+ addPattern(patterns, hook.glob, lineMap);
38
+ }
39
+ if (hook.exclude) {
40
+ addPattern(patterns, hook.exclude, lineMap);
41
+ }
42
+ // Extract skip patterns
43
+ if (hook.skip) {
44
+ const skipPatterns = Array.isArray(hook.skip) ? hook.skip : [hook.skip];
45
+ for (const pattern of skipPatterns) {
46
+ if (typeof pattern === 'string') {
47
+ addPattern(patterns, pattern, lineMap);
48
+ }
49
+ }
50
+ }
51
+ // Extract patterns from commands
52
+ if (hook.commands && typeof hook.commands === 'object') {
53
+ for (const command of Object.values(hook.commands)) {
54
+ if (typeof command === 'object' && command !== null) {
55
+ if (command.files) {
56
+ addPattern(patterns, command.files, lineMap);
57
+ }
58
+ if (command.glob) {
59
+ addPattern(patterns, command.glob, lineMap);
60
+ }
61
+ if (command.exclude) {
62
+ addPattern(patterns, command.exclude, lineMap);
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ return patterns;
69
+ }
70
+ function addPattern(patterns, value, lineMap) {
71
+ const lineInfo = lineMap.get(value);
72
+ const type = isGlobPattern(value) ? PatternType.GLOB : PatternType.PATH;
73
+ patterns.push({
74
+ value,
75
+ type,
76
+ line: lineInfo?.line ?? 1,
77
+ column: lineInfo?.column
78
+ });
79
+ }
80
+ function buildLineMap(content) {
81
+ const map = new Map();
82
+ const lines = content.split('\n');
83
+ for (let i = 0; i < lines.length; i++) {
84
+ const line = lines[i];
85
+ const lineNum = i + 1;
86
+ // Match YAML string values (quoted and unquoted)
87
+ const quotedMatches = line.matchAll(/["']([^"']+)["']/g);
88
+ for (const match of quotedMatches) {
89
+ const value = match[1];
90
+ if (value && !map.has(value)) {
91
+ map.set(value, { line: lineNum, column: (match.index ?? 0) + 1 });
92
+ }
93
+ }
94
+ // Match unquoted values after colon
95
+ const unquotedMatch = line.match(/:\s*([^\s#]+)/);
96
+ if (unquotedMatch && unquotedMatch[1]) {
97
+ const value = unquotedMatch[1];
98
+ if (!map.has(value)) {
99
+ map.set(value, { line: lineNum, column: (unquotedMatch.index ?? 0) + 1 });
100
+ }
101
+ }
102
+ }
103
+ return map;
104
+ }
105
+ /** lefthook config parser */
106
+ export const lefthookParser = {
107
+ name: 'lefthook',
108
+ filePatterns: ['lefthook.yml', '.lefthook.yml', 'lefthook-local.yml', '**/lefthook.yml'],
109
+ parse: parseLefthook
110
+ };
111
+ //# sourceMappingURL=lefthook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lefthook.js","sourceRoot":"","sources":["../../src/parsers/lefthook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Parser for lint-staged configuration files
3
+ * https://github.com/lint-staged/lint-staged
4
+ */
5
+ import type { Parser } from '../plugin/types.js';
6
+ /** lint-staged config parser */
7
+ export declare const lintStagedParser: Parser;
8
+ //# sourceMappingURL=lint-staged.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-staged.d.ts","sourceRoot":"","sources":["../../src/parsers/lint-staged.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAyEjD,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,EAAE,MAS9B,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Parser for lint-staged configuration files
3
+ * https://github.com/lint-staged/lint-staged
4
+ */
5
+ import { PatternType } from '../core/types.js';
6
+ import { isGlobPattern } from '../validator/glob.js';
7
+ /** Parse lint-staged config and extract patterns */
8
+ function parseLintStagedConfig(_filename, content) {
9
+ const patterns = [];
10
+ let config;
11
+ try {
12
+ config = JSON.parse(content);
13
+ }
14
+ catch {
15
+ return patterns;
16
+ }
17
+ if (!config || typeof config !== 'object') {
18
+ return patterns;
19
+ }
20
+ const lineMap = buildLineMap(content);
21
+ // In lint-staged, the keys are glob patterns matching files
22
+ // The values are commands to run (which we don't need to validate)
23
+ for (const key of Object.keys(config)) {
24
+ // Skip non-pattern keys (like $schema, etc.)
25
+ if (key.startsWith('$')) {
26
+ continue;
27
+ }
28
+ const lineInfo = lineMap.get(key);
29
+ const type = isGlobPattern(key) ? PatternType.GLOB : PatternType.PATH;
30
+ patterns.push({
31
+ value: key,
32
+ type,
33
+ line: lineInfo?.line ?? 1,
34
+ column: lineInfo?.column
35
+ });
36
+ }
37
+ return patterns;
38
+ }
39
+ function buildLineMap(content) {
40
+ const map = new Map();
41
+ const lines = content.split('\n');
42
+ for (let i = 0; i < lines.length; i++) {
43
+ const line = lines[i];
44
+ const lineNum = i + 1;
45
+ // Match both property names and string values
46
+ const keyMatches = line.matchAll(/"([^"]+)":/g);
47
+ for (const match of keyMatches) {
48
+ const value = match[1];
49
+ if (value && !map.has(value)) {
50
+ map.set(value, { line: lineNum, column: (match.index ?? 0) + 1 });
51
+ }
52
+ }
53
+ const stringMatches = line.matchAll(/"([^"]+)"/g);
54
+ for (const match of stringMatches) {
55
+ const value = match[1];
56
+ if (value && !map.has(value)) {
57
+ map.set(value, { line: lineNum, column: (match.index ?? 0) + 1 });
58
+ }
59
+ }
60
+ }
61
+ return map;
62
+ }
63
+ /** lint-staged config parser */
64
+ export const lintStagedParser = {
65
+ name: 'lint-staged',
66
+ filePatterns: [
67
+ '.lintstagedrc',
68
+ '.lintstagedrc.json',
69
+ '**/.lintstagedrc',
70
+ '**/.lintstagedrc.json'
71
+ ],
72
+ parse: parseLintStagedConfig
73
+ };
74
+ //# sourceMappingURL=lint-staged.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-staged.js","sourceRoot":"","sources":["../../src/parsers/lint-staged.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Parser for oxlint configuration files
3
+ * https://oxc.rs/docs/guide/usage/linter.html
4
+ */
5
+ import type { Parser } from '../plugin/types.js';
6
+ /** Oxlint config parser */
7
+ export declare const oxlintParser: Parser;
8
+ //# sourceMappingURL=oxlint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxlint.d.ts","sourceRoot":"","sources":["../../src/parsers/oxlint.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAiEjD,2BAA2B;AAC3B,eAAO,MAAM,YAAY,EAAE,MAS1B,CAAC"}