@vernikr/size-report 2.0.1 → 2.0.2

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
@@ -18,6 +18,38 @@
18
18
  где за основу взяты `fixtures/synthetic/config.json`, метрики — `raw`, `min`, `tok`, а
19
19
  способ минификации — `strip` или `esbuild`.
20
20
 
21
+ ## 2.0.2 — 2026-09-15
22
+
23
+ Инструкция перестала обещать лишний ручной шаг и назвала платформенную разницу.
24
+
25
+ - **README учил ставить хук руками.** В §6 осталась строка прежнего выпуска — «хуки
26
+ ставятся только командой `install-hook`, ни один обычный запуск их не создаёт», — а с
27
+ 2.0.0 постановка своя (`bin/postinstall.js` и первый запуск). Текст теперь говорит то,
28
+ что делает код, и называет единственное исключение: pnpm 10 не исполняет скрипты
29
+ зависимостей («Ignored build scripts») — там хук ставит первый запуск, либо сборка
30
+ разрешается `pnpm.onlyBuiltDependencies` в манифесте потребителя.
31
+ - **Названа одна ручная ступень, которая была невидимой.** Первый отчёт создаётся, но не
32
+ коммитится (новый файл в чужой истории — решение человека): это сказано в §6 и в
33
+ шаблоне `templates/README.md`, дальше отчёт обновляется отдельными коммитами сам.
34
+
35
+ ### Что изменится в числах
36
+
37
+ **Ничего.** Правка — только текст инструкции; движок тот же, что у 2.0.1.
38
+
39
+ | Файл | raw | min со strip | min с esbuild | tok |
40
+ |---|---|---|---|---|
41
+ | code.js | 735 | 276 | 185 | 168 |
42
+ | modern.js | 246 | 51 | 45 | 44 |
43
+ | config.mjs | 172 | 45 | 40 | 40 |
44
+ | заметки.md | 306 | 303 | 303 | 53 |
45
+ | crlf.txt | 63 | 60 | 60 | 10 |
46
+ | package.json | 87 | 69 | 69 | 34 |
47
+ | style.css | 156 | 55 | 43 | 38 |
48
+ | table.toml | 300 | 299 | 299 | 52 |
49
+ | empty.js | 0 | 0 | 0 | 0 |
50
+ | WORKLOG.md | 446 | 439 | 439 | 101 |
51
+ | **ИТОГО** | **2511** | **1597** | **1483** | **540** |
52
+
21
53
  ## 2.0.1 — 2026-09-15
22
54
 
23
55
  Место отчёта в свежем проекте: `docs/size-report.html`, и каталог создаётся сам.
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ## Статус
12
12
 
13
- **Выпуск 2.0.1 (2026-09-15).** Инструмент живёт отдельным пакетом: имя в
13
+ **Выпуск 2.0.2 (2026-09-15).** Инструмент живёт отдельным пакетом: имя в
14
14
  реестре — `@vernikr/size-report` (публикуется тегом из CI, без секрета). Настроек
15
15
  проект может не заводить вовсе: без файла инструмент выводит их из самого проекта и
