check-my-toolkit 0.28.1 → 0.28.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.
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/code/tools/tests.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQ3C,yCAAyC;AACzC,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,cAAc;IAC7C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAM;IAEpC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIjB,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCpD,OAAO,CAAC,gCAAgC;IAmBxC,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACY,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA6ChE"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/code/tools/tests.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAyC3C,yCAAyC;AACzC,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,cAAc;IAC7C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAM;IAEpC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIjB,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmCpD,OAAO,CAAC,gCAAgC;IAmBxC,OAAO,CAAC,oBAAoB;IAS5B;;;OAGG;IACY,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA8ChE"}
@@ -4,6 +4,37 @@ import { BaseToolRunner } from "./base.js";
4
4
  const DEFAULT_PATTERN = "**/*.{test,spec}.{ts,tsx,js,jsx,py}";
5
5
  /** Default minimum number of test files required */
6
6
  const DEFAULT_MIN_TEST_FILES = 1;
7
+ /**
8
+ * Split a pattern string on top-level commas, preserving braces.
9
+ * e.g., "**\/*.{test,spec}.ts,**\/test_*.py" becomes:
10
+ * ["**\/*.{test,spec}.ts", "**\/test_*.py"]
11
+ */
12
+ function splitPatterns(pattern) {
13
+ const patterns = [];
14
+ let current = "";
15
+ let braceDepth = 0;
16
+ for (const char of pattern) {
17
+ if (char === "{") {
18
+ braceDepth++;
19
+ }
20
+ else if (char === "}") {
21
+ braceDepth--;
22
+ }
23
+ if (char === "," && braceDepth === 0) {
24
+ if (current.trim()) {
25
+ patterns.push(current.trim());
26
+ }
27
+ current = "";
28
+ }
29
+ else {
30
+ current += char;
31
+ }
32
+ }
33
+ if (current.trim()) {
34
+ patterns.push(current.trim());
35
+ }
36
+ return patterns;
37
+ }
7
38
  /**
8
39
  * Tests validation runner for checking test file existence
9
40
  * Validates that test files exist and match expected patterns
@@ -35,10 +66,12 @@ export class TestsRunner extends BaseToolRunner {
35
66
  async run(projectRoot) {
36
67
  const startTime = Date.now();
37
68
  const pattern = this.getPattern();
69
+ const patterns = splitPatterns(pattern);
38
70
  const minTestFiles = this.getMinTestFiles();
39
71
  try {
40
- // Find all test files matching the pattern
41
- const testFiles = await glob(pattern, {
72
+ // Find all test files matching the pattern(s)
73
+ // glob accepts an array of patterns
74
+ const testFiles = await glob(patterns, {
42
75
  cwd: projectRoot,
43
76
  ignore: ["**/node_modules/**", "**/.git/**"],
44
77
  nodir: true,
@@ -87,10 +120,11 @@ export class TestsRunner extends BaseToolRunner {
87
120
  // Tests validation doesn't require external config files
88
121
  // Just verify the pattern is valid by attempting to use it
89
122
  const pattern = this.getPattern();
123
+ const patterns = splitPatterns(pattern);
90
124
  try {
91
125
  // Validate pattern by attempting a glob with early termination
92
126
  // Use iterator to avoid scanning all files - we just need to check pattern is valid
93
- const iterator = glob.iterate(pattern, {
127
+ const iterator = glob.iterate(patterns, {
94
128
  cwd: projectRoot,
95
129
  ignore: ["**/node_modules/**"],
96
130
  nodir: true,
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../src/code/tools/tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../../src/code/tools/tests.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "check-my-toolkit",
3
- "version": "0.28.1",
3
+ "version": "0.28.2",
4
4
  "description": "Unified project health checks - code, process, and stack",
5
5
  "type": "module",
6
6
  "bin": {