Skip to content

Библиотеки и сборка

Общие библиотеки (libs)

  • sdk — API-клиент, сгенерированный из Swagger backend (REST API). Обновление: скрипт generate-api-client.
  • sdk-counterparty — API-клиент для модуля контрагентов (generate-api-counterparty-client).
  • sdk-wb — интеграция с Wildberries.
  • layout — общие компоненты раскладки (шапка, сайдбар, контейнеры).
  • core — ядро: сервисы, guards, интерцепторы.
  • modules — переиспользуемые feature-модули (документы, контрагенты и др.).
  • pages — общие страницы: auth, error-page.
  • manufacture — компоненты производства: отчёты по зарплате, ведомости, выплаты (salary-report и др.).
  • main-state — глобальное состояние (Akita): main.store, main.query, main.service.
  • file-attachment — прикрепление файлов.
  • formly-fields — кастомные поля для форм (Formly).
  • environments — конфигурация окружений (development, production).
  • dadata — интеграция с DaData (адреса, реквизиты).
  • q-check — модуль чек-листов и журналов (HACCP-ориентированный функционал).
  • pdf-invoice — работа с инвойсами/PDF.
  • CamundaPlatform, comunda-sdk — интеграция с Camunda (BPM).
  • squidex — интеграция с CMS Squidex.
  • websocket — WebSocket-клиент для уведомлений в реальном времени.
  • yandex-map — карты Yandex.
  • shared — общие утилиты и компоненты.
  • permissions — проверка прав доступа.

Сборка (Nx)

  • Запуск в режиме разработки: nx serve или nx run main-office:serve (и аналогично для других apps). Для большого приложения: npm run serve:bk-unit (увеличенный лимит памяти).
  • Сборка: nx build с конфигурацией development или production. В package.json: build_development, build_production.
  • Тесты: nx test.
  • Watch-режим: nx build --watch --configuration development.

Окружения

  • development — локальная разработка, прокси к backend (см. proxy.conf.json в apps).
  • production — production-сборка, указание URL API через environment.

Генерация API-клиента

  • Основной API: npm run generate-api-client — читает Swagger с http://127.0.0.1:8018/swagger/?format=openapi, пишет в libs/sdk.
  • Контрагенты: npm run generate-api-counterparty-client — в libs/sdk-counterparty.
  • Squidex: generate-api-Squidex — в libs/squidex.
  • Camunda: generate-api-CamundaPlatform — из openapiCamunda.json в libs/CamundaPlatform.

Перед генерацией backend должен быть запущен и отдавать актуальный OpenAPI.

Документация кода

  • Compodoc: npm run compodoc:build, compodoc:main-office — генерация документации по приложению main-office в docs/main-office. Запуск сервера: compodoc:main-office:serve (порт 6011).