# syntax = docker/dockerfile:1

ARG NODE_VERSION=20.18.0
FROM node:${NODE_VERSION}-slim AS base

LABEL fly_launch_runtime="Node.js"

WORKDIR /app

ENV NODE_ENV="production"

# فقط یک استیج (یا اگر میخوای دو استیج، ولی بدون build)

FROM base AS build

# پیش‌نیازهای npm (حتی میشه اینم حذف کرد اگر native addon نداری)
RUN apt-get update -qq && \
    apt-get install --no-install-recommends -y build-essential node-gyp pkg-config python-is-python3

# اینجا بهتره هر دو فایل رو کپی کنی
COPY package*.json ./

# نصب همه پکیج‌ها (یا اگر اصلاً dev نمی‌خوای، همون اول omit-dev)
RUN npm install

# کل پروژه
COPY . .

# ❌ این خط مشکل‌ساز بود، حذفش کن
# RUN npm run build

# اگر دوست داری در همین استیج dev‌ها رو prune کنی:
RUN npm prune --omit=dev


# استیج نهایی
FROM base

COPY --from=build /app /app

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