@nitra/cursor 1.27.6 → 1.27.9

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/CHANGELOG.md CHANGED
@@ -4,6 +4,24 @@
4
4
 
5
5
  Формат — [Keep a Changelog](https://keepachangelog.com/uk/1.1.0/), нумерація — [SemVer](https://semver.org/lang/uk/).
6
6
 
7
+ ## [1.27.9] - 2026-05-27
8
+
9
+ ### Added
10
+
11
+ - **`test/coverage` — мутаційне покриття 98.58%**: додано 1 тест (`runCoverageCli з opts.fix=true: 2-й withLock-fn повертає число`) для знищення ArrowFunction-мутанта L210:33 (`() => runCoverageSteps({fix:false})` → `() => undefined`); у `coverage.mjs` L185 отримав `// Stryker disable next-line StringLiteral` (еквівалентний мутант: `writeFile(…,'')` ≡ `writeFile(…,'utf8')` у Bun/Node). Stryker: Killed 139/141 (2 ignored-equivalent), Survived 2 (equivalent ObjectLiteral/BooleanLiteral у тілі стрілки без активного cwd). Тестів: 57 → 58.
12
+
13
+ ## [1.27.8] - 2026-05-27
14
+
15
+ ### Added
16
+
17
+ - **`test/coverage` — мутаційне покриття 97.20%**: +20 тестів (describe-блоки: `allSurvived flatMap edge cases`, `renderMarkdown survived-таблиці`, `runCoverageSteps opts.fix branch`, `runCoverageCli withLock wrapper`). Stryker: Killed 139/143, Survived 2 (equivalent), NoCoverage 2 (unreachable without coverage-fix stub). `npm/rules/test/coverage/tests/coverage.test.mjs`: 19 → 57 тестів.
18
+
19
+ ## [1.27.7] - 2026-05-27
20
+
21
+ ### Fixed
22
+
23
+ - **Vitest `process.chdir` race у `withTmpCwd`**: у `npm/vitest.config.js` виставлено `pool: 'forks'`. У default `pool: 'threads'` усі workers ділять один процес, тож паралельні `withTmpCwd` із `scripts/utils/test-helpers.mjs` ламали один одному `process.cwd()`. Це призводило до того, що `git init`+`git commit` з `cwd: process.cwd()` у тестах `rules/changelog/.../check.test.mjs` (з `user.name=test`, `user.email=test@test`, `-m 'init'`) потрапляли в реальний репо, де відбувався vitest run, і знищували `npm/package.json` / `npm/CHANGELOG.md`. Forks ізолюють процеси, race усунутий. JSDoc у `withTmpCwd` доповнено попередженням.
24
+
7
25
  ## [1.27.6] - 2026-05-27
8
26
 
9
27
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nitra/cursor",
3
- "version": "1.27.6",
3
+ "version": "1.27.9",
4
4
  "description": "CLI для завантаження cursor-правил (префікс n-) у локальний репозиторій",
5
5
  "keywords": [
6
6
  "cli",
@@ -182,6 +182,7 @@ export async function runCoverageSteps(opts = {}) {
182
182
 
183
183
  rows.push(buildTotalsRow(rows))
184
184
  const md = renderMarkdown(rows)
185
+ // Stryker disable next-line StringLiteral: equivalent – writeFile(path, str, '') behaves identically to 'utf8' in Node/Bun
185
186
  await writeFile(join(cwd, 'COVERAGE.md'), md, 'utf8')
186
187
  console.log('✓ COVERAGE.md')
187
188