@7n/rules 1.88.2 → 1.89.1
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,9 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [1.
|
|
3
|
+
## [1.89.1] - 2026-08-08
|
|
4
4
|
|
|
5
5
|
### Changed
|
|
6
6
|
|
|
7
|
+
- chore(release): синк пінів платформних napi-пакетів @7n/rules
|
|
8
|
+
|
|
9
|
+
## [1.89.0] - 2026-08-08
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Концерн `js-run/runtime` переїхав з JS у wasm-компонент `lang-js/wasm-concerns`
|
|
14
|
+
(зріз 7 контракту v3.1) — найбільший поодинокий концерн плагіна: дев'ять
|
|
15
|
+
незалежних під-перевірок одного ключа (`jsconfig.json` при наявному `src/`,
|
|
16
|
+
заборона `@nitra/bunyan`, фабричні імпорти підключень поза `conn`-каталогом,
|
|
17
|
+
нейминг і експорти файлів `conn`-каталогу, `process.env`/`checkEnv`, пауза
|
|
18
|
+
через `new Promise` + `setTimeout`, `Temporal` у Bun-рантаймі, OTEL configmap,
|
|
19
|
+
декларація аліаса `#conn/*`).
|
|
20
|
+
|
|
21
|
+
Разом із портом прибрано вакуумний виклик `conftest` у гілці `jsconfig.json`:
|
|
22
|
+
він запускався на кожен workspace-пакет, але не міг віддати жодного порушення
|
|
23
|
+
(канон `js_run.jsconfig` очікує `--data`, якого цей виклик не передавав). Сама
|
|
24
|
+
структурна валідація `jsconfig.json` не втрачена — її робить окремий
|
|
25
|
+
policy-концерн `js-run/jsconfig`, у якого `--data` формується правильно.
|
|
7
26
|
- `k8s/manifests` — третій зріз порту в `rules-core`, після якого **весь** `lint()` концерну має native-дзеркало. Портовано kubescape-контур (`findKustomizationDirs` + `kubectl kustomize`, auto-exceptions C-0056/C-0018 для probe у `Job`/`CronJob`, користувацький `.kubescape-exceptions.json`, 5-хвилинний wall-clock ліміт із власним текстом порушення) і kustomize-резолюцію з пʼятьма залежними `validate*` (`collectResourceDescriptorsForKustomizationWalk`, `kustomizeResourceTreeHpaPdbDeploymentFlags`, `prodOverlayHpaPdbOverrideNeeds`, `kustomizationTreeHasHasuraDeployment`). Концерн у `NATIVE_CONCERNS` як і раніше **не** заведено — гейт `check-mjs-contract` вимагає, щоб у native-концерну не було `main.mjs`, тобто заведення в реєстр і видалення JS-канону є одним неподільним кроком, який чекає на порт fix-поверхні; поведінка лінту незмінна.
|
|
8
27
|
|
|
9
28
|
Полагоджено дефект канону: **обидва детектори застарілих `apiVersion` не спрацьовували ніколи**. `BATCH_V1BETA1_API_VERSION_LINE_RE` і `GATEWAY_HTTPROUTE_V1BETA1_LINE_RE` — рядкові якірні регулярні вирази (`^…$` без прапорця `m`), і саме так їх застосовує T0-фікс (`rewriteLine*` — по одному рядку), але `detectBatchV1beta1InK8sYamlFiles` і `detectGatewayHttpRouteV1beta1InK8sYamlFiles` звіряли їх із **усім** текстом файла. Такий збіг можливий лише на файлі, що цілком складається з одного рядка `apiVersion: batch/v1beta1`, тобто ніколи на справжньому маніфесті: заборона `batch/v1beta1` і `gateway.networking.k8s.io/v1beta1` була мертвою, попри повідомлення, T0-патерни `fix-manifests.mjs` і розділи `manifest.mdc` / `gateway.mdc`, що обіцяють автоматичне переписування. Тепер обидва детектори звіряють regex по рядках — так само, як сусідня перевірка `kind: HTTPRoute` робила від початку. **Зміна поведінки, напрямок fail-closed:** маніфести під `k8s` із застарілими `apiVersion: batch/v1beta1` та `apiVersion: gateway.networking.k8s.io/v1beta1` у `HTTPRoute` тепер дають порушення (з fix-hint, тож `--fix` їх виправляє), а раніше мовчки проходили.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7n/rules",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.89.1",
|
|
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.1.0",
|
|
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.89.0",
|
|
87
|
+
"@7n/rules-linux-x64": "1.89.0",
|
|
88
|
+
"@7n/rules-win32-x64": "1.89.0",
|
|
89
89
|
"@earendil-works/pi-ai": "0.80.10",
|
|
90
90
|
"@earendil-works/pi-coding-agent": "0.80.10"
|
|
91
91
|
},
|
|
Binary file
|