# План оптимизации зависимостей ## Этап 1: Backend (наименее рискованный) - [x] 1.1 Обновить Express до 5.1.0 - [x] 1.2 Заменить fs-extra на fs/promises в server.js, routes/employee.js, config/db.js - [x] 1.3 Удалить winston-daily-rotate-file (не используется) - [x] 1.4 Обновить dotenv до последней версии ## Этап 2: Чистка фронтенда от мусора - [x] 2.1 Удалить встроенные модули Node.js: fs, http, https, os, path, stream, util, zlib - [x] 2.2 Удалить mammoth и textract (не используются во frontend) - [x] 2.3 Удалить полифиллы Node.js: buffer, crypto-browserify, https-browserify, os-browserify, path-browserify, process, querystring-es3, stream-browserify, stream-http, url ## Этап 3: Обновление React 18.3 → 19 - [x] 3.1 Обновить до React 18.3, исправить предупреждения - [x] 3.2 Проверить совместимость зависимостей - [x] 3.3 Обновить React до 19, react-dom до 19, @types/react и @types/react-dom до 19 - [x] 3.4 Обновить @testing-library/* до актуальных версий ## Этап 4: Обновление остальных пакетов - [x] 4.1 Обновить react-pdf и pdfjs-dist до актуальных версий - [x] 4.2 Обновить Electron ^21 → ^37 - [x] 4.3 Адаптировать PayslipViewer.tsx под новое API react-pdf ## Этап 5: Миграция на Vite (в последнюю очередь) - [x] 5.1 Создать vite.config.ts - [x] 5.2 Перенести index.html в корень, убрать CRA-теги - [x] 5.3 Обновить tsconfig.json - [x] 5.4 Обновить скрипты в package.json (vite, vitest) - [x] 5.5 Удалить react-scripts ## Этап 6: Проверка - [x] 6.1 npm install для backend и frontend - [x] 6.2 npm run build для frontend (Vite 8, 503ms) - [x] 6.3 Запуск backend ## Этап 7: Синхронизация версий Vite (после реструктуризации) - [x] 7.1 frontend обновлён до Vite 8.2.1 + plugin-react 6.0.5 (совпадение с admin-frontend) - [x] 7.2 Сборка frontend подтверждена (621 kB, gzip 187 kB, 503ms)