16
16
  говорит об этом строкой, а `--init` закрепляет выведенное файлом (чем этот шаг
@@ -643,7 +643,7 @@ pnpm add -D @vernikr/size-report
643
643
  ```
644
644
 
645
645
  Пакет **опубликован в реестре**, и публично: `npm view @vernikr/size-report
646
- version` отвечает `2.0.1`, `npm access get status @vernikr/size-report` — `public`,
646
+ version` отвечает `2.0.2`, `npm access get status @vernikr/size-report` — `public`,
647
647
  а анонимный запрос тарболла — код 200. `npm i -D` и `yarn add -D` принимают то же
648
648
  имя; ни ключа, ни ссылки на репозиторий не нужно.
649
649
 
@@ -651,11 +651,11 @@ version` отвечает `2.0.1`, `npm access get status @vernikr/size-report`
651
651
  реестра, но остаётся привязанной к ревизии:
652
652
 
653
653
  ```bash
654
- pnpm add -D github:vernikr/size-report#v2.0.1
654
+ pnpm add -D github:vernikr/size-report#v2.0.2
655
655
  ```
656
656
 
657
657
  Без сети (или если тянуть из codeload нечем) — тарболл: `pnpm pack` в клоне
658
- пакета, затем `pnpm add -D ./vernikr-size-report-2.0.1.tgz`.
658
+ пакета, затем `pnpm add -D ./vernikr-size-report-2.0.2.tgz`.
659
659
 
660
660
  **Почему тег, а не sha.** Короткий sha pnpm разрешает только через видимые рефы, а
661
661
  `git ls-remote` отдаёт одни верхушки веток: пока ревизия — верхушка, короткий sha
@@ -663,7 +663,7 @@ pnpm add -D github:vernikr/size-report#v2.0.1
663
663
  <sha> to a commit`. Это не рассуждение, а проба: короткий пин `6530237` ставился,
664
664
  пока `main` стоял на нём, и перестал — на следующем же коммите, а тот же sha
665
665
  целиком поставился. Имя ветки (`#main`) или тег принимаются оба, но ветка —
666
- движущаяся цель, а тег постоянен: этот выпуск стоит на теге `v2.0.1`, он же и в
666
+ движущаяся цель, а тег постоянен: этот выпуск стоит на теге `v2.0.2`, он же и в
667
667
  примере (сорок знаков тоже годятся, но их придётся брать глазами из истории).
668
668
 
669
669
  Ревизия в примере — не украшение, а часть утверждения: она закреплена за тем, что
@@ -836,18 +836,26 @@ pnpm exec size doctor # 0 — делать нечего; иначе перв
836
836
  | 4 | нет датчика | `minify.engine: "esbuild"`, а минификатора нет: числа получены упрощением. Отчёт собран, причина и починка — в тексте; если при этом таблица расходится с историей, код остаётся **1** (нарушение старше приближения), а заметка о другом счёте печатается рядом |
837
837
  | 5 | внутренняя ошибка | это дефект инструмента: текст нужен нам, см. «Ловушки» ниже |
838
838
 
839
- ### 6. Отчёт обновляется сам после коммита (по желанию)
839
+ ### 6. Отчёт обновляется сам после коммита
840
840
 
841
841
  ```bash
842
842
  pnpm exec size install-hook # поставить post-commit и post-merge
843
843
  pnpm exec size uninstall-hook # снять и вернуть проект к прежнему поведению
844
844
  ```
845
845
 
846
- Хуки ставятся **только этой командой**: ни один обычный запуск их не создаёт и
847
- проект до неё не меняется (файлы живут в `.git`, `git status` их не видит). После
848
- каждого коммита и слияния отчёт пересобирается, а если он лежит в git — ложится
849
- отдельным коммитом с подписью `chore(report): отчёт пересобран после <sha>`.
850
- Коммитится только путь отчёта: чужой индекс и незакоммиченная работа не тронуты.
846
+ Хуки ставятся **сами**, и это единственное, что проект замечает от установки пакета:
847
+ после `npm i` скриптом установки, у pnpm 10 первым запуском инструмента (pnpm не
848
+ исполняет скрипты зависимостей: «Ignored build scripts»; разрешить можно
849
+ `pnpm.onlyBuiltDependencies: ["@vernikr/size-report"]` в своём манифесте). Ставшие
850
+ файлы живут в `.git`, `git status` их не видит, снимаются командой выше. После
851
+ каждого коммита и слияния отчёт пересобирается: каталог `docs` и файл `size-report.html`
852
+ создаются, если их ещё нет, а **отслеживаемый** в git отчёт ложится отдельным коммитом
853
+ с подписью `chore(report): отчёт пересобран после <sha>`. Коммитится только путь отчёта:
854
+ чужой индекс и незакоммиченная работа не тронуты.
855
+
856
+ Первый отчёт — исключение из «сам»: файл создан, но не закоммичен, потому что новый
857
+ файл в чужой истории — решение человека, а не услуга. Один `git add docs/size-report.html`
858
+ (или обычный `git add -A`, если отчёт нужен в проекте) — и дальше он едет коммитами сам.
851
859
  Слияние обрабатывается тем же входом, что обычный коммит, но другим файлом —
852
860
  `post-merge`: git создаёт коммит слияния сам и `post-commit` при этом не зовёт.
853
861
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vernikr/size-report",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "author": "vernikr",
5
5
  "repository": {
6
6
  "type": "git",
@@ -66,7 +66,7 @@
66
66
  "report"
67
67
  ],
68
68
  "devDependencies": {
69
- "@vernikr/size-report": "2.0.0",
69
+ "@vernikr/size-report": "2.0.1",
70
70
  "c8": "10",
71
71
  "dependency-cruiser": "17",
72
72
  "eslint": "^9.18.0",
@@ -56,7 +56,7 @@ README и журнал колонкой не отслеживаются, — т
56
56
  именно этот объект выводит `size --init`, когда журнал в проекте есть.
57
57
  - `paths` внутри колонки — псевдонимы одного файла: если файл переименовывали,
58
58
  перечислите и старое имя, и новое, и колонка не разорвётся.
59
- - `output: "docs/size-report.html"` — файл отчёта (он один: самодостаточная страница со всеми числами, фильтрами и ссылкой); каталог инструмент создаст сам, а хуктоже: после установки пакета и первого запуска отчёт обновляется после каждого коммита без ручного шага.
59
+ - `output: "docs/size-report.html"` — файл отчёта (он один: самодостаточная страница со всеми числами, фильтрами и ссылкой); каталог инструмент создаст сам. Хук обновления ставится сам скриптом установки (npm, yarn) или первым запуском (pnpm 10 не исполняет скрипты зависимостей, если не разрешить `pnpm.onlyBuiltDependencies`), и после каждого коммита отчёт пересобирается. Первый отчёт остаётся неотслеживаемым, пока вы не добавите его в git; дальше он обновляется коммитами сам.
60
60
 
61
61
  ## Проверка в CI
62
62