codeguard-testgen 1.0.7 โ 1.0.8
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 +262 -5
- package/dist/codebaseIndexer.d.ts.map +1 -1
- package/dist/codebaseIndexer.js +2 -13
- package/dist/codebaseIndexer.js.map +1 -1
- package/dist/fuzzyMatcher.d.ts +53 -0
- package/dist/fuzzyMatcher.d.ts.map +1 -0
- package/dist/fuzzyMatcher.js +349 -0
- package/dist/fuzzyMatcher.js.map +1 -0
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2158 -535
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/promptService.d.ts +0 -65
- package/dist/promptService.d.ts.map +0 -1
- package/dist/promptService.js +0 -173
- package/dist/promptService.js.map +0 -1
- package/dist/prompts.d.ts +0 -12
- package/dist/prompts.d.ts.map +0 -1
- package/dist/prompts.js +0 -470
- package/dist/prompts.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
AI-powered unit test generator with AST analysis for TypeScript/JavaScript projects. Automatically generates comprehensive Jest tests using Claude, OpenAI, or Gemini.
|
|
4
4
|
|
|
5
|
+
> **โก NEW: Auto Mode** - Automatically detect and test changed functions based on git diff! Perfect for CI/CD pipelines.
|
|
6
|
+
> ```bash
|
|
7
|
+
> testgen auto
|
|
8
|
+
> ```
|
|
9
|
+
|
|
5
10
|
## Features
|
|
6
11
|
|
|
7
12
|
- ๐ค **AI-Powered**: Uses Claude, OpenAI GPT, or Google Gemini to generate intelligent tests
|
|
8
13
|
- ๐ **AST Analysis**: Deep code analysis using Babel parser for accurate test generation
|
|
9
14
|
- ๐ฆ **Codebase Indexing**: Optional caching for 100x faster analysis on large projects
|
|
10
|
-
- ๐ฏ **Multiple Modes**: File-wise, folder-wise,
|
|
15
|
+
- ๐ฏ **Multiple Modes**: File-wise, folder-wise, function-wise, or auto test generation
|
|
16
|
+
- โก **Auto Mode**: Detects git changes and automatically generates tests for modified functions
|
|
11
17
|
- โ
**Smart Validation**: Detects incomplete tests, missing assertions, and legitimate failures
|
|
12
18
|
- ๐ **Iterative Fixing**: Automatically fixes import errors, missing mocks, and test issues
|
|
13
19
|
- ๐ **TypeScript Support**: Full support for TypeScript types, interfaces, and decorators
|
|
@@ -39,9 +45,9 @@ Create a `codeguard.json` file in your project root:
|
|
|
39
45
|
"gemini": "..."
|
|
40
46
|
},
|
|
41
47
|
"models": {
|
|
42
|
-
"claude": "claude-sonnet-4-
|
|
43
|
-
"openai": "gpt-
|
|
44
|
-
"gemini": "gemini-2.0-flash-
|
|
48
|
+
"claude": "claude-sonnet-4-20250514",
|
|
49
|
+
"openai": "gpt-4o-mini",
|
|
50
|
+
"gemini": "gemini-2.0-flash-exp"
|
|
45
51
|
},
|
|
46
52
|
"testDir": "src/tests",
|
|
47
53
|
"extensions": [".ts", ".tsx", ".js", ".jsx"],
|
|
@@ -66,8 +72,89 @@ Create a `codeguard.json` file in your project root:
|
|
|
66
72
|
- **OpenAI**: https://platform.openai.com/api-keys
|
|
67
73
|
- **Gemini (Google)**: https://makersuite.google.com/app/apikey
|
|
68
74
|
|
|
75
|
+
|
|
76
|
+
## Quick Reference
|
|
77
|
+
|
|
78
|
+
| Command | Description | Use Case |
|
|
79
|
+
|---------|-------------|----------|
|
|
80
|
+
| `testgen auto` | Auto-detect and test changed functions | CI/CD, daily development |
|
|
81
|
+
| `testgen` | Interactive mode - choose mode manually | Exploratory testing |
|
|
82
|
+
| Mode 1: File-wise | Generate tests for entire file | New files, comprehensive coverage |
|
|
83
|
+
| Mode 2: Folder-wise | Generate tests for all files in folder | Batch processing |
|
|
84
|
+
| Mode 3: Function-wise | Generate tests for specific functions | Incremental testing |
|
|
85
|
+
|
|
69
86
|
## Usage
|
|
70
87
|
|
|
88
|
+
### Auto Mode (Recommended for CI/CD)
|
|
89
|
+
|
|
90
|
+
Automatically detect and test changed functions based on git diff:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
testgen auto
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
or
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
codeguard auto
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**How it works:**
|
|
103
|
+
1. Reads both `git diff --staged` and `git diff` to find all changes
|
|
104
|
+
2. Identifies which files have been modified
|
|
105
|
+
3. Uses AI to detect which exported functions have changes
|
|
106
|
+
4. Automatically generates or updates tests for those functions
|
|
107
|
+
5. No user interaction required - perfect for automation!
|
|
108
|
+
|
|
109
|
+
**Example workflow:**
|
|
110
|
+
```bash
|
|
111
|
+
# Make changes to your code
|
|
112
|
+
vim src/services/user.service.ts
|
|
113
|
+
|
|
114
|
+
# Stage your changes
|
|
115
|
+
git add src/services/user.service.ts
|
|
116
|
+
|
|
117
|
+
# Auto-generate tests for changed functions
|
|
118
|
+
testgen auto
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Output:**
|
|
122
|
+
```
|
|
123
|
+
๐งช AI-Powered Unit Test Generator with AST Analysis
|
|
124
|
+
|
|
125
|
+
๐ค Auto Mode: Detecting changes via git diff
|
|
126
|
+
|
|
127
|
+
โ
Using OPENAI (gpt-4o-mini) with AST-powered analysis
|
|
128
|
+
|
|
129
|
+
๐ Scanning git changes...
|
|
130
|
+
|
|
131
|
+
๐ Found changes in 2 file(s)
|
|
132
|
+
|
|
133
|
+
๐ Processing: src/services/user.service.ts
|
|
134
|
+
๐ฆ Changed functions: createUser, updateUser
|
|
135
|
+
โ
Tests generated successfully
|
|
136
|
+
|
|
137
|
+
============================================================
|
|
138
|
+
๐ Auto-Generation Summary
|
|
139
|
+
============================================================
|
|
140
|
+
โ
Successfully processed: 1 file(s)
|
|
141
|
+
๐ Functions tested: 2
|
|
142
|
+
============================================================
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Benefits:**
|
|
146
|
+
- โก **Fast**: Only processes changed files
|
|
147
|
+
- ๐ฏ **Targeted**: Generates tests only for modified functions
|
|
148
|
+
- ๐ **CI/CD Ready**: Non-interactive, perfect for automation
|
|
149
|
+
- ๐ก๏ธ **Safe**: Preserves existing tests for unchanged functions
|
|
150
|
+
|
|
151
|
+
**What files are processed:**
|
|
152
|
+
- โ
Source files with supported extensions (`.ts`, `.tsx`, `.js`, `.jsx`)
|
|
153
|
+
- โ
Files with exported functions
|
|
154
|
+
- โ Test files (`.test.`, `.spec.`, `__tests__/`, `/tests/`)
|
|
155
|
+
- โ Files in `node_modules`, `dist`, `build`, etc.
|
|
156
|
+
- โ Non-source files (configs, markdown, etc.)
|
|
157
|
+
|
|
71
158
|
### Interactive Mode
|
|
72
159
|
|
|
73
160
|
Simply run the command and follow the prompts:
|
|
@@ -108,6 +195,14 @@ Generate tests for specific functions:
|
|
|
108
195
|
- Preserves existing tests for other functions
|
|
109
196
|
- Ideal for incremental test development
|
|
110
197
|
|
|
198
|
+
#### 4. Auto Mode
|
|
199
|
+
Automatically detect and test changed functions:
|
|
200
|
+
- Analyzes git diff (staged and unstaged changes)
|
|
201
|
+
- AI identifies which functions were modified
|
|
202
|
+
- Generates tests only for changed exported functions
|
|
203
|
+
- Non-interactive - perfect for CI/CD pipelines
|
|
204
|
+
- Use: `testgen auto`
|
|
205
|
+
|
|
111
206
|
## How It Works
|
|
112
207
|
|
|
113
208
|
1. **AST Analysis**: Parses your code using Babel to understand structure
|
|
@@ -139,6 +234,82 @@ The AI generates tests with:
|
|
|
139
234
|
|
|
140
235
|
## Advanced Features
|
|
141
236
|
|
|
237
|
+
### CI/CD Integration
|
|
238
|
+
|
|
239
|
+
Auto mode is designed for continuous integration workflows:
|
|
240
|
+
|
|
241
|
+
**GitHub Actions Example:**
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
name: Auto Generate Tests
|
|
245
|
+
|
|
246
|
+
on:
|
|
247
|
+
push:
|
|
248
|
+
branches: [ main, develop ]
|
|
249
|
+
pull_request:
|
|
250
|
+
branches: [ main ]
|
|
251
|
+
|
|
252
|
+
jobs:
|
|
253
|
+
generate-tests:
|
|
254
|
+
runs-on: ubuntu-latest
|
|
255
|
+
steps:
|
|
256
|
+
- uses: actions/checkout@v3
|
|
257
|
+
with:
|
|
258
|
+
fetch-depth: 0 # Fetch full history for git diff
|
|
259
|
+
|
|
260
|
+
- name: Setup Node.js
|
|
261
|
+
uses: actions/setup-node@v3
|
|
262
|
+
with:
|
|
263
|
+
node-version: '18'
|
|
264
|
+
|
|
265
|
+
- name: Install dependencies
|
|
266
|
+
run: npm install
|
|
267
|
+
|
|
268
|
+
- name: Install CodeGuard
|
|
269
|
+
run: npm install -g codeguard-testgen
|
|
270
|
+
|
|
271
|
+
- name: Generate tests for changed functions
|
|
272
|
+
env:
|
|
273
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
274
|
+
run: testgen auto
|
|
275
|
+
|
|
276
|
+
- name: Commit generated tests
|
|
277
|
+
run: |
|
|
278
|
+
git config --local user.email "action@github.com"
|
|
279
|
+
git config --local user.name "GitHub Action"
|
|
280
|
+
git add src/tests/
|
|
281
|
+
git commit -m "๐ค Auto-generate tests for changed functions" || echo "No changes"
|
|
282
|
+
git push
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**GitLab CI Example:**
|
|
286
|
+
|
|
287
|
+
```yaml
|
|
288
|
+
generate-tests:
|
|
289
|
+
stage: test
|
|
290
|
+
script:
|
|
291
|
+
- npm install -g codeguard-testgen
|
|
292
|
+
- testgen auto
|
|
293
|
+
artifacts:
|
|
294
|
+
paths:
|
|
295
|
+
- src/tests/
|
|
296
|
+
only:
|
|
297
|
+
- merge_requests
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**Pre-commit Hook:**
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
#!/bin/bash
|
|
304
|
+
# .git/hooks/pre-commit
|
|
305
|
+
|
|
306
|
+
# Generate tests for staged changes
|
|
307
|
+
testgen auto
|
|
308
|
+
|
|
309
|
+
# Add generated tests to commit
|
|
310
|
+
git add src/tests/
|
|
311
|
+
```
|
|
312
|
+
|
|
142
313
|
### Codebase Indexing
|
|
143
314
|
|
|
144
315
|
On first run, you'll be prompted to enable codebase indexing:
|
|
@@ -175,7 +346,44 @@ When legitimate bugs are found, they're reported with details for you to fix in
|
|
|
175
346
|
|
|
176
347
|
## Examples
|
|
177
348
|
|
|
178
|
-
### Example:
|
|
349
|
+
### Example 1: Auto Mode Workflow
|
|
350
|
+
|
|
351
|
+
**Step 1: Make changes to a function**
|
|
352
|
+
```typescript
|
|
353
|
+
// src/services/user.service.ts
|
|
354
|
+
export const createUser = async (name: string, email: string) => {
|
|
355
|
+
// Added email validation
|
|
356
|
+
if (!email.includes('@')) {
|
|
357
|
+
throw new Error('Invalid email');
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
return await db.users.create({ name, email });
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
export const deleteUser = async (id: string) => {
|
|
364
|
+
return await db.users.delete(id);
|
|
365
|
+
};
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**Step 2: Stage changes and run auto mode**
|
|
369
|
+
```bash
|
|
370
|
+
git add src/services/user.service.ts
|
|
371
|
+
testgen auto
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
**Output:**
|
|
375
|
+
```
|
|
376
|
+
๐ Scanning git changes...
|
|
377
|
+
๐ Found changes in 1 file(s)
|
|
378
|
+
|
|
379
|
+
๐ Processing: src/services/user.service.ts
|
|
380
|
+
๐ฆ Changed functions: createUser
|
|
381
|
+
โ
Tests generated successfully
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
**Result:** Only `createUser` gets new tests, `deleteUser` tests remain unchanged!
|
|
385
|
+
|
|
386
|
+
### Example 2: Testing a User Service
|
|
179
387
|
|
|
180
388
|
```typescript
|
|
181
389
|
// src/services/user.service.ts
|
|
@@ -217,6 +425,55 @@ describe('UserService', () => {
|
|
|
217
425
|
|
|
218
426
|
## Troubleshooting
|
|
219
427
|
|
|
428
|
+
### Auto Mode Issues
|
|
429
|
+
|
|
430
|
+
#### "Not a git repository"
|
|
431
|
+
Auto mode requires git to detect changes. Initialize git in your project:
|
|
432
|
+
```bash
|
|
433
|
+
git init
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
#### "No changes detected in source files"
|
|
437
|
+
This means:
|
|
438
|
+
- No staged or unstaged changes exist
|
|
439
|
+
- Only test files were modified (test files are excluded)
|
|
440
|
+
- Changes are in non-source files
|
|
441
|
+
|
|
442
|
+
Check your changes:
|
|
443
|
+
```bash
|
|
444
|
+
git status
|
|
445
|
+
git diff
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
#### "No exported functions changed"
|
|
449
|
+
Possible causes:
|
|
450
|
+
1. **AI model misconfigured**: Check your `codeguard.json` has a valid model name:
|
|
451
|
+
```json
|
|
452
|
+
{
|
|
453
|
+
"models": {
|
|
454
|
+
"openai": "gpt-4o-mini" // โ
Correct
|
|
455
|
+
// NOT "gpt-5-mini" โ
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
```
|
|
459
|
+
2. **Only internal functions changed**: Auto mode only generates tests for exported functions
|
|
460
|
+
3. **File has no exported functions**: Make sure functions are exported:
|
|
461
|
+
```typescript
|
|
462
|
+
export const myFunction = () => { } // โ
Will be tested
|
|
463
|
+
const internalFunc = () => { } // โ Will be skipped
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
#### Debugging Auto Mode
|
|
467
|
+
Enable detailed logging by checking the console output:
|
|
468
|
+
```bash
|
|
469
|
+
testgen auto
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
Look for:
|
|
473
|
+
- `๐ฆ Found X exported function(s): ...` - Shows detected functions
|
|
474
|
+
- `๐ค AI response: ...` - Shows what AI detected
|
|
475
|
+
- `๐ AST Analysis result: ...` - Shows file parsing results
|
|
476
|
+
|
|
220
477
|
### "Configuration Error: codeguard.json not found"
|
|
221
478
|
|
|
222
479
|
Create a `codeguard.json` file in your project root. See Configuration section above.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebaseIndexer.d.ts","sourceRoot":"","sources":["../src/codebaseIndexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB;AAiBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,OAAO,CAAmB;;IASlC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAwBnC;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EACxC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACxE,OAAO,CAAC,IAAI,CAAC;IA8DhB;;OAEG;IACG,WAAW,CACf,YAAY,EAAE,MAAM,EAAE,EACtB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,GACvC,OAAO,CAAC,IAAI,CAAC;IAqChB;;OAEG;YACW,SAAS;IAYvB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAQtD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAgBtC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAezB;;OAEG;IACH,QAAQ;;;;;;;;IAsBR;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;YACW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"codebaseIndexer.d.ts","sourceRoot":"","sources":["../src/codebaseIndexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB;AAiBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,OAAO,CAAmB;;IASlC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAwBnC;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EACxC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACxE,OAAO,CAAC,IAAI,CAAC;IA8DhB;;OAEG;IACG,WAAW,CACf,YAAY,EAAE,MAAM,EAAE,EACtB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,GACvC,OAAO,CAAC,IAAI,CAAC;IAqChB;;OAEG;YACW,SAAS;IAYvB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAQtD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAgBtC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAezB;;OAEG;IACH,QAAQ;;;;;;;;IAsBR;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;YACW,iBAAiB;IAyC/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAkCpB;;OAEG;IACH,OAAO,CAAC,aAAa;CAGtB"}
|
package/dist/codebaseIndexer.js
CHANGED
|
@@ -232,9 +232,6 @@ class CodebaseIndexer {
|
|
|
232
232
|
'build',
|
|
233
233
|
'.git',
|
|
234
234
|
'coverage',
|
|
235
|
-
'__tests__',
|
|
236
|
-
'tests',
|
|
237
|
-
'test',
|
|
238
235
|
'.codeguard-cache',
|
|
239
236
|
'.testgen-cache'
|
|
240
237
|
];
|
|
@@ -252,17 +249,9 @@ class CodebaseIndexer {
|
|
|
252
249
|
}
|
|
253
250
|
else if (stat.isFile()) {
|
|
254
251
|
const ext = path.extname(item);
|
|
255
|
-
// Skip test files
|
|
256
|
-
const isTestFile = item.endsWith('.test.ts') ||
|
|
257
|
-
item.endsWith('.test.tsx') ||
|
|
258
|
-
item.endsWith('.spec.ts') ||
|
|
259
|
-
item.endsWith('.spec.tsx') ||
|
|
260
|
-
item.endsWith('.test.js') ||
|
|
261
|
-
item.endsWith('.test.jsx') ||
|
|
262
|
-
item.endsWith('.spec.js') ||
|
|
263
|
-
item.endsWith('.spec.jsx');
|
|
252
|
+
// Skip hidden files only (now including test files in the index)
|
|
264
253
|
const isHiddenFile = item.startsWith('.');
|
|
265
|
-
if (extensions.includes(ext) && !
|
|
254
|
+
if (extensions.includes(ext) && !isHiddenFile) {
|
|
266
255
|
fileList.push(fullPath);
|
|
267
256
|
}
|
|
268
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebaseIndexer.js","sourceRoot":"","sources":["../src/codebaseIndexer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codebaseIndexer.js","sourceRoot":"","sources":["../src/codebaseIndexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fuzzy Matching Utilities for Search-Replace Operations
|
|
3
|
+
* Provides multiple matching strategies for reliable code block replacement
|
|
4
|
+
*/
|
|
5
|
+
export interface MatchResult {
|
|
6
|
+
found: boolean;
|
|
7
|
+
startIndex: number;
|
|
8
|
+
endIndex: number;
|
|
9
|
+
confidence: number;
|
|
10
|
+
originalText: string;
|
|
11
|
+
matchType: 'exact' | 'normalized' | 'fuzzy' | 'context';
|
|
12
|
+
}
|
|
13
|
+
export interface SimilarBlock {
|
|
14
|
+
text: string;
|
|
15
|
+
similarity: number;
|
|
16
|
+
startLine: number;
|
|
17
|
+
endLine: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Normalize whitespace for comparison
|
|
21
|
+
* - Converts tabs to spaces
|
|
22
|
+
* - Normalizes line endings
|
|
23
|
+
* - Trims each line
|
|
24
|
+
* - Collapses multiple spaces
|
|
25
|
+
*/
|
|
26
|
+
export declare function normalizeWhitespace(text: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Calculate Levenshtein distance between two strings
|
|
29
|
+
* Used for fuzzy matching with a threshold
|
|
30
|
+
*/
|
|
31
|
+
export declare function levenshteinDistance(a: string, b: string): number;
|
|
32
|
+
/**
|
|
33
|
+
* Calculate similarity score (0-1) based on Levenshtein distance
|
|
34
|
+
*/
|
|
35
|
+
export declare function similarityScore(a: string, b: string): number;
|
|
36
|
+
/**
|
|
37
|
+
* Context-aware search
|
|
38
|
+
* Uses surrounding lines as anchors to find the target block
|
|
39
|
+
*/
|
|
40
|
+
export declare function contextAwareSearch(content: string, search: string, contextLines?: number): MatchResult | null;
|
|
41
|
+
/**
|
|
42
|
+
* Main search function that tries multiple strategies
|
|
43
|
+
*/
|
|
44
|
+
export declare function smartSearch(content: string, search: string, mode?: 'exact' | 'normalized' | 'fuzzy' | 'auto'): MatchResult | null;
|
|
45
|
+
/**
|
|
46
|
+
* Find similar blocks in content to help with debugging
|
|
47
|
+
*/
|
|
48
|
+
export declare function findSimilarBlocks(content: string, search: string, topN?: number): SimilarBlock[];
|
|
49
|
+
/**
|
|
50
|
+
* Get helpful error message with suggestions
|
|
51
|
+
*/
|
|
52
|
+
export declare function getSearchFailureMessage(content: string, search: string): string;
|
|
53
|
+
//# sourceMappingURL=fuzzyMatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fuzzyMatcher.d.ts","sourceRoot":"","sources":["../src/fuzzyMatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgChE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5D;AA2JD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAAU,GACvB,WAAW,GAAG,IAAI,CAkEpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,MAAe,GACvD,WAAW,GAAG,IAAI,CA0BpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAAU,GACf,YAAY,EAAE,CA8BhB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAyBR"}
|