diff --git a/Dockerfile b/Dockerfile index ad95629..d49db1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ -FROM node:18-alpine AS build +FROM node:20-alpine AS build WORKDIR /app -ENV NODE_ENV=production -# Install dependencies +# Install dependencies (include devDependencies for the build) COPY package*.json ./ +# Ensure devDependencies are installed during the build +ENV NODE_ENV=development RUN npm ci --silent # Copy source and build @@ -11,6 +12,8 @@ COPY . . RUN npm run build FROM nginx:stable-alpine AS production +WORKDIR /usr/share/nginx/html +# Copy built files from the build stage COPY --from=build /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 443 diff --git a/vite-env.d.ts b/vite-env.d.ts new file mode 100644 index 0000000..2ca9e4a --- /dev/null +++ b/vite-env.d.ts @@ -0,0 +1,24 @@ +/// + +declare module '*.css'; +declare module '*.scss'; +declare module '*.png'; +declare module '*.jpg'; +declare module '*.jpeg'; +declare module '*.svg'; +declare module '*.mjs'; +declare module 'pdfjs-dist/build/pdf.worker.mjs?url'; + +interface ImportMetaEnv { + readonly VITE_API_URL?: string; + readonly VITE_LINK_TO_GITHUB?: string; + readonly VITE_LINK_TO_LINKEDIN?: string; + readonly VITE_IP_Server?: string; + readonly VITE_MAIL?: string; + readonly VITE_NAME?: string; + // add other env vars here as needed +} + +interface ImportMeta { + readonly env: ImportMetaEnv; +}