FROM node:14-alpine3.16

# Установка PM2 и утилит
RUN npm install -g pm2
RUN apk add --no-cache sed

WORKDIR /src
COPY . .

# ИСПРАВЛЕНИЕ CYTOSCAPE ПРОБЛЕМЫ - все в одной команде
RUN echo "Fixing cytoscape import issues..." && \
    # Добавляем react-uuid в package.json frontend
    cd frontend && npm install react-uuid uuid && cd .. && \
    # Исправляем проблемный импорт
    find . -name "*.jsx" -o -name "*.js" | xargs grep -l "cytoscape/src/util" | while read file; do \
        echo "Patching $file"; \
        sed -i 's/import { uuid } from '\''cytoscape\/src\/util'\'';/import uuid from '\''react-uuid'\'';/g' "$file"; \
    done && \
    echo "Cytoscape fix completed"

# Установка остальных зависимостей и сборка
RUN npm install @babel/runtime
RUN npm run setup

EXPOSE 3000
CMD ["npm", "start"]