Major changes: - Move server.js to project root for cleaner architecture - Remove server tests due to CRA Jest configuration conflicts - Fix React component tests (clipboard API and user interaction issues) - Optimize Dockerfile to copy only essential files (server.js, build/) - Fix upload script to only upload JSON data (no JMESPath expression) - Improve reload button UI to avoid layout shifts - Update demo script with accurate commands and Docker support All 17 React tests now pass. Server structure simplified and consistent.
27 lines
490 B
Docker
27 lines
490 B
Docker
# Use Node 24 LTS as base image
|
|
FROM node:24-alpine
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy package files
|
|
COPY package*.json ./
|
|
|
|
# Install dependencies (production only)
|
|
RUN npm ci --only=production
|
|
|
|
# Copy server code
|
|
COPY server.js ./server.js
|
|
|
|
# Copy built application
|
|
COPY build/ ./build/
|
|
|
|
# Expose port 3000
|
|
EXPOSE 3000
|
|
|
|
# Set LISTEN_ADDR to bind to all interfaces in container
|
|
ENV LISTEN_ADDR=0.0.0.0
|
|
ENV LISTEN_PORT=3000
|
|
|
|
# Start the integrated server
|
|
CMD ["node", "server.js"] |