check-my-toolkit 0.1.0 → 0.1.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/README.md +157 -1
- package/dist/cli.js +81 -27
- package/dist/cli.js.map +1 -1
- package/dist/code/index.d.ts.map +1 -1
- package/dist/code/index.js +10 -6
- package/dist/code/index.js.map +1 -1
- package/dist/code/tools/tsc.d.ts +1 -0
- package/dist/code/tools/tsc.d.ts.map +1 -1
- package/dist/code/tools/tsc.js +18 -14
- package/dist/code/tools/tsc.js.map +1 -1
- package/dist/config/loader.d.ts +2 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +68 -62
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +0 -714
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +16 -16
- package/dist/config/schema.js.map +1 -1
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +33 -34
- package/dist/output/index.js.map +1 -1
- package/package.json +11 -2
- package/dist/code/audit.d.ts +0 -14
- package/dist/code/audit.d.ts.map +0 -1
- package/dist/code/audit.js +0 -130
- package/dist/code/audit.js.map +0 -1
- package/dist/code/linting.d.ts +0 -10
- package/dist/code/linting.d.ts.map +0 -1
- package/dist/code/linting.js +0 -233
- package/dist/code/linting.js.map +0 -1
- package/dist/code/types.d.ts +0 -6
- package/dist/code/types.d.ts.map +0 -1
- package/dist/code/types.js +0 -132
- package/dist/code/types.js.map +0 -1
- package/dist/src/cli.d.ts +0 -3
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -116
- package/dist/src/cli.js.map +0 -1
- package/dist/src/code/index.d.ts +0 -13
- package/dist/src/code/index.d.ts.map +0 -1
- package/dist/src/code/index.js +0 -53
- package/dist/src/code/index.js.map +0 -1
- package/dist/src/code/tools/base.d.ts +0 -52
- package/dist/src/code/tools/base.d.ts.map +0 -1
- package/dist/src/code/tools/base.js +0 -83
- package/dist/src/code/tools/base.js.map +0 -1
- package/dist/src/code/tools/eslint.d.ts +0 -15
- package/dist/src/code/tools/eslint.d.ts.map +0 -1
- package/dist/src/code/tools/eslint.js +0 -79
- package/dist/src/code/tools/eslint.js.map +0 -1
- package/dist/src/code/tools/index.d.ts +0 -5
- package/dist/src/code/tools/index.d.ts.map +0 -1
- package/dist/src/code/tools/index.js +0 -5
- package/dist/src/code/tools/index.js.map +0 -1
- package/dist/src/code/tools/ruff.d.ts +0 -26
- package/dist/src/code/tools/ruff.d.ts.map +0 -1
- package/dist/src/code/tools/ruff.js +0 -149
- package/dist/src/code/tools/ruff.js.map +0 -1
- package/dist/src/code/tools/tsc.d.ts +0 -21
- package/dist/src/code/tools/tsc.d.ts.map +0 -1
- package/dist/src/code/tools/tsc.js +0 -94
- package/dist/src/code/tools/tsc.js.map +0 -1
- package/dist/src/config/index.d.ts +0 -3
- package/dist/src/config/index.d.ts.map +0 -1
- package/dist/src/config/index.js +0 -3
- package/dist/src/config/index.js.map +0 -1
- package/dist/src/config/loader.d.ts +0 -22
- package/dist/src/config/loader.d.ts.map +0 -1
- package/dist/src/config/loader.js +0 -124
- package/dist/src/config/loader.js.map +0 -1
- package/dist/src/config/schema.d.ts +0 -503
- package/dist/src/config/schema.d.ts.map +0 -1
- package/dist/src/config/schema.js +0 -190
- package/dist/src/config/schema.js.map +0 -1
- package/dist/src/index.d.ts +0 -8
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -16
- package/dist/src/index.js.map +0 -1
- package/dist/src/output/index.d.ts +0 -15
- package/dist/src/output/index.d.ts.map +0 -1
- package/dist/src/output/index.js +0 -96
- package/dist/src/output/index.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -96
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -89
- package/dist/src/types/index.js.map +0 -1
- package/dist/tests/e2e/e2e.test.d.ts +0 -2
- package/dist/tests/e2e/e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/e2e.test.js +0 -398
- package/dist/tests/e2e/e2e.test.js.map +0 -1
|
@@ -1,398 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
const testCases = [
|
|
4
|
-
// ============================================================
|
|
5
|
-
// Linting: Violations expected
|
|
6
|
-
// ============================================================
|
|
7
|
-
{
|
|
8
|
-
name: "default project with ESLint and Ruff violations",
|
|
9
|
-
config: "tests/e2e/projects/default/check.toml",
|
|
10
|
-
command: "check",
|
|
11
|
-
expectedExitCode: 1,
|
|
12
|
-
expectedPatterns: ["✗ ESLint:", "✗ Ruff:", "violation(s) found"],
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: "typescript/default with ESLint violation",
|
|
16
|
-
config: "tests/e2e/projects/typescript/default/check.toml",
|
|
17
|
-
command: "check",
|
|
18
|
-
expectedExitCode: 1,
|
|
19
|
-
expectedPatterns: ["✗ ESLint:", "no-var"],
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: "typescript/multi-violations with multiple ESLint errors",
|
|
23
|
-
config: "tests/e2e/projects/typescript/multi-violations/check.toml",
|
|
24
|
-
command: "check",
|
|
25
|
-
expectedExitCode: 1,
|
|
26
|
-
expectedPatterns: ["✗ ESLint: 9 violation(s)", "no-var", "prefer-const", "eqeqeq"],
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
name: "typescript/nested-dirs finds violations in subdirectories",
|
|
30
|
-
config: "tests/e2e/projects/typescript/nested-dirs/check.toml",
|
|
31
|
-
command: "check",
|
|
32
|
-
expectedExitCode: 1,
|
|
33
|
-
expectedPatterns: ["✗ ESLint: 2 violation(s)", "lib/legacy.ts", "src/utils/helpers.ts"],
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "typescript/special-chars handles special filenames",
|
|
37
|
-
config: "tests/e2e/projects/typescript/special-chars/check.toml",
|
|
38
|
-
command: "check",
|
|
39
|
-
expectedExitCode: 1,
|
|
40
|
-
expectedPatterns: ["file-with-dashes.ts", "file.multiple.dots.ts", "file_with_underscores.ts"],
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: "python/default with Ruff violations",
|
|
44
|
-
config: "tests/e2e/projects/python/default/check.toml",
|
|
45
|
-
command: "check",
|
|
46
|
-
expectedExitCode: 1,
|
|
47
|
-
expectedPatterns: ["✗ Ruff:", "F401", "imported but unused"],
|
|
48
|
-
},
|
|
49
|
-
// ============================================================
|
|
50
|
-
// Linting: Should pass
|
|
51
|
-
// ============================================================
|
|
52
|
-
{
|
|
53
|
-
name: "typescript/clean-project passes all checks",
|
|
54
|
-
config: "tests/e2e/projects/typescript/clean-project/check.toml",
|
|
55
|
-
command: "check",
|
|
56
|
-
expectedExitCode: 0,
|
|
57
|
-
expectedPatterns: ["✓ ESLint: passed", "✓ All checks passed"],
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: "typescript/without-tsc passes when tsc disabled",
|
|
61
|
-
config: "tests/e2e/projects/typescript/without-tsc/check.toml",
|
|
62
|
-
command: "check",
|
|
63
|
-
expectedExitCode: 0,
|
|
64
|
-
expectedPatterns: ["✓ ESLint: passed"],
|
|
65
|
-
notExpectedPatterns: ["TypeScript"],
|
|
66
|
-
},
|
|
67
|
-
// ============================================================
|
|
68
|
-
// Tools disabled
|
|
69
|
-
// ============================================================
|
|
70
|
-
{
|
|
71
|
-
name: "typescript/with-tools-disabled skips ESLint when disabled",
|
|
72
|
-
config: "tests/e2e/projects/typescript/with-tools-disabled/check.toml",
|
|
73
|
-
command: "check",
|
|
74
|
-
expectedExitCode: 0,
|
|
75
|
-
expectedPatterns: ["○ CODE", "✓ All checks passed"],
|
|
76
|
-
notExpectedPatterns: ["ESLint"],
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "python/with-tools-disabled skips Ruff when disabled",
|
|
80
|
-
config: "tests/e2e/projects/python/with-tools-disabled/check.toml",
|
|
81
|
-
command: "check",
|
|
82
|
-
expectedExitCode: 0,
|
|
83
|
-
expectedPatterns: ["○ CODE", "✓ All checks passed"],
|
|
84
|
-
notExpectedPatterns: ["Ruff"],
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: "mixed-extensions with both linters disabled",
|
|
88
|
-
config: "tests/e2e/projects/mixed-extensions/check.toml",
|
|
89
|
-
command: "check",
|
|
90
|
-
expectedExitCode: 0,
|
|
91
|
-
expectedPatterns: ["○ CODE"],
|
|
92
|
-
},
|
|
93
|
-
// ============================================================
|
|
94
|
-
// TypeScript type checking
|
|
95
|
-
// ============================================================
|
|
96
|
-
{
|
|
97
|
-
name: "typescript/with-tsc-enabled catches type errors",
|
|
98
|
-
config: "tests/e2e/projects/typescript/with-tsc-enabled/check.toml",
|
|
99
|
-
command: "check",
|
|
100
|
-
expectedExitCode: 1,
|
|
101
|
-
expectedPatterns: ["✗ TypeScript:", "TS2345"],
|
|
102
|
-
},
|
|
103
|
-
// ============================================================
|
|
104
|
-
// Empty/missing configs
|
|
105
|
-
// ============================================================
|
|
106
|
-
{
|
|
107
|
-
name: "typescript/empty-project skips when no ESLint config",
|
|
108
|
-
config: "tests/e2e/projects/typescript/empty-project/check.toml",
|
|
109
|
-
command: "check",
|
|
110
|
-
expectedExitCode: 0,
|
|
111
|
-
expectedPatterns: ["skipped - No ESLint config found"],
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
name: "config-errors/missing-name handles missing project name",
|
|
115
|
-
config: "tests/e2e/projects/config-errors/missing-name/check.toml",
|
|
116
|
-
command: "check",
|
|
117
|
-
expectedExitCode: 0,
|
|
118
|
-
expectedPatterns: ["✓ All checks passed"],
|
|
119
|
-
},
|
|
120
|
-
// ============================================================
|
|
121
|
-
// Config errors
|
|
122
|
-
// ============================================================
|
|
123
|
-
{
|
|
124
|
-
name: "config-errors/invalid-toml rejects invalid TOML",
|
|
125
|
-
config: "tests/e2e/projects/config-errors/invalid-toml/check.toml",
|
|
126
|
-
command: "validate",
|
|
127
|
-
expectedExitCode: 2,
|
|
128
|
-
expectedPatterns: ["✗ Invalid:", "Failed to parse"],
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
name: "config-errors/broken-eslint reports ESLint config error",
|
|
132
|
-
config: "tests/e2e/projects/config-errors/broken-eslint/check.toml",
|
|
133
|
-
command: "check",
|
|
134
|
-
expectedExitCode: 1,
|
|
135
|
-
expectedPatterns: ["ESLint error"],
|
|
136
|
-
},
|
|
137
|
-
// ============================================================
|
|
138
|
-
// Audit command
|
|
139
|
-
// ============================================================
|
|
140
|
-
{
|
|
141
|
-
name: "audit finds missing Ruff config",
|
|
142
|
-
config: "tests/e2e/projects/typescript/default/check.toml",
|
|
143
|
-
command: "audit",
|
|
144
|
-
expectedExitCode: 1,
|
|
145
|
-
expectedPatterns: ["✗ Ruff Config:", "Ruff config not found"],
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
name: "audit passes when ESLint config exists",
|
|
149
|
-
config: "tests/e2e/projects/audit-warnings/eslint-mismatch/check.toml",
|
|
150
|
-
command: "audit",
|
|
151
|
-
expectedExitCode: 0,
|
|
152
|
-
expectedPatterns: ["✓ ESLint Config: passed"],
|
|
153
|
-
},
|
|
154
|
-
// ============================================================
|
|
155
|
-
// Validate command
|
|
156
|
-
// ============================================================
|
|
157
|
-
{
|
|
158
|
-
name: "validate accepts valid config",
|
|
159
|
-
config: "tests/e2e/projects/typescript/clean-project/check.toml",
|
|
160
|
-
command: "validate",
|
|
161
|
-
expectedExitCode: 0,
|
|
162
|
-
expectedPatterns: ["✓ Valid:"],
|
|
163
|
-
},
|
|
164
|
-
// ============================================================
|
|
165
|
-
// Complexity limits (not implemented yet - should skip)
|
|
166
|
-
// ============================================================
|
|
167
|
-
{
|
|
168
|
-
name: "limits-file-lines skips (not implemented)",
|
|
169
|
-
config: "tests/e2e/projects/limits-file-lines/check.toml",
|
|
170
|
-
command: "check",
|
|
171
|
-
expectedExitCode: 0,
|
|
172
|
-
expectedPatterns: ["○ CODE"],
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
name: "limits-function-lines skips (not implemented)",
|
|
176
|
-
config: "tests/e2e/projects/limits-function-lines/check.toml",
|
|
177
|
-
command: "check",
|
|
178
|
-
expectedExitCode: 0,
|
|
179
|
-
expectedPatterns: ["○ CODE"],
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
name: "limits-nesting skips (not implemented)",
|
|
183
|
-
config: "tests/e2e/projects/limits-nesting/check.toml",
|
|
184
|
-
command: "check",
|
|
185
|
-
expectedExitCode: 0,
|
|
186
|
-
expectedPatterns: ["○ CODE"],
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
name: "limits-parameters skips (not implemented)",
|
|
190
|
-
config: "tests/e2e/projects/limits-parameters/check.toml",
|
|
191
|
-
command: "check",
|
|
192
|
-
expectedExitCode: 0,
|
|
193
|
-
expectedPatterns: ["○ CODE"],
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
name: "limits-pass skips (not implemented)",
|
|
197
|
-
config: "tests/e2e/projects/limits-pass/check.toml",
|
|
198
|
-
command: "check",
|
|
199
|
-
expectedExitCode: 0,
|
|
200
|
-
expectedPatterns: ["○ CODE"],
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
name: "limits-skip skips (not implemented)",
|
|
204
|
-
config: "tests/e2e/projects/limits-skip/check.toml",
|
|
205
|
-
command: "check",
|
|
206
|
-
expectedExitCode: 0,
|
|
207
|
-
expectedPatterns: ["○ CODE"],
|
|
208
|
-
},
|
|
209
|
-
// ============================================================
|
|
210
|
-
// Requirements (files check not implemented yet)
|
|
211
|
-
// ============================================================
|
|
212
|
-
{
|
|
213
|
-
name: "requirements-skip with no linters",
|
|
214
|
-
config: "tests/e2e/projects/requirements-skip/check.toml",
|
|
215
|
-
command: "check",
|
|
216
|
-
expectedExitCode: 0,
|
|
217
|
-
expectedPatterns: ["○ CODE"],
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
name: "requirements-missing-files with no linters",
|
|
221
|
-
config: "tests/e2e/projects/requirements-missing-files/check.toml",
|
|
222
|
-
command: "check",
|
|
223
|
-
expectedExitCode: 0,
|
|
224
|
-
expectedPatterns: ["○ CODE"],
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
name: "requirements-pass with no linters",
|
|
228
|
-
config: "tests/e2e/projects/requirements-pass/check.toml",
|
|
229
|
-
command: "check",
|
|
230
|
-
expectedExitCode: 0,
|
|
231
|
-
expectedPatterns: ["○ CODE"],
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
name: "requirements-missing-tools with no linters",
|
|
235
|
-
config: "tests/e2e/projects/requirements-missing-tools/check.toml",
|
|
236
|
-
command: "check",
|
|
237
|
-
expectedExitCode: 0,
|
|
238
|
-
expectedPatterns: ["○ CODE"],
|
|
239
|
-
},
|
|
240
|
-
// ============================================================
|
|
241
|
-
// Additional edge cases
|
|
242
|
-
// ============================================================
|
|
243
|
-
{
|
|
244
|
-
name: "typescript/symlinks handles symlinks",
|
|
245
|
-
config: "tests/e2e/projects/typescript/symlinks/check.toml",
|
|
246
|
-
command: "check",
|
|
247
|
-
expectedExitCode: 1,
|
|
248
|
-
expectedPatterns: ["✗ ESLint:", "actual.ts"],
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
name: "typescript/with-ignored-dirs finds violations",
|
|
252
|
-
config: "tests/e2e/projects/typescript/with-ignored-dirs/check.toml",
|
|
253
|
-
command: "check",
|
|
254
|
-
expectedExitCode: 1,
|
|
255
|
-
expectedPatterns: ["✗ ESLint:"],
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
name: "typescript/with-files-config runs ESLint",
|
|
259
|
-
config: "tests/e2e/projects/typescript/with-files-config/check.toml",
|
|
260
|
-
command: "check",
|
|
261
|
-
expectedExitCode: 1,
|
|
262
|
-
expectedPatterns: ["✗ ESLint:"],
|
|
263
|
-
},
|
|
264
|
-
// ============================================================
|
|
265
|
-
// JSON output format
|
|
266
|
-
// ============================================================
|
|
267
|
-
{
|
|
268
|
-
name: "check with JSON output format",
|
|
269
|
-
config: "tests/e2e/projects/typescript/default/check.toml",
|
|
270
|
-
command: "check",
|
|
271
|
-
format: "json",
|
|
272
|
-
expectedExitCode: 1,
|
|
273
|
-
expectedPatterns: ['"version":', '"domains":', '"code":', '"violations":'],
|
|
274
|
-
},
|
|
275
|
-
{
|
|
276
|
-
name: "validate with JSON output format - valid",
|
|
277
|
-
config: "tests/e2e/projects/typescript/clean-project/check.toml",
|
|
278
|
-
command: "validate",
|
|
279
|
-
format: "json",
|
|
280
|
-
expectedExitCode: 0,
|
|
281
|
-
expectedPatterns: ['"valid": true', '"configPath":'],
|
|
282
|
-
},
|
|
283
|
-
{
|
|
284
|
-
name: "validate with JSON output format - invalid",
|
|
285
|
-
config: "tests/e2e/projects/config-errors/invalid-toml/check.toml",
|
|
286
|
-
command: "validate",
|
|
287
|
-
format: "json",
|
|
288
|
-
expectedExitCode: 2,
|
|
289
|
-
expectedPatterns: ['"valid": false', '"error":'],
|
|
290
|
-
},
|
|
291
|
-
{
|
|
292
|
-
name: "audit with JSON output format",
|
|
293
|
-
config: "tests/e2e/projects/typescript/clean-project/check.toml",
|
|
294
|
-
command: "audit",
|
|
295
|
-
format: "json",
|
|
296
|
-
expectedExitCode: 0,
|
|
297
|
-
expectedPatterns: ['"version":', '"domains":', '"summary":'],
|
|
298
|
-
},
|
|
299
|
-
// ============================================================
|
|
300
|
-
// Python clean project
|
|
301
|
-
// ============================================================
|
|
302
|
-
{
|
|
303
|
-
name: "python/clean-project passes Ruff checks",
|
|
304
|
-
config: "tests/e2e/projects/python/clean-project/check.toml",
|
|
305
|
-
command: "check",
|
|
306
|
-
expectedExitCode: 0,
|
|
307
|
-
expectedPatterns: ["✓ Ruff: passed", "✓ All checks passed"],
|
|
308
|
-
},
|
|
309
|
-
// ============================================================
|
|
310
|
-
// Mixed TypeScript + Python project
|
|
311
|
-
// ============================================================
|
|
312
|
-
{
|
|
313
|
-
name: "mixed-ts-python catches violations in both languages",
|
|
314
|
-
config: "tests/e2e/projects/mixed-ts-python/check.toml",
|
|
315
|
-
command: "check",
|
|
316
|
-
expectedExitCode: 1,
|
|
317
|
-
expectedPatterns: ["✗ ESLint:", "✗ Ruff:", "no-var", "F401"],
|
|
318
|
-
},
|
|
319
|
-
// ============================================================
|
|
320
|
-
// TypeScript type checking - clean
|
|
321
|
-
// ============================================================
|
|
322
|
-
{
|
|
323
|
-
name: "typescript/tsc-clean passes type checking",
|
|
324
|
-
config: "tests/e2e/projects/typescript/tsc-clean/check.toml",
|
|
325
|
-
command: "check",
|
|
326
|
-
expectedExitCode: 0,
|
|
327
|
-
expectedPatterns: ["✓ TypeScript: passed"],
|
|
328
|
-
},
|
|
329
|
-
// ============================================================
|
|
330
|
-
// Custom ESLint rules
|
|
331
|
-
// ============================================================
|
|
332
|
-
{
|
|
333
|
-
name: "typescript/with-custom-rules catches custom rule violations",
|
|
334
|
-
config: "tests/e2e/projects/typescript/with-custom-rules/check.toml",
|
|
335
|
-
command: "check",
|
|
336
|
-
expectedExitCode: 1,
|
|
337
|
-
expectedPatterns: ["✗ ESLint:", "no-console", "eqeqeq"],
|
|
338
|
-
},
|
|
339
|
-
// ============================================================
|
|
340
|
-
// Ruff with select/ignore
|
|
341
|
-
// ============================================================
|
|
342
|
-
{
|
|
343
|
-
name: "python/with-select-ignore uses select and ignore",
|
|
344
|
-
config: "tests/e2e/projects/python/with-select-ignore/check.toml",
|
|
345
|
-
command: "check",
|
|
346
|
-
expectedExitCode: 1,
|
|
347
|
-
expectedPatterns: ["✗ Ruff:", "F401"],
|
|
348
|
-
notExpectedPatterns: ["E501"],
|
|
349
|
-
},
|
|
350
|
-
// ============================================================
|
|
351
|
-
// Missing config file
|
|
352
|
-
// ============================================================
|
|
353
|
-
{
|
|
354
|
-
name: "config-errors/no-config returns error for missing config",
|
|
355
|
-
config: "tests/e2e/projects/config-errors/no-config/nonexistent.toml",
|
|
356
|
-
command: "check",
|
|
357
|
-
expectedExitCode: 2,
|
|
358
|
-
expectedPatterns: ["Config error:", "not found"],
|
|
359
|
-
},
|
|
360
|
-
];
|
|
361
|
-
function runCli(command, config, format = "text") {
|
|
362
|
-
const formatArg = format !== "text" ? ` -f ${format}` : "";
|
|
363
|
-
const cmd = command === "validate"
|
|
364
|
-
? `node dist/cli.js validate -c "${config}"${formatArg}`
|
|
365
|
-
: `node dist/cli.js code ${command} -c "${config}"${formatArg}`;
|
|
366
|
-
try {
|
|
367
|
-
const stdout = execSync(cmd, {
|
|
368
|
-
encoding: "utf-8",
|
|
369
|
-
stdio: ["pipe", "pipe", "pipe"],
|
|
370
|
-
});
|
|
371
|
-
return { stdout, exitCode: 0 };
|
|
372
|
-
}
|
|
373
|
-
catch (error) {
|
|
374
|
-
const execError = error;
|
|
375
|
-
const stdout = (execError.stdout || "") + (execError.stderr || "");
|
|
376
|
-
return { stdout, exitCode: execError.status ?? 1 };
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
describe("E2E Tests", () => {
|
|
380
|
-
for (const tc of testCases) {
|
|
381
|
-
it.concurrent(tc.name, async () => {
|
|
382
|
-
const { stdout, exitCode } = runCli(tc.command, tc.config, tc.format);
|
|
383
|
-
// Check exit code
|
|
384
|
-
expect(exitCode, `Expected exit code ${tc.expectedExitCode}, got ${exitCode}\nOutput:\n${stdout}`).toBe(tc.expectedExitCode);
|
|
385
|
-
// Check expected patterns
|
|
386
|
-
for (const pattern of tc.expectedPatterns) {
|
|
387
|
-
expect(stdout, `Expected output to contain "${pattern}"\nOutput:\n${stdout}`).toContain(pattern);
|
|
388
|
-
}
|
|
389
|
-
// Check patterns that should NOT be present
|
|
390
|
-
if (tc.notExpectedPatterns) {
|
|
391
|
-
for (const pattern of tc.notExpectedPatterns) {
|
|
392
|
-
expect(stdout, `Expected output to NOT contain "${pattern}"\nOutput:\n${stdout}`).not.toContain(pattern);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
//# sourceMappingURL=e2e.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"e2e.test.js","sourceRoot":"","sources":["../../../tests/e2e/e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAoB9C,MAAM,SAAS,GAAe;IAC5B,+DAA+D;IAC/D,+BAA+B;IAC/B,+DAA+D;IAC/D;QACE,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,uCAAuC;QAC/C,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,oBAAoB,CAAC;KACjE;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,kDAAkD;QAC1D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;KAC1C;IACD;QACE,IAAI,EAAE,yDAAyD;QAC/D,MAAM,EAAE,2DAA2D;QACnE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC;KACnF;IACD;QACE,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE,sDAAsD;QAC9D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,0BAA0B,EAAE,eAAe,EAAE,sBAAsB,CAAC;KACxF;IACD;QACE,IAAI,EAAE,oDAAoD;QAC1D,MAAM,EAAE,wDAAwD;QAChE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,0BAA0B,CAAC;KAC/F;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,MAAM,EAAE,8CAA8C;QACtD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC;KAC7D;IAED,+DAA+D;IAC/D,uBAAuB;IACvB,+DAA+D;IAC/D;QACE,IAAI,EAAE,4CAA4C;QAClD,MAAM,EAAE,wDAAwD;QAChE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;KAC9D;IACD;QACE,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,sDAAsD;QAC9D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,kBAAkB,CAAC;QACtC,mBAAmB,EAAE,CAAC,YAAY,CAAC;KACpC;IAED,+DAA+D;IAC/D,iBAAiB;IACjB,+DAA+D;IAC/D;QACE,IAAI,EAAE,2DAA2D;QACjE,MAAM,EAAE,8DAA8D;QACtE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACnD,mBAAmB,EAAE,CAAC,QAAQ,CAAC;KAChC;IACD;QACE,IAAI,EAAE,qDAAqD;QAC3D,MAAM,EAAE,0DAA0D;QAClE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACnD,mBAAmB,EAAE,CAAC,MAAM,CAAC;KAC9B;IACD;QACE,IAAI,EAAE,6CAA6C;QACnD,MAAM,EAAE,gDAAgD;QACxD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IAED,+DAA+D;IAC/D,2BAA2B;IAC3B,+DAA+D;IAC/D;QACE,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,2DAA2D;QACnE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;KAC9C;IAED,+DAA+D;IAC/D,wBAAwB;IACxB,+DAA+D;IAC/D;QACE,IAAI,EAAE,sDAAsD;QAC5D,MAAM,EAAE,wDAAwD;QAChE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,kCAAkC,CAAC;KACvD;IACD;QACE,IAAI,EAAE,yDAAyD;QAC/D,MAAM,EAAE,0DAA0D;QAClE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,qBAAqB,CAAC;KAC1C;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAC/D;QACE,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,0DAA0D;QAClE,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACpD;IACD;QACE,IAAI,EAAE,yDAAyD;QAC/D,MAAM,EAAE,2DAA2D;QACnE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,cAAc,CAAC;KACnC;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAC/D;QACE,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,kDAAkD;QAC1D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KAC9D;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,MAAM,EAAE,8DAA8D;QACtE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,yBAAyB,CAAC;KAC9C;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAC/D;QACE,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,wDAAwD;QAChE,OAAO,EAAE,UAAU;QACnB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,UAAU,CAAC;KAC/B;IAED,+DAA+D;IAC/D,wDAAwD;IACxD,+DAA+D;IAC/D;QACE,IAAI,EAAE,2CAA2C;QACjD,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,qDAAqD;QAC7D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,wCAAwC;QAC9C,MAAM,EAAE,8CAA8C;QACtD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,2CAA2C;QACjD,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,MAAM,EAAE,2CAA2C;QACnD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,qCAAqC;QAC3C,MAAM,EAAE,2CAA2C;QACnD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IAED,+DAA+D;IAC/D,iDAAiD;IACjD,+DAA+D;IAC/D;QACE,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,MAAM,EAAE,0DAA0D;QAClE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,iDAAiD;QACzD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,MAAM,EAAE,0DAA0D;QAClE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,QAAQ,CAAC;KAC7B;IAED,+DAA+D;IAC/D,wBAAwB;IACxB,+DAA+D;IAC/D;QACE,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE,mDAAmD;QAC3D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC;KAC7C;IACD;QACE,IAAI,EAAE,+CAA+C;QACrD,MAAM,EAAE,4DAA4D;QACpE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,CAAC;KAChC;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,4DAA4D;QACpE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,CAAC;KAChC;IAED,+DAA+D;IAC/D,qBAAqB;IACrB,+DAA+D;IAC/D;QACE,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,kDAAkD;QAC1D,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,wDAAwD;QAChE,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KACrD;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,MAAM,EAAE,0DAA0D;QAClE,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;KACjD;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,wDAAwD;QAChE,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;QACd,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;KAC7D;IAED,+DAA+D;IAC/D,uBAAuB;IACvB,+DAA+D;IAC/D;QACE,IAAI,EAAE,yCAAyC;QAC/C,MAAM,EAAE,oDAAoD;QAC5D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;KAC5D;IAED,+DAA+D;IAC/D,oCAAoC;IACpC,+DAA+D;IAC/D;QACE,IAAI,EAAE,sDAAsD;QAC5D,MAAM,EAAE,+CAA+C;QACvD,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;KAC7D;IAED,+DAA+D;IAC/D,mCAAmC;IACnC,+DAA+D;IAC/D;QACE,IAAI,EAAE,2CAA2C;QACjD,MAAM,EAAE,oDAAoD;QAC5D,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,sBAAsB,CAAC;KAC3C;IAED,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAC/D;QACE,IAAI,EAAE,6DAA6D;QACnE,MAAM,EAAE,4DAA4D;QACpE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC;KACxD;IAED,+DAA+D;IAC/D,0BAA0B;IAC1B,+DAA+D;IAC/D;QACE,IAAI,EAAE,kDAAkD;QACxD,MAAM,EAAE,yDAAyD;QACjE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;QACrC,mBAAmB,EAAE,CAAC,MAAM,CAAC;KAC9B;IAED,+DAA+D;IAC/D,sBAAsB;IACtB,+DAA+D;IAC/D;QACE,IAAI,EAAE,0DAA0D;QAChE,MAAM,EAAE,6DAA6D;QACrE,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC;KACjD;CACF,CAAC;AAEF,SAAS,MAAM,CAAC,OAAe,EAAE,MAAc,EAAE,MAAM,GAAG,MAAM;IAC9D,MAAM,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,GAAG,GACP,OAAO,KAAK,UAAU;QACpB,CAAC,CAAC,iCAAiC,MAAM,IAAI,SAAS,EAAE;QACxD,CAAC,CAAC,yBAAyB,OAAO,QAAQ,MAAM,IAAI,SAAS,EAAE,CAAC;IAEpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,KAA8D,CAAC;QACjF,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IACrD,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAEtE,kBAAkB;YAClB,MAAM,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,gBAAgB,SAAS,QAAQ,cAAc,MAAM,EAAE,CAAC,CAAC,IAAI,CACrG,EAAE,CAAC,gBAAgB,CACpB,CAAC;YAEF,0BAA0B;YAC1B,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBAC1C,MAAM,CAAC,MAAM,EAAE,+BAA+B,OAAO,eAAe,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnG,CAAC;YAED,4CAA4C;YAC5C,IAAI,EAAE,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,mBAAmB,EAAE,CAAC;oBAC7C,MAAM,CAAC,MAAM,EAAE,mCAAmC,OAAO,eAAe,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3G,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC"}
|