lacuna-cli 0.2.2 → 0.2.4
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 +215 -392
- package/dist/agent/fix-loop.d.ts.map +1 -1
- package/dist/agent/fix-loop.js +29 -7
- package/dist/agent/fix-loop.js.map +1 -1
- package/dist/agent/generator.d.ts.map +1 -1
- package/dist/agent/generator.js +17 -9
- package/dist/agent/generator.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +6 -2
- package/dist/agent/loop.js.map +1 -1
- package/dist/lib/typecheck.d.ts.map +1 -1
- package/dist/lib/typecheck.js +61 -34
- package/dist/lib/typecheck.js.map +1 -1
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +168 -22
- package/dist/lib/validate.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/typecheck.js
CHANGED
|
@@ -49,29 +49,41 @@ async function loadCompilerOptions(tsconfigPath, cwd, seen = new Set()) {
|
|
|
49
49
|
}
|
|
50
50
|
return { ...base, ...(cfg.compilerOptions ?? {}) };
|
|
51
51
|
}
|
|
52
|
-
//
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
|
|
52
|
+
// Walk up from a file's directory to the nearest tsconfig.json, stopping at cwd. Returns
|
|
53
|
+
// the absolute path, or null if none is found between the file and cwd (inclusive). In a
|
|
54
|
+
// monorepo this resolves the PACKAGE config (e.g. packages/business-web/tsconfig.json) that
|
|
55
|
+
// actually defines the file's `paths`, `jsx`, and `moduleResolution` — not the bare root.
|
|
56
|
+
async function findNearestTsconfig(absFilePath, cwd) {
|
|
56
57
|
let dir = dirname(absFilePath);
|
|
57
|
-
let nearest = null;
|
|
58
58
|
while (true) {
|
|
59
59
|
const candidate = join(dir, 'tsconfig.json');
|
|
60
|
-
if (await pathExists(candidate))
|
|
61
|
-
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
60
|
+
if (await pathExists(candidate))
|
|
61
|
+
return candidate;
|
|
64
62
|
if (dir === cwd || dir === dirname(dir))
|
|
65
63
|
break;
|
|
66
64
|
dir = dirname(dir);
|
|
67
65
|
}
|
|
68
|
-
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
// Effective noImplicitAny for the tsconfig nearest to `absFilePath`, following `extends`.
|
|
69
|
+
// strict:true implies it unless explicitly overridden. Defaults to true (i.e. "enforced",
|
|
70
|
+
// so we never hide real errors) when no governing config can be resolved.
|
|
71
|
+
async function noImplicitAnyEnabled(absFilePath, cwd) {
|
|
72
|
+
const nearest = await findNearestTsconfig(absFilePath, cwd);
|
|
73
|
+
if (!nearest)
|
|
69
74
|
return true;
|
|
70
75
|
const opts = await loadCompilerOptions(nearest, cwd);
|
|
71
76
|
if (typeof opts.noImplicitAny === 'boolean')
|
|
72
77
|
return opts.noImplicitAny;
|
|
73
78
|
return opts.strict === true;
|
|
74
79
|
}
|
|
80
|
+
// Build the tsc invocation, scoped to a governing tsconfig via `-p` when one is known.
|
|
81
|
+
// Running tsc against the package config (not the root) is what makes path aliases, jsx, and
|
|
82
|
+
// moduleResolution resolve correctly — otherwise a clean file reports spurious TS2307/TS17004.
|
|
83
|
+
function buildTscCommand(tsconfigAbs, cwd) {
|
|
84
|
+
const project = tsconfigAbs ? ` -p ${JSON.stringify(relative(cwd, tsconfigAbs))}` : '';
|
|
85
|
+
return `npx tsc${project} --noEmit --skipLibCheck`;
|
|
86
|
+
}
|
|
75
87
|
// Run tsc --noEmit on the project and return type errors that belong to the given
|
|
76
88
|
// test file. Errors in other files are intentionally ignored — we only care about
|
|
77
89
|
// what the AI just wrote. Returns null when there are no errors or when type-checking
|
|
@@ -85,7 +97,11 @@ export async function typeCheckFile(absTestPath, cwd, env) {
|
|
|
85
97
|
catch {
|
|
86
98
|
return null;
|
|
87
99
|
}
|
|
88
|
-
|
|
100
|
+
// Type-check with the tsconfig that GOVERNS this file (the package config in a monorepo),
|
|
101
|
+
// not the root — otherwise the file's @/ path aliases and jsx settings don't resolve and
|
|
102
|
+
// tsc reports false TS2307/TS17004 errors for a file that is actually clean.
|
|
103
|
+
const nearest = (await findNearestTsconfig(absTestPath, cwd)) ?? join(cwd, 'tsconfig.json');
|
|
104
|
+
const result = await runCommand(buildTscCommand(nearest, cwd), cwd, 60_000);
|
|
89
105
|
if (result.success)
|
|
90
106
|
return null;
|
|
91
107
|
// Match by path relative to cwd (how tsc prints diagnostics), NOT basename — many
|
|
@@ -104,10 +120,11 @@ export async function typeCheckFile(absTestPath, cwd, env) {
|
|
|
104
120
|
}
|
|
105
121
|
return errors.join('\n').trim() || null;
|
|
106
122
|
}
|
|
107
|
-
// Runs tsc
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
123
|
+
// Runs tsc once PER GOVERNING TSCONFIG and returns the subset of `testFiles` (absolute paths)
|
|
124
|
+
// that have at least one type error. Files are grouped by their nearest tsconfig so each
|
|
125
|
+
// monorepo package is checked with its own paths/jsx/moduleResolution — checking everything
|
|
126
|
+
// against the bare root config would report spurious TS2307/TS17004 for clean files. For a
|
|
127
|
+
// single-package repo this is still one run (one group). Used by `lacuna fix --types`.
|
|
111
128
|
export async function findTestFilesWithTypeErrors(testFiles, cwd, env) {
|
|
112
129
|
if (env.language !== 'typescript' || testFiles.length === 0)
|
|
113
130
|
return [];
|
|
@@ -117,27 +134,37 @@ export async function findTestFilesWithTypeErrors(testFiles, cwd, env) {
|
|
|
117
134
|
catch {
|
|
118
135
|
return [];
|
|
119
136
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const errorLines = (result.stdout + '\n' + result.stderr)
|
|
124
|
-
.split('\n')
|
|
125
|
-
.filter((l) => /error TS\d+/.test(l));
|
|
126
|
-
// Match by path relative to cwd — mirrors typeCheckFile's own filter so selection and
|
|
127
|
-
// per-file verification agree. Basename matching would conflate identically-named files
|
|
128
|
-
// (route.test.ts, index.test.ts) across the project and select the wrong ones.
|
|
129
|
-
// Honor each file's governing noImplicitAny just like typeCheckFile, so a file whose only
|
|
130
|
-
// diagnostics are implicit-any in a package that allows it is not selected.
|
|
131
|
-
const withErrors = [];
|
|
137
|
+
// Group files by the tsconfig that governs them.
|
|
138
|
+
const rootTsconfig = join(cwd, 'tsconfig.json');
|
|
139
|
+
const byConfig = new Map();
|
|
132
140
|
for (const abs of testFiles) {
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
141
|
+
const nearest = (await findNearestTsconfig(abs, cwd)) ?? rootTsconfig;
|
|
142
|
+
const group = byConfig.get(nearest) ?? [];
|
|
143
|
+
group.push(abs);
|
|
144
|
+
byConfig.set(nearest, group);
|
|
145
|
+
}
|
|
146
|
+
const withErrors = [];
|
|
147
|
+
for (const [tsconfig, files] of byConfig) {
|
|
148
|
+
const result = await runCommand(buildTscCommand(tsconfig, cwd), cwd, 180_000);
|
|
149
|
+
if (result.success)
|
|
136
150
|
continue;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
151
|
+
const errorLines = (result.stdout + '\n' + result.stderr)
|
|
152
|
+
.split('\n')
|
|
153
|
+
.filter((l) => /error TS\d+/.test(l));
|
|
154
|
+
// Match by path relative to cwd — mirrors typeCheckFile's filter so selection and per-file
|
|
155
|
+
// verification agree. Basename matching would conflate identically-named files across the
|
|
156
|
+
// project. Honor each file's governing noImplicitAny so a file whose only diagnostics are
|
|
157
|
+
// implicit-any in a package that allows it is not selected.
|
|
158
|
+
for (const abs of files) {
|
|
159
|
+
const relPath = relative(cwd, abs).replace(/\\/g, '/');
|
|
160
|
+
let lines = errorLines.filter((l) => l.includes(relPath) || l.includes(abs));
|
|
161
|
+
if (lines.length === 0)
|
|
162
|
+
continue;
|
|
163
|
+
if (!(await noImplicitAnyEnabled(abs, cwd)))
|
|
164
|
+
lines = lines.filter((l) => !IMPLICIT_ANY_RE.test(l));
|
|
165
|
+
if (lines.length > 0)
|
|
166
|
+
withErrors.push(abs);
|
|
167
|
+
}
|
|
141
168
|
}
|
|
142
169
|
return withErrors;
|
|
143
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typecheck.js","sourceRoot":"","sources":["../../src/lib/typecheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,0FAA0F;AAC1F,mFAAmF;AACnF,MAAM,eAAe,GAAG,+CAA+C,CAAA;AAEvE,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QAAC,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAA;IAAC,CAAC;AAC7D,CAAC;AAED,wFAAwF;AACxF,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG;SACP,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,iBAAiB;SACxD,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAI,kCAAkC;SACzE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA,CAAU,kBAAkB;AAC9D,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,mBAAmB,CAAC,YAAoB,EAAE,GAAW,EAAE,OAAO,IAAI,GAAG,EAAU;IAC5F,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAA;IACrC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACtB,IAAI,GAAoE,CAAA;IACxE,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAA;IAAC,CAAC;IAE/F,IAAI,IAAI,GAA4B,EAAE,CAAA;IACtC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpC,IAAI,OAAO,GAAkB,IAAI,CAAA;QACjC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAA;QAC/G,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;YAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,CAAA;YAChD,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,GAAG,SAAS,CAAA;QACtD,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAA;AACpD,CAAC;AAED,yFAAyF;AACzF,
|
|
1
|
+
{"version":3,"file":"typecheck.js","sourceRoot":"","sources":["../../src/lib/typecheck.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAID,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI1D;AAiBD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGtD;AAOD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,MAAM,CAgB3F;AAKD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOrD;AAMD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAWzF;AAOD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqC5E;AA0CD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAqDrF;AAOD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2HvD;AAQD,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAiB9F;AAKD,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,MAAM,CAcR;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/validate.js
CHANGED
|
@@ -427,6 +427,95 @@ export function buildRegressionMessage(initialError, currentError, baselinePass,
|
|
|
427
427
|
`Do NOT modify tests that were already passing.\n` +
|
|
428
428
|
`ONLY fix the test that was originally failing.`);
|
|
429
429
|
}
|
|
430
|
+
// ---------------------------------------------------------------------------
|
|
431
|
+
// Patch-mode support
|
|
432
|
+
// ---------------------------------------------------------------------------
|
|
433
|
+
// Index of the line that ENDS the last import statement (or -1 if there are none).
|
|
434
|
+
// Unlike a naive "last line starting with `import`", this spans multi-line imports so
|
|
435
|
+
// callers insert AFTER the whole statement, never inside an `import { ... } from '...'` block.
|
|
436
|
+
function lastImportStatementEndIdx(lines) {
|
|
437
|
+
let end = -1;
|
|
438
|
+
for (let i = 0; i < lines.length; i++) {
|
|
439
|
+
if (!/^\s*import\b/.test(lines[i]))
|
|
440
|
+
continue;
|
|
441
|
+
// Walk to the line that completes this statement: one ending in `from '...'`/`from "..."`,
|
|
442
|
+
// a bare side-effect import (`import '...'`), or any line ending with a semicolon.
|
|
443
|
+
let j = i;
|
|
444
|
+
while (j < lines.length &&
|
|
445
|
+
!/from\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
|
|
446
|
+
!/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
|
|
447
|
+
!/;\s*$/.test(lines[j])) {
|
|
448
|
+
j++;
|
|
449
|
+
}
|
|
450
|
+
end = Math.min(j, lines.length - 1);
|
|
451
|
+
i = end; // resume scanning after this statement
|
|
452
|
+
}
|
|
453
|
+
return end;
|
|
454
|
+
}
|
|
455
|
+
// Walk the file's import statements, yielding each one's line range + joined text
|
|
456
|
+
// (spans multi-line imports).
|
|
457
|
+
function* iterImportStatements(lines) {
|
|
458
|
+
for (let i = 0; i < lines.length; i++) {
|
|
459
|
+
if (!/^\s*import\b/.test(lines[i]))
|
|
460
|
+
continue;
|
|
461
|
+
let j = i;
|
|
462
|
+
while (j < lines.length &&
|
|
463
|
+
!/from\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
|
|
464
|
+
!/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/.test(lines[j]) &&
|
|
465
|
+
!/;\s*$/.test(lines[j])) {
|
|
466
|
+
j++;
|
|
467
|
+
}
|
|
468
|
+
const end = Math.min(j, lines.length - 1);
|
|
469
|
+
yield { start: i, end, text: lines.slice(i, end + 1).join('\n') };
|
|
470
|
+
i = end;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
const moduleKey = (m) => m.replace(/\.(js|ts|jsx|tsx|mjs|cjs)$/, '');
|
|
474
|
+
// Parse a single import statement into its parts. Returns null if it has no module specifier.
|
|
475
|
+
function parseImportStatement(text) {
|
|
476
|
+
const modM = text.match(/from\s+(['"])([^'"]+)\1/);
|
|
477
|
+
if (!modM)
|
|
478
|
+
return null;
|
|
479
|
+
const typeOnly = /^\s*import\s+type\b/.test(text);
|
|
480
|
+
const braceM = text.match(/\{([\s\S]*?)\}/);
|
|
481
|
+
const names = braceM ? braceM[1].split(',').map((s) => s.trim()).filter(Boolean) : [];
|
|
482
|
+
const defM = text.match(/import\s+(?:type\s+)?([A-Za-z_$][\w$]*)\s*(?:,|from)/);
|
|
483
|
+
return { module: modM[2], quote: modM[1], typeOnly, def: defM ? defM[1] : null, names, semicolon: /;\s*$/.test(text.trim()) };
|
|
484
|
+
}
|
|
485
|
+
// ADD_IMPORT helper: if the new import names come from a module already imported in the file,
|
|
486
|
+
// merge them into that existing statement (deduped) instead of appending a duplicate import —
|
|
487
|
+
// a second `import … from 'X'` triggers bundler "imported multiple times" errors. Mutates
|
|
488
|
+
// `lines` and returns true when a merge happened; false means "no existing import to merge into".
|
|
489
|
+
function mergeNamedImportIntoExisting(lines, content) {
|
|
490
|
+
// Only handle a single named-import statement; anything more exotic falls back to append.
|
|
491
|
+
if ((content.match(/\bimport\b/g) ?? []).length !== 1)
|
|
492
|
+
return false;
|
|
493
|
+
const incoming = parseImportStatement(content);
|
|
494
|
+
if (!incoming || incoming.names.length === 0)
|
|
495
|
+
return false;
|
|
496
|
+
for (const stmt of iterImportStatements(lines)) {
|
|
497
|
+
const existing = parseImportStatement(stmt.text);
|
|
498
|
+
if (!existing)
|
|
499
|
+
continue;
|
|
500
|
+
if (moduleKey(existing.module) !== moduleKey(incoming.module))
|
|
501
|
+
continue;
|
|
502
|
+
if (existing.typeOnly !== incoming.typeOnly)
|
|
503
|
+
continue; // don't mix `import type` with value imports
|
|
504
|
+
const mergedNames = [...existing.names];
|
|
505
|
+
for (const n of incoming.names)
|
|
506
|
+
if (!mergedNames.includes(n))
|
|
507
|
+
mergedNames.push(n);
|
|
508
|
+
const def = existing.def ?? incoming.def;
|
|
509
|
+
const q = existing.quote;
|
|
510
|
+
const rebuilt = `import ${existing.typeOnly ? 'type ' : ''}` +
|
|
511
|
+
`${def ? def + (mergedNames.length ? ', ' : ' ') : ''}` +
|
|
512
|
+
`${mergedNames.length ? `{ ${mergedNames.join(', ')} }` : ''}` +
|
|
513
|
+
` from ${q}${existing.module}${q}${existing.semicolon ? ';' : ''}`;
|
|
514
|
+
lines.splice(stmt.start, stmt.end - stmt.start + 1, rebuilt);
|
|
515
|
+
return true;
|
|
516
|
+
}
|
|
517
|
+
return false;
|
|
518
|
+
}
|
|
430
519
|
// Parses the model's patch output into a list of PatchOperation objects.
|
|
431
520
|
//
|
|
432
521
|
// Most operations have the form:
|
|
@@ -440,13 +529,41 @@ export function buildRegressionMessage(initialError, currentError, baselinePass,
|
|
|
440
529
|
// // @@@ WITH:
|
|
441
530
|
// <replacement text>
|
|
442
531
|
// // @@@ END
|
|
532
|
+
// Strips a single matching pair of outer quotes (either "..." or '...') from an
|
|
533
|
+
// anchor and unescapes the wrapping quote char inside it. Models emit anchors for
|
|
534
|
+
// test names that contain quotes in two ways, and both must resolve to the literal
|
|
535
|
+
// name as it appears in the file:
|
|
536
|
+
// raw nested: "shows "x" msg" → shows "x" msg
|
|
537
|
+
// escaped: "shows \"x\" msg" → shows "x" msg (proper JS string literal)
|
|
538
|
+
// Only the outermost pair is removed, and only the wrapping quote's escape (\" for
|
|
539
|
+
// a "..." anchor, \' for a '...' anchor) plus \\ are unescaped — so inner quotes
|
|
540
|
+
// of the OTHER style are left untouched. A string whose ends don't both match
|
|
541
|
+
// (unquoted anchors, or one stray quote) is returned unchanged.
|
|
542
|
+
function stripOuterQuotes(s) {
|
|
543
|
+
if (s.length >= 2) {
|
|
544
|
+
const first = s[0];
|
|
545
|
+
const last = s[s.length - 1];
|
|
546
|
+
if ((first === '"' && last === '"') || (first === "'" && last === "'")) {
|
|
547
|
+
const inner = s.slice(1, -1);
|
|
548
|
+
// Unescape string-literal escapes in one left-to-right pass: \" -> ", \' -> ',
|
|
549
|
+
// \\ -> \ . Non-overlapping matching means \\" stays \" (escaped backslash
|
|
550
|
+
// followed by a literal quote), which is the correct interpretation.
|
|
551
|
+
return inner.replace(/\\(["'\\])/g, '$1');
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
return s;
|
|
555
|
+
}
|
|
443
556
|
export function parsePatch(patchOutput) {
|
|
444
557
|
const ops = [];
|
|
445
558
|
const lines = patchOutput.split('\n');
|
|
446
|
-
// Capture the
|
|
447
|
-
//
|
|
448
|
-
//
|
|
449
|
-
|
|
559
|
+
// Capture everything after the colon as the raw anchor; a single pair of
|
|
560
|
+
// outer quotes is stripped below. Capturing the whole remainder (rather than
|
|
561
|
+
// a `"([^"]*)"` group) is required because a test name can itself contain
|
|
562
|
+
// double quotes — e.g. it('shows "No accounts match" message') — and a
|
|
563
|
+
// greedy-stop-at-first-quote group would truncate the anchor to "shows ",
|
|
564
|
+
// which never matches the file. Models also routinely drop the outer quotes,
|
|
565
|
+
// so unquoted anchors must work too.
|
|
566
|
+
const headerRe = /^\/\/ @@@ (REPLACE_TEST|DELETE_TEST|ADD_AFTER_DESCRIBE|ADD_IMPORT|ADD_AFTER_IMPORTS|REPLACE):\s*(.*)$/;
|
|
450
567
|
const withRe = /^\/\/ @@@ WITH:\s*$/;
|
|
451
568
|
const endRe = /^\/\/ @@@ END\s*$/;
|
|
452
569
|
let i = 0;
|
|
@@ -489,7 +606,7 @@ export function parsePatch(patchOutput) {
|
|
|
489
606
|
ops.push({ type, anchor, content });
|
|
490
607
|
}
|
|
491
608
|
else {
|
|
492
|
-
const anchor = (m[2] ??
|
|
609
|
+
const anchor = stripOuterQuotes((m[2] ?? '').trim()); // ADD_IMPORT/ADD_AFTER_IMPORTS have no anchor
|
|
493
610
|
const contentLines = [];
|
|
494
611
|
while (i < lines.length && !endRe.test(lines[i])) {
|
|
495
612
|
contentLines.push(lines[i]);
|
|
@@ -562,6 +679,23 @@ function findCallEnd(code, startIdx) {
|
|
|
562
679
|
let foundBrace = false;
|
|
563
680
|
while (i < code.length) {
|
|
564
681
|
const ch = code[i];
|
|
682
|
+
// Skip line/block comments BEFORE the string check. An apostrophe inside a
|
|
683
|
+
// comment (e.g. `// channel that doesn't exist`) would otherwise be read as a
|
|
684
|
+
// string-literal opener and swallow the rest of the test body — including its
|
|
685
|
+
// closing braces — so findCallEnd never balances and returns -1.
|
|
686
|
+
if (ch === '/' && code[i + 1] === '/') {
|
|
687
|
+
i += 2;
|
|
688
|
+
while (i < code.length && code[i] !== '\n')
|
|
689
|
+
i++;
|
|
690
|
+
continue;
|
|
691
|
+
}
|
|
692
|
+
if (ch === '/' && code[i + 1] === '*') {
|
|
693
|
+
i += 2;
|
|
694
|
+
while (i < code.length && !(code[i] === '*' && code[i + 1] === '/'))
|
|
695
|
+
i++;
|
|
696
|
+
i += 2;
|
|
697
|
+
continue;
|
|
698
|
+
}
|
|
565
699
|
// Skip string literals to avoid false brace/paren counts inside strings
|
|
566
700
|
if (ch === '"' || ch === "'") {
|
|
567
701
|
const q = ch;
|
|
@@ -736,6 +870,21 @@ export function applyPatch(existingCode, ops) {
|
|
|
736
870
|
let foundBrace = false;
|
|
737
871
|
while (i < code.length) {
|
|
738
872
|
const ch = code[i];
|
|
873
|
+
// Skip line/block comments before the string check — an apostrophe in a
|
|
874
|
+
// comment must not be read as a string opener (see findCallEnd).
|
|
875
|
+
if (ch === '/' && code[i + 1] === '/') {
|
|
876
|
+
i += 2;
|
|
877
|
+
while (i < code.length && code[i] !== '\n')
|
|
878
|
+
i++;
|
|
879
|
+
continue;
|
|
880
|
+
}
|
|
881
|
+
if (ch === '/' && code[i + 1] === '*') {
|
|
882
|
+
i += 2;
|
|
883
|
+
while (i < code.length && !(code[i] === '*' && code[i + 1] === '/'))
|
|
884
|
+
i++;
|
|
885
|
+
i += 2;
|
|
886
|
+
continue;
|
|
887
|
+
}
|
|
739
888
|
// Skip string literals
|
|
740
889
|
if (ch === '"' || ch === "'") {
|
|
741
890
|
const q = ch;
|
|
@@ -807,19 +956,20 @@ export function applyPatch(existingCode, ops) {
|
|
|
807
956
|
code = code.slice(0, lastClosePos) + insertion + code.slice(lastClosePos);
|
|
808
957
|
}
|
|
809
958
|
else if (op.type === 'ADD_IMPORT') {
|
|
810
|
-
// Find the last `import ` line in the file
|
|
811
959
|
const lines = code.split('\n');
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
960
|
+
// Prefer merging into an existing import from the same module (avoids a duplicate
|
|
961
|
+
// `import … from 'X'` that bundlers reject). Otherwise insert after the END of the last
|
|
962
|
+
// import statement (handles multi-line imports — inserting after the opening `import {`
|
|
963
|
+
// line would split the block).
|
|
964
|
+
if (!mergeNamedImportIntoExisting(lines, op.content)) {
|
|
965
|
+
const lastImportLineIdx = lastImportStatementEndIdx(lines);
|
|
966
|
+
const importLines = op.content.split('\n');
|
|
967
|
+
if (lastImportLineIdx === -1) {
|
|
968
|
+
lines.unshift(...importLines);
|
|
969
|
+
}
|
|
970
|
+
else {
|
|
971
|
+
lines.splice(lastImportLineIdx + 1, 0, ...importLines);
|
|
972
|
+
}
|
|
823
973
|
}
|
|
824
974
|
code = lines.join('\n');
|
|
825
975
|
}
|
|
@@ -827,11 +977,7 @@ export function applyPatch(existingCode, ops) {
|
|
|
827
977
|
// Like ADD_IMPORT but inserts a blank line before the block — for vi.mock() calls
|
|
828
978
|
// and other module-level statements that follow imports
|
|
829
979
|
const lines = code.split('\n');
|
|
830
|
-
|
|
831
|
-
for (let idx = 0; idx < lines.length; idx++) {
|
|
832
|
-
if (/^\s*import\s/.test(lines[idx]))
|
|
833
|
-
lastImportLineIdx = idx;
|
|
834
|
-
}
|
|
980
|
+
const lastImportLineIdx = lastImportStatementEndIdx(lines);
|
|
835
981
|
const contentLines = ['', ...op.content.split('\n')];
|
|
836
982
|
if (lastImportLineIdx === -1) {
|
|
837
983
|
lines.unshift(...contentLines);
|
package/dist/lib/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/lib/validate.ts"],"names":[],"mappings":"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"}
|