popeye-cli 1.4.6 → 1.4.7
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.
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Auto-fix module for automatically fixing build and TypeScript errors
|
|
3
3
|
* Uses Claude to analyze errors and apply fixes
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a (possibly relative) error file path to an absolute path that exists on disk.
|
|
7
|
+
* For workspace projects, if the file doesn't exist at the project root, searches
|
|
8
|
+
* workspace subdirectories (apps/frontend, apps/backend, etc.).
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveErrorFilePath(filePath: string, projectDir: string, language: string): Promise<string>;
|
|
5
11
|
/**
|
|
6
12
|
* Build error details
|
|
7
13
|
*/
|
|
@@ -45,7 +51,7 @@ export declare function parseTypeScriptErrors(output: string): BuildError[];
|
|
|
45
51
|
/**
|
|
46
52
|
* Auto-fix TypeScript errors in a project
|
|
47
53
|
*/
|
|
48
|
-
export declare function autoFixTypeScriptErrors(projectDir: string, buildOutput: string, maxAttempts?: number, onProgress?: (message: string) => void): Promise<AutoFixResult>;
|
|
54
|
+
export declare function autoFixTypeScriptErrors(projectDir: string, buildOutput: string, maxAttempts?: number, onProgress?: (message: string) => void, language?: string): Promise<AutoFixResult>;
|
|
49
55
|
/**
|
|
50
56
|
* Run build with auto-fix
|
|
51
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-fix.d.ts","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"auto-fix.d.ts","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAgClE;AA6FD;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACtC,QAAQ,GAAE,MAAqB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA6JxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC,CAsFD"}
|
|
@@ -5,6 +5,58 @@
|
|
|
5
5
|
import { promises as fs } from 'node:fs';
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import { executePrompt } from '../adapters/claude.js';
|
|
8
|
+
import { isWorkspace } from '../types/project.js';
|
|
9
|
+
/** Standard workspace subdirectories to search when a file isn't at the root */
|
|
10
|
+
const WORKSPACE_SUBDIRS = ['apps/frontend', 'apps/backend', 'apps/website', 'packages/frontend', 'packages/backend'];
|
|
11
|
+
/**
|
|
12
|
+
* Resolve a (possibly relative) error file path to an absolute path that exists on disk.
|
|
13
|
+
* For workspace projects, if the file doesn't exist at the project root, searches
|
|
14
|
+
* workspace subdirectories (apps/frontend, apps/backend, etc.).
|
|
15
|
+
*/
|
|
16
|
+
export async function resolveErrorFilePath(filePath, projectDir, language) {
|
|
17
|
+
// If already absolute and exists, use it directly
|
|
18
|
+
if (path.isAbsolute(filePath)) {
|
|
19
|
+
try {
|
|
20
|
+
await fs.access(filePath);
|
|
21
|
+
return filePath;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Absolute path doesn't exist — for workspace projects, try searching subdirs
|
|
25
|
+
if (!isWorkspace(language))
|
|
26
|
+
return filePath;
|
|
27
|
+
const basename = path.basename(filePath);
|
|
28
|
+
for (const subdir of WORKSPACE_SUBDIRS) {
|
|
29
|
+
const candidate = path.join(projectDir, subdir, basename);
|
|
30
|
+
try {
|
|
31
|
+
await fs.access(candidate);
|
|
32
|
+
return candidate;
|
|
33
|
+
}
|
|
34
|
+
catch { /* continue */ }
|
|
35
|
+
}
|
|
36
|
+
return filePath;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// Relative path: try at project root first
|
|
40
|
+
const rootPath = path.join(projectDir, filePath);
|
|
41
|
+
try {
|
|
42
|
+
await fs.access(rootPath);
|
|
43
|
+
return rootPath;
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// Not at root — for workspace projects, search subdirs
|
|
47
|
+
if (!isWorkspace(language))
|
|
48
|
+
return rootPath;
|
|
49
|
+
for (const subdir of WORKSPACE_SUBDIRS) {
|
|
50
|
+
const candidate = path.join(projectDir, subdir, filePath);
|
|
51
|
+
try {
|
|
52
|
+
await fs.access(candidate);
|
|
53
|
+
return candidate;
|
|
54
|
+
}
|
|
55
|
+
catch { /* continue */ }
|
|
56
|
+
}
|
|
57
|
+
return rootPath;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
8
60
|
/**
|
|
9
61
|
* Parse TypeScript compiler errors from output.
|
|
10
62
|
* Supports two formats:
|
|
@@ -124,7 +176,7 @@ function extractCodeFromResponse(response) {
|
|
|
124
176
|
/**
|
|
125
177
|
* Auto-fix TypeScript errors in a project
|
|
126
178
|
*/
|
|
127
|
-
export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttempts = 3, onProgress) {
|
|
179
|
+
export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttempts = 3, onProgress, language = 'typescript') {
|
|
128
180
|
const fixes = [];
|
|
129
181
|
let attempts = 0;
|
|
130
182
|
let currentOutput = buildOutput;
|
|
@@ -173,7 +225,7 @@ export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttemp
|
|
|
173
225
|
let fixedInThisAttempt = 0;
|
|
174
226
|
// Fix each file
|
|
175
227
|
for (const [filePath, fileErrors] of errorsByFile) {
|
|
176
|
-
const absolutePath =
|
|
228
|
+
const absolutePath = await resolveErrorFilePath(filePath, projectDir, language);
|
|
177
229
|
try {
|
|
178
230
|
// Read current file content
|
|
179
231
|
const fileContent = await fs.readFile(absolutePath, 'utf-8');
|
|
@@ -313,7 +365,7 @@ export async function buildWithAutoFix(projectDir, language, maxAttempts = 3, on
|
|
|
313
365
|
onProgress?.('Build failed, attempting auto-fix...');
|
|
314
366
|
// Try auto-fix for TypeScript-based projects (includes fullstack, website, all)
|
|
315
367
|
if (isTypeScriptBased) {
|
|
316
|
-
const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress);
|
|
368
|
+
const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress, language);
|
|
317
369
|
// Log structural issue if detected
|
|
318
370
|
if (fixResult.isStructuralIssue) {
|
|
319
371
|
onProgress?.(`STRUCTURAL ISSUE: ${fixResult.missingFileCount}/${fixResult.totalErrorFiles} error files not found on disk. Likely missing files, not code bugs.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-fix.js","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-fix.js","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/workflow/auto-fix.ts
CHANGED
|
@@ -6,6 +6,59 @@
|
|
|
6
6
|
import { promises as fs } from 'node:fs';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import { executePrompt } from '../adapters/claude.js';
|
|
9
|
+
import { isWorkspace, type OutputLanguage } from '../types/project.js';
|
|
10
|
+
|
|
11
|
+
/** Standard workspace subdirectories to search when a file isn't at the root */
|
|
12
|
+
const WORKSPACE_SUBDIRS = ['apps/frontend', 'apps/backend', 'apps/website', 'packages/frontend', 'packages/backend'];
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a (possibly relative) error file path to an absolute path that exists on disk.
|
|
16
|
+
* For workspace projects, if the file doesn't exist at the project root, searches
|
|
17
|
+
* workspace subdirectories (apps/frontend, apps/backend, etc.).
|
|
18
|
+
*/
|
|
19
|
+
export async function resolveErrorFilePath(
|
|
20
|
+
filePath: string,
|
|
21
|
+
projectDir: string,
|
|
22
|
+
language: string,
|
|
23
|
+
): Promise<string> {
|
|
24
|
+
// If already absolute and exists, use it directly
|
|
25
|
+
if (path.isAbsolute(filePath)) {
|
|
26
|
+
try {
|
|
27
|
+
await fs.access(filePath);
|
|
28
|
+
return filePath;
|
|
29
|
+
} catch {
|
|
30
|
+
// Absolute path doesn't exist — for workspace projects, try searching subdirs
|
|
31
|
+
if (!isWorkspace(language as OutputLanguage)) return filePath;
|
|
32
|
+
const basename = path.basename(filePath);
|
|
33
|
+
for (const subdir of WORKSPACE_SUBDIRS) {
|
|
34
|
+
const candidate = path.join(projectDir, subdir, basename);
|
|
35
|
+
try {
|
|
36
|
+
await fs.access(candidate);
|
|
37
|
+
return candidate;
|
|
38
|
+
} catch { /* continue */ }
|
|
39
|
+
}
|
|
40
|
+
return filePath;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Relative path: try at project root first
|
|
45
|
+
const rootPath = path.join(projectDir, filePath);
|
|
46
|
+
try {
|
|
47
|
+
await fs.access(rootPath);
|
|
48
|
+
return rootPath;
|
|
49
|
+
} catch {
|
|
50
|
+
// Not at root — for workspace projects, search subdirs
|
|
51
|
+
if (!isWorkspace(language as OutputLanguage)) return rootPath;
|
|
52
|
+
for (const subdir of WORKSPACE_SUBDIRS) {
|
|
53
|
+
const candidate = path.join(projectDir, subdir, filePath);
|
|
54
|
+
try {
|
|
55
|
+
await fs.access(candidate);
|
|
56
|
+
return candidate;
|
|
57
|
+
} catch { /* continue */ }
|
|
58
|
+
}
|
|
59
|
+
return rootPath;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
9
62
|
|
|
10
63
|
/**
|
|
11
64
|
* Build error details
|
|
@@ -180,7 +233,8 @@ export async function autoFixTypeScriptErrors(
|
|
|
180
233
|
projectDir: string,
|
|
181
234
|
buildOutput: string,
|
|
182
235
|
maxAttempts: number = 3,
|
|
183
|
-
onProgress?: (message: string) => void
|
|
236
|
+
onProgress?: (message: string) => void,
|
|
237
|
+
language: string = 'typescript',
|
|
184
238
|
): Promise<AutoFixResult> {
|
|
185
239
|
const fixes: Array<{ file: string; description: string }> = [];
|
|
186
240
|
let attempts = 0;
|
|
@@ -237,7 +291,7 @@ export async function autoFixTypeScriptErrors(
|
|
|
237
291
|
|
|
238
292
|
// Fix each file
|
|
239
293
|
for (const [filePath, fileErrors] of errorsByFile) {
|
|
240
|
-
const absolutePath =
|
|
294
|
+
const absolutePath = await resolveErrorFilePath(filePath, projectDir, language);
|
|
241
295
|
|
|
242
296
|
try {
|
|
243
297
|
// Read current file content
|
|
@@ -401,7 +455,7 @@ export async function buildWithAutoFix(
|
|
|
401
455
|
|
|
402
456
|
// Try auto-fix for TypeScript-based projects (includes fullstack, website, all)
|
|
403
457
|
if (isTypeScriptBased) {
|
|
404
|
-
const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress);
|
|
458
|
+
const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress, language);
|
|
405
459
|
|
|
406
460
|
// Log structural issue if detected
|
|
407
461
|
if (fixResult.isStructuralIssue) {
|
|
@@ -7,7 +7,7 @@ import { promises as fs } from 'node:fs';
|
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import os from 'node:os';
|
|
9
9
|
import { parseErrorFilePaths, analyzeFileExistence } from '../../src/workflow/execution-mode.js';
|
|
10
|
-
import { parseTypeScriptErrors } from '../../src/workflow/auto-fix.js';
|
|
10
|
+
import { parseTypeScriptErrors, resolveErrorFilePath } from '../../src/workflow/auto-fix.js';
|
|
11
11
|
|
|
12
12
|
let tempDir: string;
|
|
13
13
|
|
|
@@ -314,6 +314,66 @@ npm ERR! Exit status 1`;
|
|
|
314
314
|
});
|
|
315
315
|
});
|
|
316
316
|
|
|
317
|
+
describe('resolveErrorFilePath (workspace path resolution)', () => {
|
|
318
|
+
it('should find file at project root for non-workspace language', async () => {
|
|
319
|
+
await fs.writeFile(path.join(tempDir, 'vite.config.ts'), 'export default {}');
|
|
320
|
+
|
|
321
|
+
const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'typescript');
|
|
322
|
+
expect(result).toBe(path.join(tempDir, 'vite.config.ts'));
|
|
323
|
+
});
|
|
324
|
+
|
|
325
|
+
it('should return root path for non-workspace language even when file is missing', async () => {
|
|
326
|
+
const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'typescript');
|
|
327
|
+
expect(result).toBe(path.join(tempDir, 'vite.config.ts'));
|
|
328
|
+
});
|
|
329
|
+
|
|
330
|
+
it('should find file in apps/frontend for fullstack when not at root', async () => {
|
|
331
|
+
await fs.mkdir(path.join(tempDir, 'apps', 'frontend'), { recursive: true });
|
|
332
|
+
await fs.writeFile(path.join(tempDir, 'apps', 'frontend', 'vite.config.ts'), 'export default {}');
|
|
333
|
+
|
|
334
|
+
const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'fullstack');
|
|
335
|
+
expect(result).toBe(path.join(tempDir, 'apps', 'frontend', 'vite.config.ts'));
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
it('should find file in apps/backend for "all" language', async () => {
|
|
339
|
+
await fs.mkdir(path.join(tempDir, 'apps', 'backend'), { recursive: true });
|
|
340
|
+
await fs.writeFile(path.join(tempDir, 'apps', 'backend', 'vitest.config.ts'), 'export default {}');
|
|
341
|
+
|
|
342
|
+
const result = await resolveErrorFilePath('vitest.config.ts', tempDir, 'all');
|
|
343
|
+
expect(result).toBe(path.join(tempDir, 'apps', 'backend', 'vitest.config.ts'));
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
it('should prefer project root if file exists there for workspace', async () => {
|
|
347
|
+
await fs.writeFile(path.join(tempDir, 'tsconfig.json'), '{}');
|
|
348
|
+
await fs.mkdir(path.join(tempDir, 'apps', 'frontend'), { recursive: true });
|
|
349
|
+
await fs.writeFile(path.join(tempDir, 'apps', 'frontend', 'tsconfig.json'), '{}');
|
|
350
|
+
|
|
351
|
+
const result = await resolveErrorFilePath('tsconfig.json', tempDir, 'fullstack');
|
|
352
|
+
expect(result).toBe(path.join(tempDir, 'tsconfig.json'));
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
it('should search packages/ fallback for workspace', async () => {
|
|
356
|
+
await fs.mkdir(path.join(tempDir, 'packages', 'frontend'), { recursive: true });
|
|
357
|
+
await fs.writeFile(path.join(tempDir, 'packages', 'frontend', 'vite.config.ts'), 'export default {}');
|
|
358
|
+
|
|
359
|
+
const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'fullstack');
|
|
360
|
+
expect(result).toBe(path.join(tempDir, 'packages', 'frontend', 'vite.config.ts'));
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
it('should resolve relative paths with subdirs (e.g. src/App.tsx)', async () => {
|
|
364
|
+
await fs.mkdir(path.join(tempDir, 'apps', 'frontend', 'src'), { recursive: true });
|
|
365
|
+
await fs.writeFile(path.join(tempDir, 'apps', 'frontend', 'src', 'App.tsx'), 'export default {}');
|
|
366
|
+
|
|
367
|
+
const result = await resolveErrorFilePath('src/App.tsx', tempDir, 'fullstack');
|
|
368
|
+
expect(result).toBe(path.join(tempDir, 'apps', 'frontend', 'src', 'App.tsx'));
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
it('should return root fallback when file not found anywhere in workspace', async () => {
|
|
372
|
+
const result = await resolveErrorFilePath('nonexistent.ts', tempDir, 'fullstack');
|
|
373
|
+
expect(result).toBe(path.join(tempDir, 'nonexistent.ts'));
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
|
|
317
377
|
describe('autoFixTypeScriptErrors false success prevention', () => {
|
|
318
378
|
it('should return success: false when zero errors parsed on first attempt', () => {
|
|
319
379
|
// Simulating the logic from autoFixTypeScriptErrors
|