feat: обновление конфигурации проекта с использованием TypeScript и улучшение обработки ошибок

- Переписаны основные файлы сервера с JavaScript на TypeScript.
- Добавлен новый обработчик ошибок с логированием в базу данных.
- Обновлен Dockerfile для поддержки сборки TypeScript.
- Изменены настройки окружения для MongoDB в docker-compose.
- Удалены устаревшие файлы и добавлены новые модели и утилиты для работы с MongoDB.
- Обновлены зависимости в package.json и package-lock.json.
This commit is contained in:
Primakov Alexandr Alexandrovich
2025-05-08 14:18:03 +03:00
parent 1bf68cea08
commit 8a1868482c
25 changed files with 1669 additions and 217 deletions

View File

@@ -1,16 +1,38 @@
FROM node:20
FROM node:22 AS builder
WORKDIR /usr/src/app/
# Сначала копируем только файлы, необходимые для установки зависимостей
COPY ./package.json /usr/src/app/package.json
COPY ./package-lock.json /usr/src/app/package-lock.json
# Устанавливаем все зависимости
RUN npm ci
# Затем копируем исходный код проекта и файлы конфигурации
COPY ./tsconfig.json /usr/src/app/tsconfig.json
COPY ./server /usr/src/app/server
# Сборка проекта
RUN npm run build
# Вторая стадия - рабочий образ
FROM node:22
RUN mkdir -p /usr/src/app/server/log/
WORKDIR /usr/src/app/
COPY ./server /usr/src/app/server
# Копирование только package.json/package-lock.json для продакшн зависимостей
COPY ./package.json /usr/src/app/package.json
COPY ./package-lock.json /usr/src/app/package-lock.json
COPY ./.serverrc.js /usr/src/app/.serverrc.js
# COPY ./.env /usr/src/app/.env
# RUN npm i --omit=dev
RUN npm ci
# Установка только продакшн зависимостей
RUN npm ci --production
# Копирование собранного приложения из билдера
COPY --from=builder /usr/src/app/dist /usr/src/app/dist
COPY --from=builder /usr/src/app/server /usr/src/app/server
EXPOSE 8044
CMD ["npm", "run", "up:prod"]