leerness 1.9.20 → 1.9.21
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/bin/harness.js +3 -2
- package/package.json +1 -1
- package/scripts/e2e.js +19 -0
package/bin/harness.js
CHANGED
|
@@ -6,7 +6,7 @@ const path = require('path');
|
|
|
6
6
|
const cp = require('child_process');
|
|
7
7
|
const readline = require('readline');
|
|
8
8
|
|
|
9
|
-
const VERSION = '1.9.
|
|
9
|
+
const VERSION = '1.9.21';
|
|
10
10
|
const MARK = '<!-- leerness:managed -->';
|
|
11
11
|
const README_START = '<!-- leerness:project-readme:start -->';
|
|
12
12
|
const README_END = '<!-- leerness:project-readme:end -->';
|
|
@@ -1496,7 +1496,8 @@ function verifyClaimCmd(root, taskId) {
|
|
|
1496
1496
|
// (1.9.19까지: src|bin|tests|public|lib 하드코딩 → Godot scenes/scripts 미검출)
|
|
1497
1497
|
// 변경: 확장자 화이트리스트 기반. 디렉토리는 선택적 (project.godot 같은 루트 파일도 잡음).
|
|
1498
1498
|
// 확장자는 길이 내림차순(긴 것 먼저 매치) + \b 종결로 .ts vs .tscn 구분.
|
|
1499
|
-
|
|
1499
|
+
// 1.9.21: 설정/메타 파일 확장자 추가 — Godot export_presets.cfg 등 false negative 보완
|
|
1500
|
+
const FILE_EXTS = 'webmanifest|dockerfile|properties|tscn|tres|godot|json5|jsx|tsx|yaml|html|scss|sass|less|gltf|conf|json|toml|lock|mdx|xml|css|svg|yml|cfg|ini|env|md|js|ts|gd|cs|py|rb|go|rs|kt|sh|h';
|
|
1500
1501
|
const FILE_RE = new RegExp(`(?:[A-Za-z][A-Za-z0-9_-]*\\/)?[A-Za-z][\\w./-]*\\.(?:${FILE_EXTS})\\b`, 'g');
|
|
1501
1502
|
const filePatterns = evidence.match(FILE_RE) || [];
|
|
1502
1503
|
// 중복 제거 + "tests/test.js" 같은 결과를 유지 (이미 `..` 없으니 그대로)
|
package/package.json
CHANGED
package/scripts/e2e.js
CHANGED
|
@@ -566,6 +566,25 @@ total++;
|
|
|
566
566
|
if (!ok) { failed++; console.log(r.stdout.slice(0, 500)); }
|
|
567
567
|
}
|
|
568
568
|
|
|
569
|
+
// 1.9.21 회귀: 설정 파일 확장자 (.cfg/.ini/.env/.toml/.lock) 추가
|
|
570
|
+
total++;
|
|
571
|
+
{
|
|
572
|
+
const tmpC = fs.mkdtempSync(path.join(os.tmpdir(), 'leerness-cfg-'));
|
|
573
|
+
cp.spawnSync(process.execPath, [CLI, 'init', tmpC, '--yes', '--language', 'ko', '--skills', 'recommended'], { stdio: 'ignore', timeout: 30000 });
|
|
574
|
+
fs.writeFileSync(path.join(tmpC, 'export_presets.cfg'), '[preset.0]\n');
|
|
575
|
+
fs.writeFileSync(path.join(tmpC, 'config.ini'), '[main]\n');
|
|
576
|
+
fs.writeFileSync(path.join(tmpC, 'Cargo.lock'), '# lock\n');
|
|
577
|
+
fs.appendFileSync(path.join(tmpC, '.harness/progress-tracker.md'),
|
|
578
|
+
'| T-0030 | done | 설정 | export_presets.cfg + config.ini + Cargo.lock | next | 2026-05-14 |\n');
|
|
579
|
+
const r = cp.spawnSync(process.execPath, [CLI, 'verify-claim', 'T-0030', '--path', tmpC], { encoding: 'utf8', timeout: 15000 });
|
|
580
|
+
const ok = r.status === 0
|
|
581
|
+
&& /✓ export_presets\.cfg/.test(r.stdout)
|
|
582
|
+
&& /✓ config\.ini/.test(r.stdout)
|
|
583
|
+
&& /✓ Cargo\.lock/.test(r.stdout);
|
|
584
|
+
console.log(ok ? '✓ B(1.9.21) verify-claim regex: .cfg/.ini/.lock 등 설정 메타 파일' : '✗ .cfg/.ini 확장 실패');
|
|
585
|
+
if (!ok) { failed++; console.log(r.stdout.slice(0, 500)); }
|
|
586
|
+
}
|
|
587
|
+
|
|
569
588
|
total++;
|
|
570
589
|
{
|
|
571
590
|
// jest 출력 파싱
|