Дмитрий
|
b912724cf7
|
chore(frontend): Sprint 4 Phase C — bundle analyzer + dead-code cleanup (audit O-refactor-06)
- rollup-plugin-visualizer + script `npm run build:analyze` (env BUILD_ANALYZE=1)
Output: storage/bundle-analyze.html (gzip + brotli sizes), gitignored.
- cross-env установлен для Windows-совместимости env-переменной build:analyze.
- knip + knip.config.ts (entry app.ts + router/index.ts; ignore *.story.vue + tests/).
ВАЖНО: knip падает с oxc-parser ArrayBuffer fail на этой машине
(Windows quirk feedback memory) — конфиг сохранён для будущих запусков на
Linux/macOS CI. Dead-code search выполнен вручную через grep по composables/.
- Удалены 4 unused exports + 4 private helpers, инициируемых только ими:
* mockReports.ts: MOCK_JOBS, QuotaInfo (interface), MOCK_QUOTA
* reportsMapper.ts: reportTypes()
* mockTenantDetail.ts: expandTenantDetail() + 4 SAMPLE_* consts
(SAMPLE_USERS/SAMPLE_PROJECTS/SAMPLE_BALANCE_HISTORY/SAMPLE_ACTIVITY)
* useCsvDownload.ts: csvEscape() — снят `export` (используется внутри файла)
ESLint + vue-tsc + Vitest 416/416 + build — зелёные.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-10 04:59:58 +03:00 |
|
Дмитрий
|
4de39e70b2
|
phase2(reports): ReportsView - асинхронная генерация отчётов с очередью
- ReportsView (/reports): form-card (Запросить) + jobs-list panel.
Form: 4 type-cards radio-grid (Сделки/Менеджеры/Источники/Биллинг) +
date-range + Проект/Менеджер v-select + 4 fmt-кнопки (CSV/XLSX/JSON/PDF) +
quota-banner alert (CTO-7: 2/3 одновременных + CTO-6: 3 попытки/7 дней) +
Запустить/Сброс.
- Jobs-list: 5 mock-rows × 4 статуса (done/running/queued/failed) с icon +
meta JBM (FORMAT · size · rows · timeText) + status-chip + actions
(Скачать done / Повторить failed && attempt<3 / Отменить queued /
Удалить done|failed). v-progress-linear для running 62%.
- composables/mockReports.ts: type unions (4×4×4) + 5 mock-jobs + MOCK_QUOTA
(CTO-6/7 значения).
- Маршрут /reports (meta.layout=app, lazy-import) в router + web.php.
Vitest +12 (всего 110/110 за 9.38s):
- заголовок + page-stats + 4 type-cards + дефолт active + 4 формата +
quota-banner («2 из 3» / «3 попыток retry» / «7 дней») + 5 job-rows +
done-«Готов»+Скачать-aria + running-«62%»+progressbar role + queued-Отменить +
failed-«Ошибка»+«S3 timeout»+Повторить-aria + клик-переключение active.
Регресс: lint+type+format OK; vitest 110/110; vite build (ReportsView lazy-chunk;
main 108.19 KB); story:build 18/25 за 30.77s; Pest 48/48 за 4.58s.
CLAUDE.md v1.28->v1.29, реестр Открытых_вопросов v1.37->v1.38.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-08 19:01:10 +03:00 |
|