lacuna-cli 0.1.9 → 0.2.0
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 +57 -3
- package/dist/agent/fix-loop.d.ts +1 -0
- package/dist/agent/fix-loop.d.ts.map +1 -1
- package/dist/agent/fix-loop.js +110 -20
- package/dist/agent/fix-loop.js.map +1 -1
- package/dist/agent/generator.d.ts +5 -0
- package/dist/agent/generator.d.ts.map +1 -1
- package/dist/agent/generator.js +149 -20
- package/dist/agent/generator.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +88 -22
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/prompts/index.d.ts +2 -1
- package/dist/agent/prompts/index.d.ts.map +1 -1
- package/dist/agent/prompts/index.js +39 -8
- package/dist/agent/prompts/index.js.map +1 -1
- package/dist/commands/fix.d.ts +1 -0
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +20 -5
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +6 -0
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/lib/config.d.ts +4 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +43 -30
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/typecheck.d.ts +1 -0
- package/dist/lib/typecheck.d.ts.map +1 -1
- package/dist/lib/typecheck.js +119 -7
- package/dist/lib/typecheck.js.map +1 -1
- package/dist/lib/validate.d.ts +12 -1
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +106 -19
- package/dist/lib/validate.js.map +1 -1
- package/lacuna.schema.json +150 -0
- package/package.json +6 -4
package/dist/lib/validate.js
CHANGED
|
@@ -20,11 +20,34 @@ export function hasPlaceholderBodies(code) {
|
|
|
20
20
|
// a placeholder, then closing brace. Catches: { // body }, { // TODO }, { // implement }.
|
|
21
21
|
return /\{\s*\/\/\s*(body|todo|implement(?:ation)?|placeholder|stub|fill\s*in|your\s*code)\s*\}/i.test(code);
|
|
22
22
|
}
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
// Returns true when the runner output shows that zero tests were collected.
|
|
24
|
+
// Distinct from hasTestFunctions (static check) — this checks actual runtime collection.
|
|
25
|
+
// Handles:
|
|
26
|
+
// - Vitest summary "Tests 0 total" or "Tests no tests"
|
|
27
|
+
// - Jest summary "Tests: 0 total"
|
|
28
|
+
// - Common "no tests found" / "found 0 tests" messages
|
|
29
|
+
// NOTE: Vitest per-file listing lines like "foo.test.ts (0 test)" are NOT zero-test
|
|
30
|
+
// signals — that interim count updates as tests resolve; the summary line is authoritative.
|
|
31
|
+
// We do NOT match bare "0 test" (with word boundary) because of that false-positive.
|
|
32
|
+
//
|
|
33
|
+
// AUTHORITATIVE COUNT GUARD: if the summary reports ANY passed or failed test, tests WERE
|
|
34
|
+
// collected — even if a failing test's name or assertion message happens to contain the
|
|
35
|
+
// phrase "no tests found" / "found 0 tests". Those substrings are unanchored and would
|
|
36
|
+
// otherwise false-positive on a run like "11 failed | 17 passed (28)". The pass/fail counts
|
|
37
|
+
// come from the authoritative Tests summary line, so they override the substring match.
|
|
38
|
+
export function isZeroTestsOutput(raw) {
|
|
39
|
+
if (parsePassCount(raw) > 0 || parseFailCount(raw) > 0)
|
|
40
|
+
return false;
|
|
41
|
+
return /Tests:?\s+(?:0\s+total|no tests)\b|no tests? found|found 0 tests/i.test(raw);
|
|
42
|
+
}
|
|
43
|
+
// If the runner output indicates "no tests found", replace it with a clear instruction
|
|
44
|
+
// so the AI knows exactly what went wrong. The zero-tests decision is made on `rawOutput`
|
|
45
|
+
// (the full runner output, which still carries the authoritative Tests summary line);
|
|
46
|
+
// `extracted` is the already-trimmed failure text that gets returned/appended. Callers that
|
|
47
|
+
// only have one string can omit `rawOutput` — it defaults to `extracted`.
|
|
48
|
+
export function enrichNoTestsError(extracted, rawOutput = extracted) {
|
|
49
|
+
if (!isZeroTestsOutput(rawOutput))
|
|
50
|
+
return extracted;
|
|
28
51
|
return ('ERROR: Vitest found 0 tests in this file. The file ran but had nothing to execute.\n\n' +
|
|
29
52
|
'This means one of:\n' +
|
|
30
53
|
' 1. You wrote only imports, types, or describe() blocks with no it()/test() inside\n' +
|
|
@@ -36,12 +59,7 @@ export function enrichNoTestsError(output) {
|
|
|
36
59
|
' })\n\n' +
|
|
37
60
|
'DO NOT wrap tests inside a function. Put them directly inside describe() or at the top level.\n\n' +
|
|
38
61
|
'Original runner output:\n' +
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
// Returns true when the runner output shows that zero tests were collected.
|
|
42
|
-
// Distinct from hasTestFunctions (static check) — this checks actual runtime collection.
|
|
43
|
-
export function isZeroTestsOutput(raw) {
|
|
44
|
-
return /Tests:\s+0\s+total|no tests found|found 0 tests/i.test(raw);
|
|
62
|
+
extracted);
|
|
45
63
|
}
|
|
46
64
|
// Extracts the number of passing tests from the runner summary footer.
|
|
47
65
|
// Targets the "Tests N failed | M passed (total)" line specifically to avoid
|
|
@@ -55,6 +73,14 @@ export function parsePassCount(output) {
|
|
|
55
73
|
const m = output.match(/(\d+)\s+passed/);
|
|
56
74
|
return m ? parseInt(m[1], 10) : 0;
|
|
57
75
|
}
|
|
76
|
+
// Extracts the number of failing tests from the runner summary footer.
|
|
77
|
+
// Anchored to the "Tests N failed | M passed" line specifically — the word "failed"
|
|
78
|
+
// appears in too many noise lines (per-test FAIL markers, stack frames) to match loosely.
|
|
79
|
+
// Used alongside parsePassCount to prove tests were actually collected.
|
|
80
|
+
export function parseFailCount(output) {
|
|
81
|
+
const summaryLine = output.match(/^\s*Tests\b[^\n]*?(\d+)\s+failed/m);
|
|
82
|
+
return summaryLine ? parseInt(summaryLine[1], 10) : 0;
|
|
83
|
+
}
|
|
58
84
|
// Strips leading prose/thinking lines from generated code output.
|
|
59
85
|
// When a model bleeds reasoning into <code_output>, the file starts with fragments
|
|
60
86
|
// like ", nothing else." or "I'll write the test now." before the real code begins.
|
|
@@ -417,7 +443,10 @@ export function buildRegressionMessage(initialError, currentError, baselinePass,
|
|
|
417
443
|
export function parsePatch(patchOutput) {
|
|
418
444
|
const ops = [];
|
|
419
445
|
const lines = patchOutput.split('\n');
|
|
420
|
-
|
|
446
|
+
// Capture the anchor either quoted ("name") or unquoted (name).
|
|
447
|
+
// Group 2 = quoted text, group 3 = unquoted text. DeepSeek and other models
|
|
448
|
+
// often drop the double-quotes, so we accept both forms.
|
|
449
|
+
const headerRe = /^\/\/ @@@ (REPLACE_TEST|DELETE_TEST|ADD_AFTER_DESCRIBE|ADD_IMPORT|ADD_AFTER_IMPORTS|REPLACE):\s*(?:"([^"]*)"|(.*\S))?/;
|
|
421
450
|
const withRe = /^\/\/ @@@ WITH:\s*$/;
|
|
422
451
|
const endRe = /^\/\/ @@@ END\s*$/;
|
|
423
452
|
let i = 0;
|
|
@@ -460,7 +489,7 @@ export function parsePatch(patchOutput) {
|
|
|
460
489
|
ops.push({ type, anchor, content });
|
|
461
490
|
}
|
|
462
491
|
else {
|
|
463
|
-
const anchor = m[2] ?? ''; // ADD_IMPORT
|
|
492
|
+
const anchor = (m[2] ?? m[3] ?? '').trim(); // quoted OR unquoted; ADD_IMPORT/ADD_AFTER_IMPORTS have no anchor
|
|
464
493
|
const contentLines = [];
|
|
465
494
|
while (i < lines.length && !endRe.test(lines[i])) {
|
|
466
495
|
contentLines.push(lines[i]);
|
|
@@ -477,6 +506,47 @@ export function parsePatch(patchOutput) {
|
|
|
477
506
|
}
|
|
478
507
|
return ops;
|
|
479
508
|
}
|
|
509
|
+
// Finds the start and end character positions of `anchor` within `code`.
|
|
510
|
+
// First tries exact match; if that fails, tries a line-by-line match that
|
|
511
|
+
// trims trailing whitespace from each line (handles trailing spaces and CRLF files).
|
|
512
|
+
// Returns the range in the ORIGINAL (un-normalized) code so the replacement is clean.
|
|
513
|
+
function findAnchorRange(code, anchor) {
|
|
514
|
+
// Fast path: exact match
|
|
515
|
+
const exactIdx = code.indexOf(anchor);
|
|
516
|
+
if (exactIdx !== -1)
|
|
517
|
+
return { start: exactIdx, end: exactIdx + anchor.length };
|
|
518
|
+
// Fallback: trim trailing whitespace (including \r) on every line and re-compare.
|
|
519
|
+
// Handles trailing spaces left by editors and CRLF files (\r stripped by trimEnd).
|
|
520
|
+
const anchorLines = anchor.split('\n').map(l => l.trimEnd());
|
|
521
|
+
const codeLines = code.split('\n');
|
|
522
|
+
const n = anchorLines.length;
|
|
523
|
+
if (n === 0)
|
|
524
|
+
return null;
|
|
525
|
+
// Precompute byte offset of each line start — O(N) once, avoids O(N²) inner accumulation.
|
|
526
|
+
const lineStart = new Array(codeLines.length + 1);
|
|
527
|
+
lineStart[0] = 0;
|
|
528
|
+
for (let k = 0; k < codeLines.length; k++) {
|
|
529
|
+
lineStart[k + 1] = lineStart[k] + codeLines[k].length + 1; // +1 for the \n separator
|
|
530
|
+
}
|
|
531
|
+
for (let i = 0; i <= codeLines.length - n; i++) {
|
|
532
|
+
if (codeLines[i].trimEnd() !== anchorLines[0])
|
|
533
|
+
continue;
|
|
534
|
+
let match = true;
|
|
535
|
+
for (let j = 1; j < n; j++) {
|
|
536
|
+
if (codeLines[i + j].trimEnd() !== anchorLines[j]) {
|
|
537
|
+
match = false;
|
|
538
|
+
break;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
if (!match)
|
|
542
|
+
continue;
|
|
543
|
+
const start = lineStart[i];
|
|
544
|
+
// end = start of line after the match minus the \n, i.e. the span of the matched lines joined
|
|
545
|
+
const end = start + codeLines.slice(i, i + n).join('\n').length;
|
|
546
|
+
return { start, end };
|
|
547
|
+
}
|
|
548
|
+
return null;
|
|
549
|
+
}
|
|
480
550
|
// Finds the end of an it()/test()/describe() call starting at `startIdx` in `code`.
|
|
481
551
|
// `startIdx` must point to the opening `(` of the call.
|
|
482
552
|
// Returns the index just past the closing `)` (and optional `;`), or -1 on failure.
|
|
@@ -586,10 +656,12 @@ export function applyPatch(existingCode, ops) {
|
|
|
586
656
|
if (op.type === 'REPLACE') {
|
|
587
657
|
// General text replacement — same mechanism as the Edit tool.
|
|
588
658
|
// anchor = exact old text, content = replacement. First occurrence only.
|
|
589
|
-
|
|
659
|
+
// Falls back to trailing-whitespace-normalized line matching so that minor
|
|
660
|
+
// formatting differences (trailing spaces, CRLF files) don't cause failures.
|
|
661
|
+
const range = findAnchorRange(code, op.anchor);
|
|
662
|
+
if (!range)
|
|
590
663
|
return null;
|
|
591
|
-
|
|
592
|
-
code = code.slice(0, idx) + op.content + code.slice(idx + op.anchor.length);
|
|
664
|
+
code = code.slice(0, range.start) + op.content + code.slice(range.end);
|
|
593
665
|
}
|
|
594
666
|
else if (op.type === 'REPLACE_TEST' || op.type === 'DELETE_TEST') {
|
|
595
667
|
const anchor = op.anchor;
|
|
@@ -833,6 +905,21 @@ export function tryApplyPatch(existingCode, patchOutput) {
|
|
|
833
905
|
return null;
|
|
834
906
|
return applyPatch(existingCode, ops);
|
|
835
907
|
}
|
|
908
|
+
// Like tryApplyPatch but surfaces which operation failed, so callers can build
|
|
909
|
+
// a useful error message pointing the model at the exact anchor that didn't match.
|
|
910
|
+
export function tryApplyPatchWithDiag(existingCode, patchOutput) {
|
|
911
|
+
const ops = parsePatch(patchOutput);
|
|
912
|
+
if (ops.length === 0)
|
|
913
|
+
return { ok: false, failedOp: null, opsCount: 0 };
|
|
914
|
+
let code = existingCode;
|
|
915
|
+
for (const op of ops) {
|
|
916
|
+
const result = applyPatch(code, [op]);
|
|
917
|
+
if (result === null)
|
|
918
|
+
return { ok: false, failedOp: op, opsCount: ops.length };
|
|
919
|
+
code = result;
|
|
920
|
+
}
|
|
921
|
+
return { ok: true, result: code };
|
|
922
|
+
}
|
|
836
923
|
export function parseMocksPatch(patchOutput) {
|
|
837
924
|
const ops = [];
|
|
838
925
|
const lines = patchOutput.split('\n');
|
|
@@ -900,12 +987,12 @@ export function applyMocksPatch(existing, ops) {
|
|
|
900
987
|
const failedOps = [];
|
|
901
988
|
for (const op of ops) {
|
|
902
989
|
if (op.type === 'REPLACE') {
|
|
903
|
-
|
|
990
|
+
const range = findAnchorRange(code, op.oldText);
|
|
991
|
+
if (!range) {
|
|
904
992
|
failedOps.push(op);
|
|
905
993
|
continue;
|
|
906
994
|
}
|
|
907
|
-
|
|
908
|
-
code = code.slice(0, code.indexOf(op.oldText)) + op.newText + code.slice(code.indexOf(op.oldText) + op.oldText.length);
|
|
995
|
+
code = code.slice(0, range.start) + op.newText + code.slice(range.end);
|
|
909
996
|
}
|
|
910
997
|
else if (op.type === 'APPEND_EXPORT') {
|
|
911
998
|
// Insert before the last beforeEach block, or at end of file if none
|
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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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://raw.githubusercontent.com/Octagon-simon/lacuna/main/lacuna.schema.json",
|
|
4
|
+
"title": "Lacuna config (.lacuna.json)",
|
|
5
|
+
"description": "Configuration for the lacuna CLI. See https://github.com/Octagon-simon/lacuna",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "JSON Schema reference for editor completion."
|
|
11
|
+
},
|
|
12
|
+
"testRunner": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"enum": [
|
|
15
|
+
"jest",
|
|
16
|
+
"vitest",
|
|
17
|
+
"pytest",
|
|
18
|
+
"mocha",
|
|
19
|
+
"go-test",
|
|
20
|
+
"phpunit",
|
|
21
|
+
"pest",
|
|
22
|
+
"rspec",
|
|
23
|
+
"cargo-test",
|
|
24
|
+
"dotnet-test",
|
|
25
|
+
"gradle-test",
|
|
26
|
+
"maven-test",
|
|
27
|
+
"swift-test"
|
|
28
|
+
],
|
|
29
|
+
"description": "Test runner. Auto-detected from your project dependencies if omitted."
|
|
30
|
+
},
|
|
31
|
+
"coverageFormat": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": [
|
|
34
|
+
"lcov",
|
|
35
|
+
"json-summary",
|
|
36
|
+
"cobertura"
|
|
37
|
+
],
|
|
38
|
+
"default": "lcov",
|
|
39
|
+
"description": "Coverage report format your test runner produces."
|
|
40
|
+
},
|
|
41
|
+
"coverageDir": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"default": "coverage",
|
|
44
|
+
"description": "Directory where your test runner writes its coverage report."
|
|
45
|
+
},
|
|
46
|
+
"sourceDir": {
|
|
47
|
+
"anyOf": [
|
|
48
|
+
{
|
|
49
|
+
"type": "string"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "array",
|
|
53
|
+
"items": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"default": "src",
|
|
59
|
+
"description": "Source directory (or directories) to scan for coverage gaps. A string, or an array like [\"src\",\"lib\"] when source lives in multiple top-level dirs."
|
|
60
|
+
},
|
|
61
|
+
"threshold": {
|
|
62
|
+
"type": "number",
|
|
63
|
+
"minimum": 0,
|
|
64
|
+
"maximum": 100,
|
|
65
|
+
"default": 80,
|
|
66
|
+
"description": "Minimum line-coverage % a file must reach to be considered covered."
|
|
67
|
+
},
|
|
68
|
+
"maxIterations": {
|
|
69
|
+
"type": "number",
|
|
70
|
+
"minimum": 1,
|
|
71
|
+
"maximum": 10,
|
|
72
|
+
"default": 3,
|
|
73
|
+
"description": "How many times to retry a failing generated/fixed test before giving up."
|
|
74
|
+
},
|
|
75
|
+
"coverageTimeout": {
|
|
76
|
+
"type": "number",
|
|
77
|
+
"minimum": 30,
|
|
78
|
+
"default": 300,
|
|
79
|
+
"description": "Seconds before the test suite is killed — guards against hung open handles (unclosed servers, timers)."
|
|
80
|
+
},
|
|
81
|
+
"testDir": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Optional explicit test directory. Rarely needed — test locations are auto-detected."
|
|
84
|
+
},
|
|
85
|
+
"ignore": {
|
|
86
|
+
"type": "array",
|
|
87
|
+
"items": {
|
|
88
|
+
"type": "string"
|
|
89
|
+
},
|
|
90
|
+
"default": [],
|
|
91
|
+
"description": "Path substrings to exclude from gap detection, e.g. [\"src/graphql/\", \"src/theme/\"]."
|
|
92
|
+
},
|
|
93
|
+
"mocksFile": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "Path to a shared mock file every generated test imports from, e.g. \"src/test/mocks.ts\"."
|
|
96
|
+
},
|
|
97
|
+
"setupFile": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "Path to your test setup file. Its contents are shown to the AI so it knows which globals/matchers exist."
|
|
100
|
+
},
|
|
101
|
+
"provider": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"enum": [
|
|
104
|
+
"anthropic",
|
|
105
|
+
"openai-compatible"
|
|
106
|
+
],
|
|
107
|
+
"default": "openai-compatible",
|
|
108
|
+
"description": "AI provider. \"anthropic\" uses the Anthropic SDK; \"openai-compatible\" covers DeepSeek, OpenAI, Groq, OpenRouter, Ollama, etc."
|
|
109
|
+
},
|
|
110
|
+
"model": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"default": "deepseek-chat",
|
|
113
|
+
"description": "Model name, e.g. \"deepseek-chat\", \"claude-sonnet-4-6\", \"gpt-4o\"."
|
|
114
|
+
},
|
|
115
|
+
"baseURL": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"default": "https://api.deepseek.com/v1",
|
|
118
|
+
"description": "API base URL. Required for the \"openai-compatible\" provider."
|
|
119
|
+
},
|
|
120
|
+
"apiKeyEnv": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"default": "DEEPSEEK_API_KEY",
|
|
123
|
+
"description": "Name of the environment variable that holds your API key."
|
|
124
|
+
},
|
|
125
|
+
"maxTokens": {
|
|
126
|
+
"type": "number",
|
|
127
|
+
"minimum": 1024,
|
|
128
|
+
"maximum": 128000,
|
|
129
|
+
"default": 16000,
|
|
130
|
+
"description": "Maximum output tokens per model call. Lower for strict providers (Groq free tier ~8000); raise if large test files are cut off."
|
|
131
|
+
},
|
|
132
|
+
"testCommand": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "Override the auto-detected test command, e.g. \"npx jest --no-coverage\". Use to add flags."
|
|
135
|
+
},
|
|
136
|
+
"testEnv": {
|
|
137
|
+
"type": "object",
|
|
138
|
+
"additionalProperties": {
|
|
139
|
+
"type": "string"
|
|
140
|
+
},
|
|
141
|
+
"default": {},
|
|
142
|
+
"description": "Environment variables injected into every test-runner invocation, e.g. { \"NODE_CONFIG_DIR\": \"packages/server/config\" }."
|
|
143
|
+
},
|
|
144
|
+
"debug": {
|
|
145
|
+
"type": "boolean",
|
|
146
|
+
"description": "Set true to log every raw model prompt + response. Each target file gets its own log (lacuna-debug.<file>.txt). Equivalent to LACUNA_DEBUG=1."
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"additionalProperties": false
|
|
150
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lacuna-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Agentic CLI that finds coverage gaps, generates tests, and verifies them in a loop",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"testing",
|
|
@@ -19,10 +19,11 @@
|
|
|
19
19
|
"files": [
|
|
20
20
|
"/bin",
|
|
21
21
|
"/dist",
|
|
22
|
-
"/oclif.manifest.json"
|
|
22
|
+
"/oclif.manifest.json",
|
|
23
|
+
"/lacuna.schema.json"
|
|
23
24
|
],
|
|
24
25
|
"scripts": {
|
|
25
|
-
"build": "tsc -p tsconfig.json",
|
|
26
|
+
"build": "tsc -p tsconfig.json && node scripts/generate-schema.mjs",
|
|
26
27
|
"watch": "tsc -p tsconfig.json --watch",
|
|
27
28
|
"lint": "eslint src --ext .ts",
|
|
28
29
|
"format": "prettier --write 'src/**/*.ts'",
|
|
@@ -48,7 +49,8 @@
|
|
|
48
49
|
"eslint": "^9",
|
|
49
50
|
"prettier": "^3",
|
|
50
51
|
"ts-node": "^10",
|
|
51
|
-
"typescript": "^5"
|
|
52
|
+
"typescript": "^5",
|
|
53
|
+
"zod-to-json-schema": "^3.25.2"
|
|
52
54
|
},
|
|
53
55
|
"engines": {
|
|
54
56
|
"node": ">=20.0.0"
|