@shmidko61/lc-ui-kit 0.17.0 → 0.17.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.
Files changed (3) hide show
  1. package/README.md +33 -16
  2. package/dist/styles.css +1 -1
  3. package/package.json +32 -30
package/README.md CHANGED
@@ -7,24 +7,41 @@
7
7
  Из каталога `apps`:
8
8
 
9
9
  ```bash
10
- corepack pnpm --filter @shmidko61/lc-ui-kit verify:package
10
+ corepack pnpm release:check:ui-kit
11
11
  ```
12
12
 
13
- Команда последовательно проверяет типы исходников, ESLint (включая Storybook),
14
- форматирование, production-сборку, публичные типы с `skipLibCheck: false`,
15
- саму защиту релиза на негативных примерах, ESM/CJS exports, все `.d.ts`,
16
- production safelist, hover, состав npm tarball и сборку Storybook.
17
-
18
- `prepublishOnly` запускает тот же `verify:package`. Если любая стадия падает,
19
- проверка завершается с ненулевым кодом и публикация не продолжается.
20
- `pack:check` использует локальный `npm pack --dry-run --ignore-scripts`:
21
- авторизация в registry не требуется, lifecycle не запускается повторно.
22
-
23
- Отдельные проверки доступны как `typecheck`, `lint`, `format:check`,
24
- `typecheck:package`, `test:checks`, `test:package`, `test:hover`, `pack:check`
25
- `test:states` и `storybook:build`. Проверки собранного пакета запускаются после `build`.
26
- ESLint использует отдельный `tsconfig.eslint.json`; конфигурация source
27
- typecheck и публичные props компонентов не меняются.
13
+ Команда устанавливает зависимости по frozen lockfile, удаляет старый `dist`,
14
+ запускает lint, typecheck, тесты, сборку и Storybook. Затем `npm pack` создаёт
15
+ реальный tarball в `.release/ui-kit`; пакет устанавливается в отдельный временный
16
+ consumer без workspace-ссылок. Зависимости consumer фиксирует собственный
17
+ `package-lock.json`.
18
+
19
+ Проверяются все exports (ESM/CJS/types), декларации, файлы stylesheet, safelist,
20
+ каждый CSS-файл через Lightning CSS с минификацией и запрет `${…}` в декларациях
21
+ CSS. Consumer компилирует `contentInnerProps`, padding заголовка, md/lg/xl и
22
+ собирается на Vite 7.3.6 и 8.3.5 с `cssMinify: 'lightningcss'`. Chromium проверяет
23
+ реальный padding, нулевые значения, responsive/reset/style, клавиатуру, ARIA,
24
+ динамическую высоту и анимации на всех breakpoint. Негативные регрессии проверяют
25
+ невалидный CSS и исчезновение публичного prop.
26
+
27
+ Для браузерных проверок Chromium устанавливается автоматически. Можно задать
28
+ `CHROME_BIN` на существующий Chrome. На Linux нужны системные зависимости
29
+ Playwright/Chromium (в CI используется Chrome из ubuntu-latest).
30
+ При ошибке лог содержит этап `[release:…]` и путь consumer для диагностики.
31
+
32
+ `corepack pnpm publish:ui-kit` проверяет npm-пользователя, выполняет весь pipeline
33
+ и публикует **тот же tarball**, сверяя SHA-256 с `verified.json`. Повторной сборки
34
+ между проверкой и публикацией нет. Ввода PUBLISH нет; npm может запросить 2FA.
35
+ Прямая публикация из каталога пакета блокируется `prepublishOnly`.
36
+
37
+ CI workflow **UI-kit artifact gate** выполняет обязательный verify job;
38
+ публикация при ручном запуске с `publish=true` зависит от него и скачивает
39
+ проверенный tarball. Для npm нужен секрет `NPM_TOKEN`. Чтобы запретить merge при
40
+ ошибке, назначьте job `verify` обязательным в branch protection репозитория.
41
+ Никакие проверки не используют `allow_failure`/`continue-on-error`.
42
+
43
+ `verify:package` остаётся быстрым набором локальных проверок исходников и dist;
44
+ он не заменяет обязательную проверку релизного tarball.
28
45
 
29
46
  ## Установка
30
47