diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..224309f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +.next +node_modules +storage/uploads +backups +.env +.env*.local +*.log +coverage diff --git a/Dockerfile b/Dockerfile index 53bd76d..cad9fbb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM node:20-alpine AS deps WORKDIR /app COPY package.json package-lock.json* ./ -RUN npm install +RUN npm install -g npm@12.2.0 && npm install --legacy-peer-deps FROM node:20-alpine AS dev WORKDIR /app diff --git a/package.json b/package.json index b6ba8b5..a6eb906 100644 --- a/package.json +++ b/package.json @@ -14,46 +14,46 @@ "db:seed": "prisma db seed" }, "dependencies": { - "@auth/core": "latest", - "@hookform/resolvers": "latest", - "@prisma/client": "latest", - "@react-pdf/renderer": "latest", - "@radix-ui/react-checkbox": "latest", - "@radix-ui/react-dialog": "latest", - "@radix-ui/react-label": "latest", - "@radix-ui/react-progress": "latest", - "@radix-ui/react-radio-group": "latest", - "@radix-ui/react-select": "latest", - "@radix-ui/react-slot": "latest", - "@radix-ui/react-tabs": "latest", - "@tanstack/react-query": "latest", - "argon2": "latest", - "class-variance-authority": "latest", - "clsx": "latest", - "lucide-react": "latest", - "next": "^14.2.0", - "next-auth": "beta", - "nodemailer": "latest", + "@auth/core": "0.40.0", + "@hookform/resolvers": "3.10.0", + "@prisma/client": "5.22.0", + "@react-pdf/renderer": "4.3.1", + "@radix-ui/react-checkbox": "1.1.3", + "@radix-ui/react-dialog": "1.1.4", + "@radix-ui/react-label": "2.1.1", + "@radix-ui/react-progress": "1.1.1", + "@radix-ui/react-radio-group": "1.2.2", + "@radix-ui/react-select": "2.1.4", + "@radix-ui/react-slot": "1.1.1", + "@radix-ui/react-tabs": "1.1.2", + "@tanstack/react-query": "5.62.8", + "argon2": "0.41.1", + "class-variance-authority": "0.7.1", + "clsx": "2.1.1", + "lucide-react": "0.468.0", + "next": "14.2.23", + "next-auth": "5.0.0-beta.25", + "nodemailer": "6.9.16", "react": "^18.3.0", "react-dom": "^18.3.0", - "react-hook-form": "latest", - "sonner": "latest", - "tailwind-merge": "latest", - "tailwindcss-animate": "latest", - "zod": "latest" + "react-hook-form": "7.54.2", + "sonner": "1.7.1", + "tailwind-merge": "2.6.0", + "tailwindcss-animate": "1.0.7", + "zod": "3.24.1" }, "devDependencies": { - "@types/node": "latest", - "@types/nodemailer": "latest", - "@types/react": "latest", - "@types/react-dom": "latest", - "autoprefixer": "latest", - "eslint": "latest", + "@types/node": "20.17.10", + "@types/nodemailer": "6.4.17", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", + "autoprefixer": "10.4.20", + "eslint": "8.57.1", "eslint-config-next": "^14.2.0", - "postcss": "latest", - "prisma": "latest", - "tailwindcss": "latest", - "tsx": "latest", - "typescript": "latest" + "postcss": "8.4.49", + "prisma": "5.22.0", + "tailwindcss": "3.4.17", + "tsx": "4.19.2", + "typescript": "5.7.2" } }