ci: keep pre-commit proportionate and avoid tool downloads (WealthLedger/frontend#62) #86

Merged
codex-bot merged 1 commits from 62-proportionate-pre-commit into develop 2026-10-15 06:34:36 +03:00
Owner

Closes #62.

Что изменено

  • .husky/pre-commit: убран npm run deps (full graph остаётся в npm run verify и CI). npx lint-staged заменён прямым вызовом node_modules/.bin/lint-staged с проверкой наличия: при отсутствии коммит блокируется понятным сообщением, tool не скачивается.
  • scripts/test-pre-commit.mjs: новый сценарий — hook не вызывает npx/npm и блокируется без lint-staged; первый сценарий использует установленный локальный бинарник.
  • engineering.md: строка про pre-commit (без npx, full graph только в verify/CI).
  • README.md: описание поведения hook.

Почему не npx --no

Проверено: npx --no <missing> всё равно ходит в registry (E404), то есть не гарантирует отсутствие установки. Прямой путь к node_modules/.bin не выполняет сетевых запросов и падает сразу (exit 127).

Проверка

  • node --test scripts/test-pre-commit.mjs — 2 passed.
  • Регрессия: со старым hook новый сценарий падает.
  • Реальный Markdown-only коммит: gitleaks → lint-staged «нет подходящих файлов» → готово за ~0.7 с, без deps.
  • npm run verify — exit 0 (66 файлов, 435 тестов, depcruise без нарушений, Storybook собран).

package.json не менялся: lint-staged уже объявлен напрямую (17.5.1).

Closes #62. ## Что изменено - `.husky/pre-commit`: убран `npm run deps` (full graph остаётся в `npm run verify` и CI). `npx lint-staged` заменён прямым вызовом `node_modules/.bin/lint-staged` с проверкой наличия: при отсутствии коммит блокируется понятным сообщением, tool не скачивается. - `scripts/test-pre-commit.mjs`: новый сценарий — hook не вызывает `npx`/`npm` и блокируется без lint-staged; первый сценарий использует установленный локальный бинарник. - `engineering.md`: строка про pre-commit (без `npx`, full graph только в verify/CI). - `README.md`: описание поведения hook. ## Почему не `npx --no` Проверено: `npx --no <missing>` всё равно ходит в registry (E404), то есть не гарантирует отсутствие установки. Прямой путь к `node_modules/.bin` не выполняет сетевых запросов и падает сразу (exit 127). ## Проверка - `node --test scripts/test-pre-commit.mjs` — 2 passed. - Регрессия: со старым hook новый сценарий падает. - Реальный Markdown-only коммит: gitleaks → lint-staged «нет подходящих файлов» → готово за ~0.7 с, без deps. - `npm run verify` — exit 0 (66 файлов, 435 тестов, depcruise без нарушений, Storybook собран). `package.json` не менялся: `lint-staged` уже объявлен напрямую (17.5.1).
ksv741 added 1 commit 2026-10-15 06:16:12 +03:00
ci: keep pre-commit proportionate and avoid tool downloads (WealthLedger/frontend#62)
Frontend verify / commits (pull_request) Successful in 34s
Frontend verify / security (pull_request) Successful in 9s
Frontend verify / verify (pull_request) Successful in 5m37s
cb97ced66c
ksv741 force-pushed 62-proportionate-pre-commit from 228b66164f to cb97ced66c 2026-10-15 06:16:12 +03:00 Compare
codex-bot merged commit d409a297e5 into develop 2026-10-15 06:34:36 +03:00
codex-bot deleted branch 62-proportionate-pre-commit 2026-10-15 06:34:36 +03:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/frontend#86