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
package/README.md
CHANGED
|
@@ -1,2 +1,158 @@
|
|
|
1
1
|
# check-my-toolkit
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Unified project health checks for code quality, process compliance, and stack validation.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g check-my-toolkit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or use directly with npx:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx check-my-toolkit code check
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
1. Create a `check.toml` configuration file in your project root:
|
|
20
|
+
|
|
21
|
+
```toml
|
|
22
|
+
[code.linting]
|
|
23
|
+
eslint = true
|
|
24
|
+
ruff = true
|
|
25
|
+
|
|
26
|
+
[code.types]
|
|
27
|
+
tsc = true
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. Run checks:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cm code check
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Commands
|
|
37
|
+
|
|
38
|
+
| Command | Description |
|
|
39
|
+
|---------|-------------|
|
|
40
|
+
| `cm code check` | Run linting (ESLint, Ruff) and type checking (tsc) |
|
|
41
|
+
| `cm code audit` | Verify linting and type checking configs exist |
|
|
42
|
+
| `cm validate` | Validate check.toml configuration file |
|
|
43
|
+
|
|
44
|
+
## Configuration
|
|
45
|
+
|
|
46
|
+
Configuration is stored in `check.toml` at your project root.
|
|
47
|
+
|
|
48
|
+
### Code Domain
|
|
49
|
+
|
|
50
|
+
```toml
|
|
51
|
+
[code.linting]
|
|
52
|
+
eslint = true # Run ESLint
|
|
53
|
+
ruff = true # Run Ruff (Python)
|
|
54
|
+
|
|
55
|
+
[code.types]
|
|
56
|
+
tsc = true # Run TypeScript type checking
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Config Discovery
|
|
60
|
+
|
|
61
|
+
The CLI automatically discovers `check.toml` by walking up the directory tree from the current working directory.
|
|
62
|
+
|
|
63
|
+
## Output Formats
|
|
64
|
+
|
|
65
|
+
### Text (default)
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
[code.linting] ESLint
|
|
69
|
+
✗ src/index.ts:10:5 - 'foo' is assigned but never used
|
|
70
|
+
|
|
71
|
+
[code.types] tsc
|
|
72
|
+
✓ No type errors
|
|
73
|
+
|
|
74
|
+
code: 1 violation found
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### JSON
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
cm code check --format json
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"version": "0.1.0",
|
|
86
|
+
"configPath": "/path/to/check.toml",
|
|
87
|
+
"domains": {
|
|
88
|
+
"code": {
|
|
89
|
+
"status": "fail",
|
|
90
|
+
"violationCount": 1,
|
|
91
|
+
"violations": [...]
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"summary": {
|
|
95
|
+
"totalViolations": 1,
|
|
96
|
+
"exitCode": 1
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Exit Codes
|
|
102
|
+
|
|
103
|
+
| Code | Meaning |
|
|
104
|
+
|------|---------|
|
|
105
|
+
| 0 | All checks passed |
|
|
106
|
+
| 1 | Violations found |
|
|
107
|
+
| 2 | Configuration error |
|
|
108
|
+
| 3 | Runtime error |
|
|
109
|
+
|
|
110
|
+
## Supported Tools
|
|
111
|
+
|
|
112
|
+
| Tool | Language | Command |
|
|
113
|
+
|------|----------|---------|
|
|
114
|
+
| ESLint | TypeScript/JavaScript | `eslint .` |
|
|
115
|
+
| Ruff | Python | `ruff check .` |
|
|
116
|
+
| tsc | TypeScript | `tsc --noEmit` |
|
|
117
|
+
|
|
118
|
+
Tools must be installed in your project. If a tool is not found, it will be skipped with a warning.
|
|
119
|
+
|
|
120
|
+
## CI Integration
|
|
121
|
+
|
|
122
|
+
Add to your GitHub Actions workflow:
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
- name: Run code checks
|
|
126
|
+
run: npx check-my-toolkit code check
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Roadmap
|
|
130
|
+
|
|
131
|
+
This toolkit is designed to grow into three domains:
|
|
132
|
+
|
|
133
|
+
- **code** - Linting, type checking, code quality (current focus)
|
|
134
|
+
- **process** - PR checks, branch naming, commit conventions
|
|
135
|
+
- **stack** - Tool versions, environment variables, service dependencies
|
|
136
|
+
|
|
137
|
+
## Development
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Install dependencies
|
|
141
|
+
npm install
|
|
142
|
+
|
|
143
|
+
# Build
|
|
144
|
+
npm run build
|
|
145
|
+
|
|
146
|
+
# Run tests
|
|
147
|
+
npm test
|
|
148
|
+
|
|
149
|
+
# Type check
|
|
150
|
+
npm run typecheck
|
|
151
|
+
|
|
152
|
+
# Lint
|
|
153
|
+
npm run lint
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## License
|
|
157
|
+
|
|
158
|
+
MIT
|
package/dist/cli.js
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { existsSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import chalk from "chalk";
|
|
2
5
|
import { Command } from "commander";
|
|
3
6
|
import { auditCodeConfig, runCodeChecks } from "./code/index.js";
|
|
4
7
|
import { ConfigError, getProjectRoot, loadConfig } from "./config/index.js";
|
|
5
8
|
import { formatOutput } from "./output/index.js";
|
|
6
9
|
import { ExitCode } from "./types/index.js";
|
|
7
|
-
const VERSION = "0.1.
|
|
10
|
+
const VERSION = "0.1.2";
|
|
8
11
|
const program = new Command();
|
|
9
12
|
program
|
|
10
13
|
.name("cm")
|
|
11
14
|
.description("Unified project health checks - code, process, and stack")
|
|
12
15
|
.version(VERSION);
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
.command("check")
|
|
18
|
-
.description("Run linting and type checking tools")
|
|
19
|
-
.option("-c, --config <path>", "Path to check.toml config file")
|
|
20
|
-
.option("-f, --format <format>", "Output format: text or json", "text")
|
|
21
|
-
.action(async (options) => {
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Shared action handlers
|
|
18
|
+
// =============================================================================
|
|
19
|
+
async function runCheck(options) {
|
|
22
20
|
try {
|
|
23
21
|
const { config, configPath } = loadConfig(options.config);
|
|
24
22
|
const projectRoot = getProjectRoot(configPath);
|
|
@@ -39,20 +37,14 @@ codeCommand
|
|
|
39
37
|
}
|
|
40
38
|
catch (error) {
|
|
41
39
|
if (error instanceof ConfigError) {
|
|
42
|
-
console.error(`Config error: ${error.message}`);
|
|
40
|
+
console.error(chalk.red(`Config error: ${error.message}`));
|
|
43
41
|
process.exit(ExitCode.CONFIG_ERROR);
|
|
44
42
|
}
|
|
45
|
-
console.error(`Error: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
43
|
+
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : "Unknown error"}`));
|
|
46
44
|
process.exit(ExitCode.RUNTIME_ERROR);
|
|
47
45
|
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
codeCommand
|
|
51
|
-
.command("audit")
|
|
52
|
-
.description("Verify linting and type checking configs exist")
|
|
53
|
-
.option("-c, --config <path>", "Path to check.toml config file")
|
|
54
|
-
.option("-f, --format <format>", "Output format: text or json", "text")
|
|
55
|
-
.action(async (options) => {
|
|
46
|
+
}
|
|
47
|
+
async function runAudit(options) {
|
|
56
48
|
try {
|
|
57
49
|
const { config, configPath } = loadConfig(options.config);
|
|
58
50
|
const projectRoot = getProjectRoot(configPath);
|
|
@@ -73,15 +65,58 @@ codeCommand
|
|
|
73
65
|
}
|
|
74
66
|
catch (error) {
|
|
75
67
|
if (error instanceof ConfigError) {
|
|
76
|
-
console.error(`Config error: ${error.message}`);
|
|
68
|
+
console.error(chalk.red(`Config error: ${error.message}`));
|
|
77
69
|
process.exit(ExitCode.CONFIG_ERROR);
|
|
78
70
|
}
|
|
79
|
-
console.error(`Error: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
71
|
+
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : "Unknown error"}`));
|
|
80
72
|
process.exit(ExitCode.RUNTIME_ERROR);
|
|
81
73
|
}
|
|
74
|
+
}
|
|
75
|
+
// =============================================================================
|
|
76
|
+
// Top-level commands
|
|
77
|
+
// =============================================================================
|
|
78
|
+
// cm check - runs all domain checks (currently only CODE)
|
|
79
|
+
program
|
|
80
|
+
.command("check")
|
|
81
|
+
.description("Run all checks (linting, type checking)")
|
|
82
|
+
.option("-c, --config <path>", "Path to check.toml config file")
|
|
83
|
+
.option("-f, --format <format>", "Output format: text or json", "text")
|
|
84
|
+
.action(runCheck);
|
|
85
|
+
// cm audit - runs all domain audits (currently only CODE)
|
|
86
|
+
program
|
|
87
|
+
.command("audit")
|
|
88
|
+
.description("Verify all configs exist (no tool execution)")
|
|
89
|
+
.option("-c, --config <path>", "Path to check.toml config file")
|
|
90
|
+
.option("-f, --format <format>", "Output format: text or json", "text")
|
|
91
|
+
.action(runAudit);
|
|
92
|
+
// cm init - create check.toml with defaults
|
|
93
|
+
program
|
|
94
|
+
.command("init")
|
|
95
|
+
.description("Create check.toml with default configuration")
|
|
96
|
+
.option("--force", "Overwrite existing check.toml")
|
|
97
|
+
.action((options) => {
|
|
98
|
+
const configPath = join(process.cwd(), "check.toml");
|
|
99
|
+
if (existsSync(configPath) && !options.force) {
|
|
100
|
+
console.error(chalk.red("check.toml already exists. Use --force to overwrite."));
|
|
101
|
+
process.exit(ExitCode.CONFIG_ERROR);
|
|
102
|
+
}
|
|
103
|
+
const defaultConfig = `# check-my-toolkit configuration
|
|
104
|
+
# https://github.com/chrismlittle123/check-my-toolkit
|
|
105
|
+
|
|
106
|
+
[code.linting.eslint]
|
|
107
|
+
enabled = true
|
|
108
|
+
|
|
109
|
+
[code.linting.ruff]
|
|
110
|
+
enabled = false
|
|
111
|
+
|
|
112
|
+
[code.types.tsc]
|
|
113
|
+
enabled = true
|
|
114
|
+
`;
|
|
115
|
+
writeFileSync(configPath, defaultConfig);
|
|
116
|
+
process.stdout.write(chalk.green(`✓ Created ${configPath}\n`));
|
|
117
|
+
process.exit(ExitCode.SUCCESS);
|
|
82
118
|
});
|
|
83
|
-
|
|
84
|
-
// cm validate - top-level command to validate check.toml
|
|
119
|
+
// cm validate - validate check.toml
|
|
85
120
|
program
|
|
86
121
|
.command("validate")
|
|
87
122
|
.description("Validate check.toml configuration file")
|
|
@@ -94,7 +129,7 @@ program
|
|
|
94
129
|
process.stdout.write(`${JSON.stringify({ valid: true, configPath }, null, 2)}\n`);
|
|
95
130
|
}
|
|
96
131
|
else {
|
|
97
|
-
process.stdout.write(`✓ Valid: ${configPath}\n`);
|
|
132
|
+
process.stdout.write(chalk.green(`✓ Valid: ${configPath}\n`));
|
|
98
133
|
}
|
|
99
134
|
process.exit(ExitCode.SUCCESS);
|
|
100
135
|
}
|
|
@@ -104,13 +139,32 @@ program
|
|
|
104
139
|
process.stdout.write(`${JSON.stringify({ valid: false, error: error.message }, null, 2)}\n`);
|
|
105
140
|
}
|
|
106
141
|
else {
|
|
107
|
-
console.error(`✗ Invalid: ${error.message}`);
|
|
142
|
+
console.error(chalk.red(`✗ Invalid: ${error.message}`));
|
|
108
143
|
}
|
|
109
144
|
process.exit(ExitCode.CONFIG_ERROR);
|
|
110
145
|
}
|
|
111
|
-
console.error(`Error: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
146
|
+
console.error(chalk.red(`Error: ${error instanceof Error ? error.message : "Unknown error"}`));
|
|
112
147
|
process.exit(ExitCode.RUNTIME_ERROR);
|
|
113
148
|
}
|
|
114
149
|
});
|
|
150
|
+
// =============================================================================
|
|
151
|
+
// Code subcommand
|
|
152
|
+
// =============================================================================
|
|
153
|
+
const codeCommand = new Command("code").description("Code quality checks");
|
|
154
|
+
// cm code check
|
|
155
|
+
codeCommand
|
|
156
|
+
.command("check")
|
|
157
|
+
.description("Run linting and type checking tools")
|
|
158
|
+
.option("-c, --config <path>", "Path to check.toml config file")
|
|
159
|
+
.option("-f, --format <format>", "Output format: text or json", "text")
|
|
160
|
+
.action(runCheck);
|
|
161
|
+
// cm code audit
|
|
162
|
+
codeCommand
|
|
163
|
+
.command("audit")
|
|
164
|
+
.description("Verify linting and type checking configs exist")
|
|
165
|
+
.option("-c, --config <path>", "Path to check.toml config file")
|
|
166
|
+
.option("-f, --format <format>", "Output format: text or json", "text")
|
|
167
|
+
.action(runAudit);
|
|
168
|
+
program.addCommand(codeCommand);
|
|
115
169
|
program.parse();
|
|
116
170
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/code/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAEL,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAEL,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuBlD;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAIvB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAIvB"}
|
package/dist/code/index.js
CHANGED
|
@@ -7,20 +7,24 @@ const tsc = new TscRunner();
|
|
|
7
7
|
// Export tool runners for direct access
|
|
8
8
|
export { ESLintRunner, RuffRunner, TscRunner } from "./tools/index.js";
|
|
9
9
|
export { BaseToolRunner } from "./tools/index.js";
|
|
10
|
+
/** Check if a tool is enabled in config */
|
|
11
|
+
function isEnabled(toolConfig) {
|
|
12
|
+
return toolConfig?.enabled === true;
|
|
13
|
+
}
|
|
10
14
|
/**
|
|
11
15
|
* Get enabled tools based on configuration
|
|
12
16
|
*/
|
|
13
17
|
function getEnabledTools(config) {
|
|
18
|
+
const code = config.code ?? {};
|
|
19
|
+
const linting = code.linting ?? {};
|
|
20
|
+
const types = code.types ?? {};
|
|
14
21
|
const tools = [];
|
|
15
|
-
if (
|
|
22
|
+
if (isEnabled(linting.eslint))
|
|
16
23
|
tools.push(eslint);
|
|
17
|
-
|
|
18
|
-
if (config.code?.linting?.ruff?.enabled) {
|
|
24
|
+
if (isEnabled(linting.ruff))
|
|
19
25
|
tools.push(ruff);
|
|
20
|
-
|
|
21
|
-
if (config.code?.types?.tsc?.enabled) {
|
|
26
|
+
if (isEnabled(types.tsc))
|
|
22
27
|
tools.push(tsc);
|
|
23
|
-
}
|
|
24
28
|
return tools;
|
|
25
29
|
}
|
|
26
30
|
/**
|
package/dist/code/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvE,wBAAwB;AACxB,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;AAE5B,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvE,wBAAwB;AACxB,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;AAE5B,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,2CAA2C;AAC3C,SAAS,SAAS,CAAC,UAA6C;IAC9D,OAAO,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,MAAc;IAEd,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACzD,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAmB,EACnB,MAAc;IAEd,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,QAAQ,CACrB,KAAoB,EACpB,WAAmB,EACnB,IAAqB;IAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CACjE,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/code/tools/tsc.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare class TscRunner extends BaseToolRunner {
|
|
|
8
8
|
readonly rule = "code.types";
|
|
9
9
|
readonly toolId = "tsc";
|
|
10
10
|
readonly configFiles: string[];
|
|
11
|
+
private handleTscFailure;
|
|
11
12
|
run(projectRoot: string): Promise<CheckResult>;
|
|
12
13
|
/**
|
|
13
14
|
* Parse tsc output into diagnostics
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../../src/code/tools/tsc.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAW3C;;GAEG;AACH,qBAAa,SAAU,SAAQ,cAAc;IAC3C,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,SAAS;IACxB,QAAQ,CAAC,WAAW,WAAqB;
|
|
1
|
+
{"version":3,"file":"tsc.d.ts","sourceRoot":"","sources":["../../../src/code/tools/tsc.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAW3C;;GAEG;AACH,qBAAa,SAAU,SAAQ,cAAc;IAC3C,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,SAAS;IACxB,QAAQ,CAAC,WAAW,WAAqB;IAEzC,OAAO,CAAC,gBAAgB;IAYlB,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA8BpD;;;OAGG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,oBAAoB;CAQ7B"}
|
package/dist/code/tools/tsc.js
CHANGED
|
@@ -9,10 +9,22 @@ export class TscRunner extends BaseToolRunner {
|
|
|
9
9
|
rule = "code.types";
|
|
10
10
|
toolId = "tsc";
|
|
11
11
|
configFiles = ["tsconfig.json"];
|
|
12
|
+
handleTscFailure(result, projectRoot) {
|
|
13
|
+
const stdout = String(result.stdout ?? "");
|
|
14
|
+
const violations = this.parseOutput(stdout, projectRoot);
|
|
15
|
+
if (violations.length === 0) {
|
|
16
|
+
const errorOutput = stdout || String(result.stderr ?? "");
|
|
17
|
+
if (errorOutput) {
|
|
18
|
+
return [this.createErrorViolation(`TypeScript error: ${errorOutput.slice(0, 500)}`)];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return violations;
|
|
22
|
+
}
|
|
12
23
|
async run(projectRoot) {
|
|
13
24
|
const startTime = Date.now();
|
|
25
|
+
const elapsed = () => Date.now() - startTime;
|
|
14
26
|
if (!this.hasConfig(projectRoot)) {
|
|
15
|
-
return this.skipNoConfig(
|
|
27
|
+
return this.skipNoConfig(elapsed());
|
|
16
28
|
}
|
|
17
29
|
try {
|
|
18
30
|
const result = await execa("npx", ["tsc", "--noEmit"], {
|
|
@@ -20,26 +32,18 @@ export class TscRunner extends BaseToolRunner {
|
|
|
20
32
|
reject: false,
|
|
21
33
|
timeout: 5 * 60 * 1000,
|
|
22
34
|
});
|
|
23
|
-
// tsc exits with 0 if no errors
|
|
24
35
|
if (result.exitCode === 0) {
|
|
25
|
-
return this.pass(
|
|
26
|
-
}
|
|
27
|
-
const violations = this.parseOutput(result.stdout, projectRoot);
|
|
28
|
-
// If we couldn't parse any diagnostics but tsc failed, report raw output
|
|
29
|
-
if (violations.length === 0) {
|
|
30
|
-
const errorOutput = result.stdout || result.stderr;
|
|
31
|
-
if (errorOutput) {
|
|
32
|
-
return this.fail([this.createErrorViolation(`TypeScript error: ${errorOutput.slice(0, 500)}`)], Date.now() - startTime);
|
|
33
|
-
}
|
|
36
|
+
return this.pass(elapsed());
|
|
34
37
|
}
|
|
35
|
-
|
|
38
|
+
const violations = this.handleTscFailure(result, projectRoot);
|
|
39
|
+
return this.fromViolations(violations, elapsed());
|
|
36
40
|
}
|
|
37
41
|
catch (error) {
|
|
38
42
|
if (this.isNotInstalledError(error)) {
|
|
39
|
-
return this.skipNotInstalled(
|
|
43
|
+
return this.skipNotInstalled(elapsed());
|
|
40
44
|
}
|
|
41
45
|
const message = error instanceof Error ? error.message : "Unknown error";
|
|
42
|
-
return this.fail([this.createErrorViolation(`TypeScript error: ${message}`)],
|
|
46
|
+
return this.fail([this.createErrorViolation(`TypeScript error: ${message}`)], elapsed());
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../../src/code/tools/tsc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAW3C;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,cAAc;IAClC,IAAI,GAAG,YAAY,CAAC;IACpB,IAAI,GAAG,YAAY,CAAC;IACpB,MAAM,GAAG,KAAK,CAAC;IACf,WAAW,GAAG,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tsc.js","sourceRoot":"","sources":["../../../src/code/tools/tsc.ts"],"names":[],"mappings":"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"}
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Config } from "./schema.js";
|
|
2
|
-
|
|
2
|
+
interface LoadConfigResult {
|
|
3
3
|
config: Config;
|
|
4
4
|
configPath: string;
|
|
5
5
|
}
|
|
@@ -18,4 +18,5 @@ export declare function loadConfig(configPath?: string): LoadConfigResult;
|
|
|
18
18
|
* Get the project root directory (where check.toml is located)
|
|
19
19
|
*/
|
|
20
20
|
export declare function getProjectRoot(configPath: string): string;
|
|
21
|
+
export {};
|
|
21
22
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAA+B,MAAM,aAAa,CAAC;AAEvE,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAA+B,MAAM,aAAa,CAAC;AAEvE,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAe9E;AAyCD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAMhE;AAsDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|