Skip to content

Зависимости

Полный список всех производственных и dev зависимостей проекта с их назначением.

Production зависимости

Angular Core (@angular/*)

ПакетВерсияНазначение
@angular/animations^20.1.1Анимации и переходы
@angular/cdk^20.1.1Component Dev Kit — утилиты
@angular/common^20.1.1CommonModule, pipes
@angular/compiler^20.1.1Компилятор шаблонов
@angular/core^20.1.1Ядро Angular
@angular/forms^20.1.1Reactive Forms, FormsModule
@angular/material^20.1.1Material Design компоненты
@angular/platform-browser^20.1.1Работа с браузером
@angular/platform-browser-dynamic^20.1.1Dynamic compilation
@angular/platform-server^20.1.1SSR support
@angular/router^20.1.1Маршрутизация
@angular/ssr^20.1.1Server-Side Rendering

State Management

ПакетВерсияНазначение
@ngneat/elf^2.5.1Легковесный state management
@ngneat/elf-devtools^1.3.0DevTools для Elf
@ngneat/elf-persist-state^1.2.1Персистентность состояния
@ngneat/until-destroy^10.0.0Управление subscriptions

Утилиты и библиотеки

ПакетВерсияНазначение
date-fns^4.1.0Работа с датами
dayjs1.11.13Легковесная альтернатива moment
express4.21.2Express сервер для SSR
jwt-decode^4.0.0Декодирование JWT токенов
rxjs~7.8.0Реактивное программирование
tslib2.8.1TypeScript runtime library
uuid11.0.5Генерация UUID
zone.js0.15.0Change detection zone

Dev зависимости

Build Tools

ПакетВерсияНазначение
@angular-devkit/build-angular^20.1.1Angular build CLI
@angular/cli^20.1.1Angular Command Line Interface
@angular/compiler-cli^20.1.1Компилятор для CLI

Linting & Code Quality

ПакетВерсияНазначение
@angular-eslint/eslint-plugin^21.1.0ESLint плагин для Angular
@angular-eslint/eslint-plugin-template^21.1.0Проверка Angular шаблонов
@angular-eslint/template-parser^21.1.0Parser для HTML шаблонов
@eslint/eslintrc^3.2.0ESLint config utilities
@eslint/js^9.18.0ESLint JavaScript config
@typescript-eslint/eslint-plugin^8.20.0TypeScript ESLint правила
@typescript-eslint/parser^8.20.0Parser для TypeScript
eslint^9.18.0Основной линтер
eslint-plugin-simple-import-sort12.1.1Сортировка импортов
eslint-plugin-sonarjs^3.0.1SonarJS правила
eslint-plugin-unicorn^56.0.1Лучшие практики JS
eslint-plugin-unused-imports4.1.4Проверка неиспользуемых импортов
stylelint^16.13.2SCSS/CSS линтер
stylelint-scss^6.10.1SCSS поддержка

Code Formatting

ПакетВерсияНазначение
prettier3.4.2Code formatter
pretty-quick4.0.0Prettier для staged файлов

Git Hooks

ПакетВерсияНазначение
husky9.1.7Git hooks manager
lint-staged^15.4.1Запуск linters на staged файлах

TypeScript

ПакетВерсияНазначение
typescript^5.8.3TypeScript компилятор
typescript-eslint^8.38.0TypeScript ESLint поддержка

Testing & Types

ПакетВерсияНазначение
@types/express5.0.0Типы для Express
@types/jasmine5.1.5Типы для Jasmine
@types/node^22.10.7Типы для Node.js

Other Tools

ПакетВерсияНазначение
glob^11.0.0Глобальные паттерны файлов
postcss-scss^4.0.6PostCSS для SCSS
tsx^4.7.0Выполнение TypeScript скриптов

Версионирование

Семантическое версионирование

1.2.3
^ ^ ^
| | └─ Patch (исправления)
| └─── Minor (новые функции)
└───── Major (breaking changes)

Specifiers

SpecifierВерсияПримечание
^1.2.3>=1.2.3, <2.0.0Минор и патч обновления
~1.2.3>=1.2.3, <1.3.0Только патч обновления
1.2.3Точно 1.2.3Фиксированная версия

В проекте используется:

  • ^ для большинства зависимостей (разрешить минор обновления)
  • ~ для критических пакетов
  • Фиксированные версии для стабильных пакетов

Обновление зависимостей

Проверить устаревшие пакеты

bash
npm outdated

Проверить проблемы безопасности

bash
npm audit

Автоматическое исправление

bash
# Только патч версии
npm update

# Мажор обновления (осторожно!)
npm install -g npm-check-updates
ncu -u
npm install

Проверить не используемые пакеты

bash
npm run depcheck-packages

Интерактивная проверка

bash
npm run update-packages

Dependency Tree

Основной граф зависимостей

integ-admin
├── Angular 20
│   ├── Material Design 3
│   ├── RxJS 7.8
│   └── Zone.js
├── State Management
│   └── @ngneat/elf
├── HTTP
│   └── express (для SSR)
├── Utilities
│   ├── date-fns
│   ├── dayjs
│   ├── jwt-decode
│   └── uuid
└── Dev Tools
    ├── ESLint
    ├── Stylelint
    ├── Prettier
    ├── TypeScript
    └── Husky + lint-staged

Best Practices

Делайте:

  • Регулярно проверяйте npm outdated
  • Обновляйте критические патчи сразу
  • Тестируйте после больших обновлений
  • Используйте npm ci в CI/CD вместо npm install

Не делайте:

  • Не коммитьте package-lock.json без необходимости
  • Не игнорируйте security vulnerabilities
  • Не обновляйте мажор версии без тестирования
  • Не используйте npm install в production

Устранение проблем

Конфликты версий

bash
# Очистить cache
npm cache clean --force

# Переустановить зависимости
rm -rf node_modules package-lock.json
npm install

Ошибки peer-dependencies

bash
# Установить с --legacy-peer-deps (временное решение)
npm install --legacy-peer-deps

# Лучше — обновить конфликтующие пакеты
npm update <package>

Проблемы с build

bash
# Полная чистка
npm run clean
npm install
npm run build

Следующие шаги

SaaS Admin Documentation