@vernikr/size-report 1.1.1 → 1.3.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 +103 -0
- package/README.md +235 -94
- package/package.json +21 -2
- package/src/args.js +191 -0
- package/src/artifact.js +9 -2
- package/src/check.js +8 -10
- package/src/cli.js +47 -448
- package/src/config.js +103 -24
- package/src/data.js +16 -9
- package/src/derived.js +3 -2
- package/src/doctor.js +121 -65
- package/src/explain.js +43 -26
- package/src/history.js +94 -77
- package/src/hook.js +17 -11
- package/src/init.js +75 -0
- package/src/modes.js +190 -0
- package/src/page/app.js +9 -498
- package/src/page/build.js +16 -7
- package/src/page/dom.js +22 -0
- package/src/page/panel.js +124 -0
- package/src/page/state.js +226 -0
- package/src/page/table.js +145 -0
- package/src/project.js +262 -0
- package/src/refusal.js +6 -1
- package/src/render.js +19 -11
- package/src/size-table.js +10 -4
- package/src/strip/forms.js +26 -0
- package/src/strip/guard.js +59 -0
- package/src/strip/js.js +136 -0
- package/src/strip.js +17 -190
- package/templates/README.md +17 -9
package/CHANGELOG.md
CHANGED
|
@@ -18,6 +18,109 @@
|
|
|
18
18
|
где за основу взяты `fixtures/synthetic/config.json`, метрики — `raw`, `min`, `tok`, а
|
|
19
19
|
способ минификации — `strip` или `esbuild`.
|
|
20
20
|
|
|
21
|
+
## 1.3.0 — 2026-09-15
|
|
22
|
+
|
|
23
|
+
Выпуск выведенных настроек: чтобы получить отчёт, проект больше не обязан себя
|
|
24
|
+
описывать.
|
|
25
|
+
|
|
26
|
+
- **Файла настроек может не быть.** Их выводит сам инструмент — по проекту: колонками
|
|
27
|
+
крупнейшие файлы, по одному от каждого расширения (иначе отчёт состоял бы из одних
|
|
28
|
+
крупных `.md`, и ни один `.js` не попал бы под настоящее сжатие), журналом — первый
|
|
29
|
+
знакомый (`WORKLOG.md`, `CHANGELOG.md`, …), файлом отчёта — `docs/`, если каталог есть,
|
|
30
|
+
командой починки — объявленный скрипт `sizes`, а без него путь к установленному
|
|
31
|
+
пакету внутри проекта, ссылкой на коммит — адрес `origin` (GitHub или GitLab: у
|
|
32
|
+
остальных хозяев пусто, догадка вела бы не туда), метриками — `raw`, `min`, `tok`.
|
|
33
|
+
Команда починки и ссылка берутся готовыми, а не выдуманными: её цитируют подпись
|
|
34
|
+
отчёта и отказы, и зов скрипта, которого в проекте ещё нет, ответил бы «нет такого
|
|
35
|
+
скрипта» ровно там, где человеку нужна работающая команда.
|
|
36
|
+
- **Всё, что колонкой быть не может или в неё не поместилось, названо в `skip`** (сам
|
|
37
|
+
отчёт, замки зависимостей, карты, собранное): поэтому первый же `size check` полон, а не
|
|
38
|
+
красный, — «пути мимо колонок» появляются от новых правок, а не от того, что проект ещё
|
|
39
|
+
не настраивали. Колонка — это файл: список путей колонки движок читает как её
|
|
40
|
+
переименования, поэтому «папка целиком» колонкой не бывает.
|
|
41
|
+
- **О выведенных настройках сказано строкой** в stderr, с готовой командой `--init` —
|
|
42
|
+
она их закрепляет, и дальше их правят как обычные настройки. Закрепляется то же,
|
|
43
|
+
чем проект работает без файла (вывод поверх умолчаний), поэтому смена умолчаний в
|
|
44
|
+
новой версии пакета не поедет по уже настроенному проекту молча. Без закрепления
|
|
45
|
+
профиль выводится на каждом запуске: числа не «поехали», но повторить прежний замер
|
|
46
|
+
можно только закрепив его.
|
|
47
|
+
- **Отказ остался у названного файла:** `--config <файл>`, которого нет, — код 2 с той же
|
|
48
|
+
починкой `--init <файл>` (опечатку в пути покрывать догадкой нельзя). У умолчательного
|
|
49
|
+
имени отказа нет вовсе; коды выхода ни в одном другом случае не изменились.
|
|
50
|
+
- Номер **1.3.0** — по SemVer: появилась возможность, которой не было; схема данных
|
|
51
|
+
(`schema: 1`) та же.
|
|
52
|
+
|
|
53
|
+
### Что изменится в числах
|
|
54
|
+
|
|
55
|
+
**У кого настройки есть — ничего.** Этот выпуск не трогает ни форму отчёта, ни счёт:
|
|
56
|
+
таблица ниже та же, что у 1.2.0.
|
|
57
|
+
|
|
58
|
+
**У кого настроек нет** — числа появятся там, где был отказ (код 2): их даст выведенный
|
|
59
|
+
профиль. Выведенное и закреплённое (`--init`) друг от друга не отличаются: файл — это тот
|
|
60
|
+
же профиль, только записанный. Повторить замер можно только по закреплённому: без файла
|
|
61
|
+
профиль выводится заново каждый запуск.
|
|
62
|
+
|
|
63
|
+
| Файл | raw | min со strip | min с esbuild | tok |
|
|
64
|
+
|---|---|---|---|---|
|
|
65
|
+
| code.js | 735 | 276 | 185 | 168 |
|
|
66
|
+
| modern.js | 246 | 51 | 45 | 44 |
|
|
67
|
+
| config.mjs | 172 | 45 | 40 | 40 |
|
|
68
|
+
| заметки.md | 306 | 303 | 303 | 53 |
|
|
69
|
+
| crlf.txt | 63 | 60 | 60 | 10 |
|
|
70
|
+
| package.json | 87 | 69 | 69 | 34 |
|
|
71
|
+
| style.css | 156 | 55 | 43 | 38 |
|
|
72
|
+
| table.toml | 300 | 299 | 299 | 52 |
|
|
73
|
+
| empty.js | 0 | 0 | 0 | 0 |
|
|
74
|
+
| WORKLOG.md | 446 | 439 | 439 | 101 |
|
|
75
|
+
| **ИТОГО** | **2511** | **1597** | **1483** | **540** |
|
|
76
|
+
|
|
77
|
+
## 1.2.0 — 2026-09-15
|
|
78
|
+
|
|
79
|
+
Выпуск причины, а не измерения: проверка («таблица совпадает с историей?») теперь
|
|
80
|
+
называет другой счёт, когда он есть, — и делает это всегда, а не только там, где
|
|
81
|
+
всё сошлось. Нашлось это прогулкой по собственной инструкции (`WORKLOG.md` §54),
|
|
82
|
+
починено по правилу «нарушение старше приближения» (`REFACTOR.md` R-4.23).
|
|
83
|
+
|
|
84
|
+
- **`size` и `size check` печатают заметку о датчике всегда.** Раньше заметка
|
|
85
|
+
печаталась только при благополучном вердикте: если отчёт собран с настоящим
|
|
86
|
+
минификатором, а прогон идёт без него (установка без необязательных
|
|
87
|
+
зависимостей, платформа без `esbuild`), числа честно расходились, а причины
|
|
88
|
+
«счёт другой» в выводе не было вовсе — читатель видел расхождение строки
|
|
89
|
+
подписи и ничего о том, откуда оно.
|
|
90
|
+
- **Вердикт остаётся первым по важности.** Нарушение старше приближения — тот же
|
|
91
|
+
порядок, что у `size check` и `size doctor`: код **4** утверждал бы, что
|
|
92
|
+
расхождение объясняется датчиком, а этого никто не проверял (расхождение может
|
|
93
|
+
быть и правкой мимо отчёта). Поэтому ответ в этом случае — по-прежнему **код 1**
|
|
94
|
+
плюс заметка с починкой: кода выхода выпуск не меняет ни в одном случае.
|
|
95
|
+
- Ни сборка отчёта, ни его форма, ни смысл настроек не тронуты. Остальное в этом
|
|
96
|
+
выпуске — не про поставку: выпуск по тегу из CI (R-4.24) и снятые цели по
|
|
97
|
+
времени у набора проверок (R-5.8) касаются репозитория пакета, а не того, что
|
|
98
|
+
устанавливают.
|
|
99
|
+
- Номер **1.2.0** назван владельцем пакета; по строгому SemVer содержимое —
|
|
100
|
+
исправление (PATCH): новых возможностей в поставке нет.
|
|
101
|
+
|
|
102
|
+
### Что изменится в числах
|
|
103
|
+
|
|
104
|
+
**Ничего.** Таблица ниже та же, что у 1.1.0 и 1.1.1, до последней клетки: этот
|
|
105
|
+
выпуск меняет текст под расхождением, а не числа. Замер на фикстуре — тот же
|
|
106
|
+
(16 коммитов, 10 колонок), доказано не словом: артефакт (22 112 Б), страница
|
|
107
|
+
(59 376 Б) и оба замороженных эталона не переснимались, а `--json` и артефакт
|
|
108
|
+
побайтово равны эталону на фикстуре и на живой истории проекта-потребителя.
|
|
109
|
+
|
|
110
|
+
| Файл | raw | min со strip | min с esbuild | tok |
|
|
111
|
+
|---|---|---|---|---|
|
|
112
|
+
| code.js | 735 | 276 | 185 | 168 |
|
|
113
|
+
| modern.js | 246 | 51 | 45 | 44 |
|
|
114
|
+
| config.mjs | 172 | 45 | 40 | 40 |
|
|
115
|
+
| заметки.md | 306 | 303 | 303 | 53 |
|
|
116
|
+
| crlf.txt | 63 | 60 | 60 | 10 |
|
|
117
|
+
| package.json | 87 | 69 | 69 | 34 |
|
|
118
|
+
| style.css | 156 | 55 | 43 | 38 |
|
|
119
|
+
| table.toml | 300 | 299 | 299 | 52 |
|
|
120
|
+
| empty.js | 0 | 0 | 0 | 0 |
|
|
121
|
+
| WORKLOG.md | 446 | 439 | 439 | 101 |
|
|
122
|
+
| **ИТОГО** | **2511** | **1597** | **1483** | **540** |
|
|
123
|
+
|
|
21
124
|
## 1.1.1 — 2026-09-15
|
|
22
125
|
|
|
23
126
|
Выпуск имени, а не измерения: пакет переехал в область владельца
|