check-my-toolkit 0.1.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.
- package/README.md +2 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +116 -0
- package/dist/cli.js.map +1 -0
- package/dist/code/audit.d.ts +14 -0
- package/dist/code/audit.d.ts.map +1 -0
- package/dist/code/audit.js +130 -0
- package/dist/code/audit.js.map +1 -0
- package/dist/code/index.d.ts +13 -0
- package/dist/code/index.d.ts.map +1 -0
- package/dist/code/index.js +49 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code/linting.d.ts +10 -0
- package/dist/code/linting.d.ts.map +1 -0
- package/dist/code/linting.js +233 -0
- package/dist/code/linting.js.map +1 -0
- package/dist/code/tools/base.d.ts +52 -0
- package/dist/code/tools/base.d.ts.map +1 -0
- package/dist/code/tools/base.js +83 -0
- package/dist/code/tools/base.js.map +1 -0
- package/dist/code/tools/eslint.d.ts +15 -0
- package/dist/code/tools/eslint.d.ts.map +1 -0
- package/dist/code/tools/eslint.js +79 -0
- package/dist/code/tools/eslint.js.map +1 -0
- package/dist/code/tools/index.d.ts +5 -0
- package/dist/code/tools/index.d.ts.map +1 -0
- package/dist/code/tools/index.js +5 -0
- package/dist/code/tools/index.js.map +1 -0
- package/dist/code/tools/ruff.d.ts +26 -0
- package/dist/code/tools/ruff.d.ts.map +1 -0
- package/dist/code/tools/ruff.js +149 -0
- package/dist/code/tools/ruff.js.map +1 -0
- package/dist/code/tools/tsc.d.ts +20 -0
- package/dist/code/tools/tsc.d.ts.map +1 -0
- package/dist/code/tools/tsc.js +90 -0
- package/dist/code/tools/tsc.js.map +1 -0
- package/dist/code/types.d.ts +6 -0
- package/dist/code/types.d.ts.map +1 -0
- package/dist/code/types.js +132 -0
- package/dist/code/types.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +21 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +118 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +1217 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +190 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/output/index.d.ts +15 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +98 -0
- package/dist/output/index.js.map +1 -0
- package/dist/src/cli.d.ts +3 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +116 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/code/index.d.ts +13 -0
- package/dist/src/code/index.d.ts.map +1 -0
- package/dist/src/code/index.js +53 -0
- package/dist/src/code/index.js.map +1 -0
- package/dist/src/code/tools/base.d.ts +52 -0
- package/dist/src/code/tools/base.d.ts.map +1 -0
- package/dist/src/code/tools/base.js +83 -0
- package/dist/src/code/tools/base.js.map +1 -0
- package/dist/src/code/tools/eslint.d.ts +15 -0
- package/dist/src/code/tools/eslint.d.ts.map +1 -0
- package/dist/src/code/tools/eslint.js +79 -0
- package/dist/src/code/tools/eslint.js.map +1 -0
- package/dist/src/code/tools/index.d.ts +5 -0
- package/dist/src/code/tools/index.d.ts.map +1 -0
- package/dist/src/code/tools/index.js +5 -0
- package/dist/src/code/tools/index.js.map +1 -0
- package/dist/src/code/tools/ruff.d.ts +26 -0
- package/dist/src/code/tools/ruff.d.ts.map +1 -0
- package/dist/src/code/tools/ruff.js +149 -0
- package/dist/src/code/tools/ruff.js.map +1 -0
- package/dist/src/code/tools/tsc.d.ts +21 -0
- package/dist/src/code/tools/tsc.d.ts.map +1 -0
- package/dist/src/code/tools/tsc.js +94 -0
- package/dist/src/code/tools/tsc.js.map +1 -0
- package/dist/src/config/index.d.ts +3 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +3 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/loader.d.ts +22 -0
- package/dist/src/config/loader.d.ts.map +1 -0
- package/dist/src/config/loader.js +124 -0
- package/dist/src/config/loader.js.map +1 -0
- package/dist/src/config/schema.d.ts +503 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +190 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +16 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/output/index.d.ts +15 -0
- package/dist/src/output/index.d.ts.map +1 -0
- package/dist/src/output/index.js +96 -0
- package/dist/src/output/index.js.map +1 -0
- package/dist/src/types/index.d.ts +96 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +89 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/tests/e2e/e2e.test.d.ts +2 -0
- package/dist/tests/e2e/e2e.test.d.ts.map +1 -0
- package/dist/tests/e2e/e2e.test.js +398 -0
- package/dist/tests/e2e/e2e.test.js.map +1 -0
- package/dist/types/index.d.ts +96 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +89 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Zod schema for check.toml configuration
|
|
4
|
+
*/
|
|
5
|
+
// =============================================================================
|
|
6
|
+
// ESLint Configuration
|
|
7
|
+
// =============================================================================
|
|
8
|
+
/** ESLint rule values: "off", "warn", "error", or array like ["error", "always"] */
|
|
9
|
+
const eslintRuleValueSchema = z.union([
|
|
10
|
+
z.enum(["off", "warn", "error"]),
|
|
11
|
+
z.tuple([z.string()]).rest(z.unknown()),
|
|
12
|
+
]);
|
|
13
|
+
/** ESLint configuration */
|
|
14
|
+
const eslintConfigSchema = z
|
|
15
|
+
.object({
|
|
16
|
+
enabled: z.boolean().optional().default(true),
|
|
17
|
+
rules: z.record(z.string(), eslintRuleValueSchema).optional(),
|
|
18
|
+
})
|
|
19
|
+
.optional();
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// Ruff Configuration
|
|
22
|
+
// =============================================================================
|
|
23
|
+
/** Ruff lint configuration */
|
|
24
|
+
const ruffLintSchema = z
|
|
25
|
+
.object({
|
|
26
|
+
select: z.array(z.string()).optional(),
|
|
27
|
+
ignore: z.array(z.string()).optional(),
|
|
28
|
+
})
|
|
29
|
+
.optional();
|
|
30
|
+
/** Ruff configuration */
|
|
31
|
+
const ruffConfigSchema = z
|
|
32
|
+
.object({
|
|
33
|
+
enabled: z.boolean().optional().default(true),
|
|
34
|
+
"line-length": z.number().int().positive().optional(),
|
|
35
|
+
lint: ruffLintSchema,
|
|
36
|
+
})
|
|
37
|
+
.optional();
|
|
38
|
+
// =============================================================================
|
|
39
|
+
// TypeScript Configuration
|
|
40
|
+
// =============================================================================
|
|
41
|
+
/** TypeScript compiler configuration */
|
|
42
|
+
const tscConfigSchema = z
|
|
43
|
+
.object({
|
|
44
|
+
enabled: z.boolean().optional().default(false),
|
|
45
|
+
// Strict type-checking options
|
|
46
|
+
strict: z.boolean().optional(),
|
|
47
|
+
noImplicitAny: z.boolean().optional(),
|
|
48
|
+
strictNullChecks: z.boolean().optional(),
|
|
49
|
+
strictFunctionTypes: z.boolean().optional(),
|
|
50
|
+
strictBindCallApply: z.boolean().optional(),
|
|
51
|
+
strictPropertyInitialization: z.boolean().optional(),
|
|
52
|
+
noImplicitThis: z.boolean().optional(),
|
|
53
|
+
alwaysStrict: z.boolean().optional(),
|
|
54
|
+
// Additional strictness
|
|
55
|
+
noUncheckedIndexedAccess: z.boolean().optional(),
|
|
56
|
+
noImplicitReturns: z.boolean().optional(),
|
|
57
|
+
noFallthroughCasesInSwitch: z.boolean().optional(),
|
|
58
|
+
noUnusedLocals: z.boolean().optional(),
|
|
59
|
+
noUnusedParameters: z.boolean().optional(),
|
|
60
|
+
exactOptionalPropertyTypes: z.boolean().optional(),
|
|
61
|
+
noImplicitOverride: z.boolean().optional(),
|
|
62
|
+
// Permissive options
|
|
63
|
+
allowUnusedLabels: z.boolean().optional(),
|
|
64
|
+
allowUnreachableCode: z.boolean().optional(),
|
|
65
|
+
})
|
|
66
|
+
.optional();
|
|
67
|
+
// =============================================================================
|
|
68
|
+
// Code Complexity / Limits Configuration
|
|
69
|
+
// =============================================================================
|
|
70
|
+
/** Code limits configuration */
|
|
71
|
+
const codeLimitsSchema = z
|
|
72
|
+
.object({
|
|
73
|
+
max_file_lines: z.number().int().positive().optional(),
|
|
74
|
+
max_function_lines: z.number().int().positive().optional(),
|
|
75
|
+
max_parameters: z.number().int().positive().optional(),
|
|
76
|
+
max_nesting_depth: z.number().int().positive().optional(),
|
|
77
|
+
})
|
|
78
|
+
.optional();
|
|
79
|
+
// =============================================================================
|
|
80
|
+
// Code Domain Configuration
|
|
81
|
+
// =============================================================================
|
|
82
|
+
/** Code linting configuration */
|
|
83
|
+
const codeLintingSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
eslint: eslintConfigSchema,
|
|
86
|
+
ruff: ruffConfigSchema,
|
|
87
|
+
})
|
|
88
|
+
.optional();
|
|
89
|
+
/** Code type checking configuration */
|
|
90
|
+
const codeTypesSchema = z
|
|
91
|
+
.object({
|
|
92
|
+
tsc: tscConfigSchema,
|
|
93
|
+
})
|
|
94
|
+
.optional();
|
|
95
|
+
/** Code files configuration */
|
|
96
|
+
const codeFilesSchema = z
|
|
97
|
+
.object({
|
|
98
|
+
repo: z.array(z.string()).optional(),
|
|
99
|
+
tooling: z.array(z.string()).optional(),
|
|
100
|
+
docs: z.array(z.string()).optional(),
|
|
101
|
+
})
|
|
102
|
+
.optional();
|
|
103
|
+
/** Code domain configuration */
|
|
104
|
+
const codeSchema = z
|
|
105
|
+
.object({
|
|
106
|
+
linting: codeLintingSchema,
|
|
107
|
+
types: codeTypesSchema,
|
|
108
|
+
complexity: codeLimitsSchema,
|
|
109
|
+
files: codeFilesSchema,
|
|
110
|
+
})
|
|
111
|
+
.optional();
|
|
112
|
+
// =============================================================================
|
|
113
|
+
// Process Domain Configuration
|
|
114
|
+
// =============================================================================
|
|
115
|
+
/** Process PR configuration */
|
|
116
|
+
const processPrSchema = z
|
|
117
|
+
.object({
|
|
118
|
+
max_files: z.number().optional(),
|
|
119
|
+
max_lines: z.number().optional(),
|
|
120
|
+
min_approvals: z.number().optional(),
|
|
121
|
+
})
|
|
122
|
+
.optional();
|
|
123
|
+
/** Process branches configuration */
|
|
124
|
+
const processBranchesSchema = z
|
|
125
|
+
.object({
|
|
126
|
+
pattern: z.string().optional(),
|
|
127
|
+
})
|
|
128
|
+
.optional();
|
|
129
|
+
/** Process tickets configuration */
|
|
130
|
+
const processTicketsSchema = z
|
|
131
|
+
.object({
|
|
132
|
+
pattern: z.string().optional(),
|
|
133
|
+
check_in: z.array(z.string()).optional(),
|
|
134
|
+
})
|
|
135
|
+
.optional();
|
|
136
|
+
/** Process domain configuration */
|
|
137
|
+
const processSchema = z
|
|
138
|
+
.object({
|
|
139
|
+
pr: processPrSchema,
|
|
140
|
+
branches: processBranchesSchema,
|
|
141
|
+
tickets: processTicketsSchema,
|
|
142
|
+
})
|
|
143
|
+
.optional();
|
|
144
|
+
// =============================================================================
|
|
145
|
+
// Stack Domain Configuration
|
|
146
|
+
// =============================================================================
|
|
147
|
+
/** Stack tools configuration */
|
|
148
|
+
const stackToolsSchema = z.record(z.string()).optional();
|
|
149
|
+
/** Stack domain configuration */
|
|
150
|
+
const stackSchema = z
|
|
151
|
+
.object({
|
|
152
|
+
tools: stackToolsSchema,
|
|
153
|
+
})
|
|
154
|
+
.optional();
|
|
155
|
+
// =============================================================================
|
|
156
|
+
// Full Configuration
|
|
157
|
+
// =============================================================================
|
|
158
|
+
/** Full check.toml schema */
|
|
159
|
+
export const configSchema = z.object({
|
|
160
|
+
code: codeSchema,
|
|
161
|
+
process: processSchema,
|
|
162
|
+
stack: stackSchema,
|
|
163
|
+
});
|
|
164
|
+
/** Default configuration */
|
|
165
|
+
export const defaultConfig = {
|
|
166
|
+
code: {
|
|
167
|
+
linting: {
|
|
168
|
+
eslint: { enabled: false },
|
|
169
|
+
ruff: { enabled: false },
|
|
170
|
+
},
|
|
171
|
+
types: {
|
|
172
|
+
tsc: { enabled: false },
|
|
173
|
+
},
|
|
174
|
+
complexity: {},
|
|
175
|
+
files: {
|
|
176
|
+
repo: [],
|
|
177
|
+
tooling: [],
|
|
178
|
+
docs: [],
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
process: {
|
|
182
|
+
pr: {},
|
|
183
|
+
branches: {},
|
|
184
|
+
tickets: {},
|
|
185
|
+
},
|
|
186
|
+
stack: {
|
|
187
|
+
tools: {},
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,oFAAoF;AACpF,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACxC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,8BAA8B;AAC9B,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,yBAAyB;AACzB,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,IAAI,EAAE,cAAc;CACrB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,wCAAwC;AACxC,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,+BAA+B;IAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3C,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,wBAAwB;IACxB,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClD,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,0BAA0B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClD,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,qBAAqB;IACrB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,gCAAgC;AAChC,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC1D,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,iCAAiC;AACjC,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,gBAAgB;CACvB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,uCAAuC;AACvC,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,GAAG,EAAE,eAAe;CACrB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,+BAA+B;AAC/B,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gCAAgC;AAChC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,eAAe;IACtB,UAAU,EAAE,gBAAgB;IAC5B,KAAK,EAAE,eAAe;CACvB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,+BAA+B;AAC/B,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,qCAAqC;AACrC,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,oCAAoC;AACpC,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,mCAAmC;AACnC,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE,oBAAoB;CAC9B,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF,gCAAgC;AAChC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEzD,iCAAiC;AACjC,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,KAAK,EAAE,gBAAgB;CACxB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACnB,CAAC,CAAC;AAKH,4BAA4B;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SACzB;QACD,KAAK,EAAE;YACL,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;SACxB;QACD,UAAU,EAAE,EAAE;QACd,KAAK,EAAE;YACL,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;SACT;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;IACD,KAAK,EAAE;QACL,KAAK,EAAE,EAAE;KACV;CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* check-my-toolkit - Unified project health checks
|
|
3
|
+
*/
|
|
4
|
+
export { type CheckResult, CheckResult as CheckResultBuilder, type DomainResult, DomainResult as DomainResultBuilder, type DomainStatus, ExitCode, type ExitCodeType, type FullResult, type IToolRunner, type Severity, type Violation, Violation as ViolationBuilder, type ViolationOptions, } from "./types/index.js";
|
|
5
|
+
export { type Config, ConfigError, configSchema, defaultConfig, findConfigFile, getProjectRoot, loadConfig, } from "./config/index.js";
|
|
6
|
+
export { auditCodeConfig, BaseToolRunner, ESLintRunner, RuffRunner, runCodeChecks, TscRunner, } from "./code/index.js";
|
|
7
|
+
export { formatJson, formatOutput, formatText, type OutputFormat, } from "./output/index.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,IAAI,kBAAkB,EACjC,KAAK,YAAY,EACjB,YAAY,IAAI,mBAAmB,EACnC,KAAK,YAAY,EAEjB,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,QAAQ,EAEb,KAAK,SAAS,EAEd,SAAS,IAAI,gBAAgB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,MAAM,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* check-my-toolkit - Unified project health checks
|
|
3
|
+
*/
|
|
4
|
+
// Types
|
|
5
|
+
export { CheckResult as CheckResultBuilder, DomainResult as DomainResultBuilder,
|
|
6
|
+
// Exit codes
|
|
7
|
+
ExitCode,
|
|
8
|
+
// Builders (use these to create instances)
|
|
9
|
+
Violation as ViolationBuilder, } from "./types/index.js";
|
|
10
|
+
// Config
|
|
11
|
+
export { ConfigError, configSchema, defaultConfig, findConfigFile, getProjectRoot, loadConfig, } from "./config/index.js";
|
|
12
|
+
// Code domain
|
|
13
|
+
export { auditCodeConfig, BaseToolRunner, ESLintRunner, RuffRunner, runCodeChecks, TscRunner, } from "./code/index.js";
|
|
14
|
+
// Output
|
|
15
|
+
export { formatJson, formatOutput, formatText, } from "./output/index.js";
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,QAAQ;AACR,OAAO,EAEL,WAAW,IAAI,kBAAkB,EAEjC,YAAY,IAAI,mBAAmB;AAEnC,aAAa;AACb,QAAQ;AAQR,2CAA2C;AAC3C,SAAS,IAAI,gBAAgB,GAE9B,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EAEL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,cAAc;AACd,OAAO,EACL,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,iBAAiB,CAAC;AAEzB,SAAS;AACT,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,GAEX,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type FullResult } from "../types/index.js";
|
|
2
|
+
export type OutputFormat = "text" | "json";
|
|
3
|
+
/**
|
|
4
|
+
* Format output as JSON
|
|
5
|
+
*/
|
|
6
|
+
export declare function formatJson(result: FullResult): string;
|
|
7
|
+
/**
|
|
8
|
+
* Format output as human-readable text
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatText(result: FullResult): string;
|
|
11
|
+
/**
|
|
12
|
+
* Format result based on output format
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatOutput(result: FullResult, format: OutputFormat): string;
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/output/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAS3C;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAuBrD;AAuDD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAQ7E"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/** Icon mapping for domain/check status */
|
|
2
|
+
const STATUS_ICONS = {
|
|
3
|
+
pass: "✓",
|
|
4
|
+
fail: "✗",
|
|
5
|
+
skip: "○",
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Format output as JSON
|
|
9
|
+
*/
|
|
10
|
+
export function formatJson(result) {
|
|
11
|
+
return JSON.stringify(result, null, 2);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Format output as human-readable text
|
|
15
|
+
*/
|
|
16
|
+
export function formatText(result) {
|
|
17
|
+
const lines = [];
|
|
18
|
+
// Header
|
|
19
|
+
lines.push(`check-my-toolkit v${result.version}`);
|
|
20
|
+
lines.push(`Config: ${result.configPath}`);
|
|
21
|
+
lines.push("");
|
|
22
|
+
// Domain results
|
|
23
|
+
for (const [domainName, domain] of Object.entries(result.domains)) {
|
|
24
|
+
lines.push(formatDomainText(domainName, domain));
|
|
25
|
+
lines.push("");
|
|
26
|
+
}
|
|
27
|
+
// Summary
|
|
28
|
+
lines.push("─".repeat(50));
|
|
29
|
+
if (result.summary.totalViolations === 0) {
|
|
30
|
+
lines.push("✓ All checks passed");
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
lines.push(`✗ ${result.summary.totalViolations} violation(s) found`);
|
|
34
|
+
}
|
|
35
|
+
return lines.join("\n");
|
|
36
|
+
}
|
|
37
|
+
function getStatusIcon(status) {
|
|
38
|
+
return STATUS_ICONS[status];
|
|
39
|
+
}
|
|
40
|
+
function getCheckIcon(passed, skipped) {
|
|
41
|
+
if (passed)
|
|
42
|
+
return "✓";
|
|
43
|
+
if (skipped)
|
|
44
|
+
return "○";
|
|
45
|
+
return "✗";
|
|
46
|
+
}
|
|
47
|
+
function formatCheckLine(check) {
|
|
48
|
+
const checkIcon = getCheckIcon(check.passed, check.skipped);
|
|
49
|
+
const duration = check.duration ? ` (${check.duration}ms)` : "";
|
|
50
|
+
if (check.skipped) {
|
|
51
|
+
return [` ${checkIcon} ${check.name}: skipped - ${check.skipReason}${duration}`];
|
|
52
|
+
}
|
|
53
|
+
if (check.passed) {
|
|
54
|
+
return [` ${checkIcon} ${check.name}: passed${duration}`];
|
|
55
|
+
}
|
|
56
|
+
const lines = [` ${checkIcon} ${check.name}: ${check.violations.length} violation(s)${duration}`];
|
|
57
|
+
const violationsToShow = check.violations.slice(0, 10);
|
|
58
|
+
lines.push(...violationsToShow.map(formatViolationText));
|
|
59
|
+
if (check.violations.length > 10) {
|
|
60
|
+
lines.push(` ... and ${check.violations.length - 10} more`);
|
|
61
|
+
}
|
|
62
|
+
return lines;
|
|
63
|
+
}
|
|
64
|
+
function formatDomainText(name, domain) {
|
|
65
|
+
const statusIcon = getStatusIcon(domain.status);
|
|
66
|
+
const lines = [`${statusIcon} ${name.toUpperCase()}`];
|
|
67
|
+
for (const check of domain.checks) {
|
|
68
|
+
lines.push(...formatCheckLine(check));
|
|
69
|
+
}
|
|
70
|
+
return lines.join("\n");
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Format a single violation as text
|
|
74
|
+
*/
|
|
75
|
+
function formatViolationText(v) {
|
|
76
|
+
const location = v.file ? `${v.file}:${v.line ?? 0}:${v.column ?? 0}` : "";
|
|
77
|
+
const code = v.code ? `[${v.code}]` : "";
|
|
78
|
+
const severity = v.severity === "error" ? "error" : "warn";
|
|
79
|
+
if (location) {
|
|
80
|
+
return ` ${location} ${severity} ${code} ${v.message}`;
|
|
81
|
+
}
|
|
82
|
+
return ` ${severity} ${code} ${v.message}`;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Format result based on output format
|
|
86
|
+
*/
|
|
87
|
+
export function formatOutput(result, format) {
|
|
88
|
+
switch (format) {
|
|
89
|
+
case "json":
|
|
90
|
+
return formatJson(result);
|
|
91
|
+
case "text":
|
|
92
|
+
default:
|
|
93
|
+
return formatText(result);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for check-my-toolkit
|
|
3
|
+
*/
|
|
4
|
+
/** Severity levels for violations */
|
|
5
|
+
export type Severity = "error" | "warning";
|
|
6
|
+
/** Status for domain results */
|
|
7
|
+
export type DomainStatus = "pass" | "fail" | "skip";
|
|
8
|
+
/** A single violation found by a check */
|
|
9
|
+
export interface Violation {
|
|
10
|
+
rule: string;
|
|
11
|
+
tool: string;
|
|
12
|
+
file?: string;
|
|
13
|
+
line?: number;
|
|
14
|
+
column?: number;
|
|
15
|
+
message: string;
|
|
16
|
+
code?: string;
|
|
17
|
+
severity: Severity;
|
|
18
|
+
}
|
|
19
|
+
/** Result of running a single check */
|
|
20
|
+
export interface CheckResult {
|
|
21
|
+
name: string;
|
|
22
|
+
rule: string;
|
|
23
|
+
passed: boolean;
|
|
24
|
+
violations: Violation[];
|
|
25
|
+
skipped: boolean;
|
|
26
|
+
skipReason?: string;
|
|
27
|
+
duration?: number;
|
|
28
|
+
}
|
|
29
|
+
/** Result of running all checks in a domain */
|
|
30
|
+
export interface DomainResult {
|
|
31
|
+
domain: string;
|
|
32
|
+
status: DomainStatus;
|
|
33
|
+
checks: CheckResult[];
|
|
34
|
+
violationCount: number;
|
|
35
|
+
}
|
|
36
|
+
/** Full result of cm check or cm audit */
|
|
37
|
+
export interface FullResult {
|
|
38
|
+
version: string;
|
|
39
|
+
configPath: string;
|
|
40
|
+
domains: Record<string, DomainResult>;
|
|
41
|
+
summary: {
|
|
42
|
+
totalViolations: number;
|
|
43
|
+
exitCode: number;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** Interface for tool runners (ESLint, Ruff, tsc, etc.) */
|
|
47
|
+
export interface IToolRunner {
|
|
48
|
+
/** Display name of the tool */
|
|
49
|
+
readonly name: string;
|
|
50
|
+
/** Rule category (e.g., "code.linting") */
|
|
51
|
+
readonly rule: string;
|
|
52
|
+
/** Tool identifier for violations */
|
|
53
|
+
readonly toolId: string;
|
|
54
|
+
/** Config file patterns to look for */
|
|
55
|
+
readonly configFiles: string[];
|
|
56
|
+
/** Run the tool and return check results */
|
|
57
|
+
run(projectRoot: string): Promise<CheckResult>;
|
|
58
|
+
/** Audit that config exists without running the tool */
|
|
59
|
+
audit(projectRoot: string): Promise<CheckResult>;
|
|
60
|
+
}
|
|
61
|
+
/** Options for creating a violation */
|
|
62
|
+
export interface ViolationOptions {
|
|
63
|
+
rule: string;
|
|
64
|
+
tool: string;
|
|
65
|
+
message: string;
|
|
66
|
+
severity: Severity;
|
|
67
|
+
file?: string;
|
|
68
|
+
line?: number;
|
|
69
|
+
column?: number;
|
|
70
|
+
code?: string;
|
|
71
|
+
}
|
|
72
|
+
/** Builder for creating Violation objects */
|
|
73
|
+
export declare const Violation: {
|
|
74
|
+
create(options: ViolationOptions): Violation;
|
|
75
|
+
error(rule: string, tool: string, message: string, code?: string): Violation;
|
|
76
|
+
warning(rule: string, tool: string, message: string, code?: string): Violation;
|
|
77
|
+
};
|
|
78
|
+
/** Builder for creating CheckResult objects */
|
|
79
|
+
export declare const CheckResult: {
|
|
80
|
+
pass(name: string, rule: string, duration?: number): CheckResult;
|
|
81
|
+
fail(name: string, rule: string, violations: Violation[], duration?: number): CheckResult;
|
|
82
|
+
skip(name: string, rule: string, reason: string, duration?: number): CheckResult;
|
|
83
|
+
fromViolations(name: string, rule: string, violations: Violation[], duration?: number): CheckResult;
|
|
84
|
+
};
|
|
85
|
+
/** Builder for creating DomainResult objects */
|
|
86
|
+
export declare const DomainResult: {
|
|
87
|
+
fromChecks(domain: string, checks: CheckResult[]): DomainResult;
|
|
88
|
+
};
|
|
89
|
+
export declare const ExitCode: {
|
|
90
|
+
readonly SUCCESS: 0;
|
|
91
|
+
readonly VIOLATIONS_FOUND: 1;
|
|
92
|
+
readonly CONFIG_ERROR: 2;
|
|
93
|
+
readonly RUNTIME_ERROR: 3;
|
|
94
|
+
};
|
|
95
|
+
export type ExitCodeType = (typeof ExitCode)[keyof typeof ExitCode];
|
|
96
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for check-my-toolkit
|
|
3
|
+
*/
|
|
4
|
+
/** Builder for creating Violation objects */
|
|
5
|
+
export const Violation = {
|
|
6
|
+
create(options) {
|
|
7
|
+
return {
|
|
8
|
+
rule: options.rule,
|
|
9
|
+
tool: options.tool,
|
|
10
|
+
message: options.message,
|
|
11
|
+
severity: options.severity,
|
|
12
|
+
...(options.file && { file: options.file }),
|
|
13
|
+
...(options.line && { line: options.line }),
|
|
14
|
+
...(options.column && { column: options.column }),
|
|
15
|
+
...(options.code && { code: options.code }),
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
error(rule, tool, message, code) {
|
|
19
|
+
return { rule, tool, message, severity: "error", code };
|
|
20
|
+
},
|
|
21
|
+
warning(rule, tool, message, code) {
|
|
22
|
+
return { rule, tool, message, severity: "warning", code };
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
/** Builder for creating CheckResult objects */
|
|
26
|
+
export const CheckResult = {
|
|
27
|
+
pass(name, rule, duration) {
|
|
28
|
+
return {
|
|
29
|
+
name,
|
|
30
|
+
rule,
|
|
31
|
+
passed: true,
|
|
32
|
+
violations: [],
|
|
33
|
+
skipped: false,
|
|
34
|
+
duration,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
fail(name, rule, violations, duration) {
|
|
38
|
+
return {
|
|
39
|
+
name,
|
|
40
|
+
rule,
|
|
41
|
+
passed: false,
|
|
42
|
+
violations,
|
|
43
|
+
skipped: false,
|
|
44
|
+
duration,
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
skip(name, rule, reason, duration) {
|
|
48
|
+
return {
|
|
49
|
+
name,
|
|
50
|
+
rule,
|
|
51
|
+
passed: true,
|
|
52
|
+
violations: [],
|
|
53
|
+
skipped: true,
|
|
54
|
+
skipReason: reason,
|
|
55
|
+
duration,
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
fromViolations(name, rule, violations, duration) {
|
|
59
|
+
return violations.length === 0
|
|
60
|
+
? CheckResult.pass(name, rule, duration)
|
|
61
|
+
: CheckResult.fail(name, rule, violations, duration);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
/** Builder for creating DomainResult objects */
|
|
65
|
+
export const DomainResult = {
|
|
66
|
+
fromChecks(domain, checks) {
|
|
67
|
+
const violationCount = checks.reduce((sum, check) => sum + check.violations.length, 0);
|
|
68
|
+
const allPassed = checks.every((check) => check.passed || check.skipped);
|
|
69
|
+
const allSkipped = checks.length === 0 || checks.every((check) => check.skipped);
|
|
70
|
+
let status = "fail";
|
|
71
|
+
if (allSkipped) {
|
|
72
|
+
status = "skip";
|
|
73
|
+
}
|
|
74
|
+
else if (allPassed) {
|
|
75
|
+
status = "pass";
|
|
76
|
+
}
|
|
77
|
+
return { domain, status, checks, violationCount };
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
// =============================================================================
|
|
81
|
+
// Exit Codes
|
|
82
|
+
// =============================================================================
|
|
83
|
+
export const ExitCode = {
|
|
84
|
+
SUCCESS: 0,
|
|
85
|
+
VIOLATIONS_FOUND: 1,
|
|
86
|
+
CONFIG_ERROR: 2,
|
|
87
|
+
RUNTIME_ERROR: 3,
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e.test.d.ts","sourceRoot":"","sources":["../../../tests/e2e/e2e.test.ts"],"names":[],"mappings":""}
|