diff --git a/backend/Dockerfile b/backend/Dockerfile index c945a107..4226aa3a 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,6 +1,8 @@ -FROM node:22 AS build-stage +FROM node:22 -WORKDIR /app +WORKDIR /app/dwengo + +COPY ./backend/i18n ./i18n # Install dependencies @@ -19,22 +21,9 @@ COPY backend ./backend COPY common ./common COPY docs ./docs -WORKDIR /app/backend - -RUN npm run build - -FROM node:22 AS production-stage - -WORKDIR /app - -COPY package-lock.json backend/package.json ./ - -RUN npm install --silent --only=production - -COPY ./docs /docs -COPY ./backend/i18n /app/i18n -COPY --from=build-stage /app/backend/dist ./dist/ +RUN npm run build --workspace=common +RUN npm run build --workspace=backend EXPOSE 3000 -CMD ["node", "--env-file=.env", "dist/app.js"] +CMD ["node", "--env-file=/app/dwengo/backend/.env", "/app/dwengo/backend/dist/app.js"] diff --git a/backend/package.json b/backend/package.json index 4e3b890d..cf94d0b6 100644 --- a/backend/package.json +++ b/backend/package.json @@ -24,6 +24,7 @@ "cross": "^1.0.0", "cross-env": "^7.0.3", "dotenv": "^16.4.7", + "dwengo-1-common": "^0.1.1", "express": "^5.0.1", "express-jwt": "^8.5.1", "gift-pegjs": "^1.0.2", diff --git a/backend/tsconfig.json b/backend/tsconfig.json index 2dd3998d..a47827ba 100644 --- a/backend/tsconfig.json +++ b/backend/tsconfig.json @@ -4,6 +4,8 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "resolveJsonModule": true + "resolveJsonModule": true, + "sourceMap": true, + "composite": true } } diff --git a/common/package.json b/common/package.json index 68e7a56b..db8adfd0 100644 --- a/common/package.json +++ b/common/package.json @@ -5,8 +5,12 @@ "private": true, "type": "module", "scripts": { + "build": "tsc --project tsconfig.json", "format": "prettier --write src/", "format-check": "prettier --check src/", "lint": "eslint . --fix" + }, + "exports": { + "./src/*": "./dist/*" } } diff --git a/common/tsconfig.json b/common/tsconfig.json index 2dd3998d..a47827ba 100644 --- a/common/tsconfig.json +++ b/common/tsconfig.json @@ -4,6 +4,8 @@ "compilerOptions": { "rootDir": "./src", "outDir": "./dist", - "resolveJsonModule": true + "resolveJsonModule": true, + "sourceMap": true, + "composite": true } } diff --git a/package-lock.json b/package-lock.json index 863bd035..c41f2760 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ "cross": "^1.0.0", "cross-env": "^7.0.3", "dotenv": "^16.4.7", + "dwengo-1-common": "^0.1.1", "express": "^5.0.1", "express-jwt": "^8.5.1", "gift-pegjs": "^1.0.2", diff --git a/package.json b/package.json index 56e3d01c..c7eeccc3 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "private": true, "type": "module", "scripts": { - "build": "npm run build --workspace=backend --workspace=frontend", + "build": "npm run build --workspaces --if-present", "format": "npm run format --workspace=backend --workspace=common --workspace=frontend", "format-check": "npm run format-check --workspace=backend --workspace=common --workspace=frontend", "lint": "npm run lint --workspace=backend --workspace=common --workspace=frontend", diff --git a/tsconfig.json b/tsconfig.json index b41449cf..11be2711 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -121,5 +121,11 @@ "skipLibCheck": true, /* Skip type checking all .d.ts files. */ "resolveJsonModule": true - } + }, + "files": [], + "references": [ + { "path": "backend" }, + { "path": "common" }, + { "path": "frontend" } + ] }