@7n/rules 1.87.0 → 1.88.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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.88.0] - 2026-08-05
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Rust-CLI `rules-cli` розбирає argv через `clap` — одна граматика замість трьох ручних парсерів (Р11). Значення прапорців тепер приймаються в обох формах (`--root <шлях>` і `--root=<шлях>`; раніше `rename-yaml-extensions` розумів лише другу, решта команд — лише першу); прапорець без значення став помилкою розбору замість мовчазного `null`; за дубльованого прапорця береться останнє входження, а не перше. `rename-yaml-extensions` більше не ковтає невідомий аргумент мовчки — раніше друкарська помилка в прапорці тихо запускала перейменування файлів, тепер це usage-помилка (код `2`) і зʼявилась довідка `--help`; той самий код `2` тепер і в `changed-files` (був `1`). На поверхнях, які бінар ще ділить із JS-CLI (`lint`, `hook`, `ci plan`, `skill`), невідомий аргумент, як і раніше, не помилка — argv делегується в JS. Довідка `lint --help` лишилась байт-у-байт незмінною.
|
|
8
|
+
|
|
9
|
+
## [1.87.1] - 2026-08-05
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- docs(plans): реєстр — перенесення зі зрізу 6 і відновлення втраченого (#404)
|
|
14
|
+
|
|
3
15
|
## [1.87.0] - 2026-08-05
|
|
4
16
|
|
|
5
17
|
### Changed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7n/rules",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.88.0",
|
|
4
4
|
"description": "CLI еталонних правил і skills (префікс n-): синк у репозиторій, дельта-lint, конформність",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"rename-yaml-extensions": "bun ./bin/n-rules.js rename-yaml-extensions"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@7n/llm-lib": "3.0.
|
|
69
|
+
"@7n/llm-lib": "3.0.1",
|
|
70
70
|
"ajv": "^8.20.0",
|
|
71
71
|
"cli-progress": "^3.12.0",
|
|
72
72
|
"github-actionlint": "^1.7.12",
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
"zod": "^4.4.3"
|
|
84
84
|
},
|
|
85
85
|
"optionalDependencies": {
|
|
86
|
-
"@7n/rules-darwin-arm64": "1.
|
|
87
|
-
"@7n/rules-linux-x64": "1.
|
|
88
|
-
"@7n/rules-win32-x64": "1.
|
|
86
|
+
"@7n/rules-darwin-arm64": "1.88.0",
|
|
87
|
+
"@7n/rules-linux-x64": "1.88.0",
|
|
88
|
+
"@7n/rules-win32-x64": "1.88.0",
|
|
89
89
|
"@earendil-works/pi-ai": "0.80.10",
|
|
90
90
|
"@earendil-works/pi-coding-agent": "0.80.10"
|
|
91
91
|
},
|
|
@@ -108,7 +108,11 @@ export async function lint(ctx) {
|
|
|
108
108
|
// послідовний cat-file на запис дешевший за розбір бінарного `cat-file --batch`.
|
|
109
109
|
const blob = await spawnAsync(git, ['cat-file', 'blob', entry.sha], { cwd, signal: ctx.signal })
|
|
110
110
|
if (blob.exitCode !== 0) continue
|
|
111
|
-
|
|
111
|
+
// Хвостові переводи рядка зрізаємо циклом, а не регексом: `/\n+$/`
|
|
112
|
+
// позначений як super-linear (backtracking), а `trimEnd()` зʼїв би ще й
|
|
113
|
+
// пробіли — а вони в цілі симлінка значущі.
|
|
114
|
+
let target = blob.stdout
|
|
115
|
+
while (target.endsWith('\n')) target = target.slice(0, -1)
|
|
112
116
|
if (target.length === 0) continue
|
|
113
117
|
|
|
114
118
|
const absolute = isAbsoluteTarget(target)
|