diff --git a/Dockerfile b/Dockerfile index 4ececfe..47ba0a4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ RUN pnpm run build FROM node:20-slim AS app ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" +ENV NODE_ENV="production" RUN corepack enable WORKDIR /app COPY --from=prod-deps /app/node_modules /app/node_modules diff --git a/package.json b/package.json index 9656a08..1d6704c 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@trpc/client": "^10.45.2", "@trpc/server": "^10.45.2", "better-sqlite3": "^9.5.0", + "cors": "^2.8.5", "drizzle-orm": "^0.30.8", "drizzle-zod": "^0.5.1", "express": "^4.19.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 31efc74..e8c4aaf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ dependencies: better-sqlite3: specifier: ^9.5.0 version: 9.5.0 + cors: + specifier: ^2.8.5 + version: 2.8.5 drizzle-orm: specifier: ^0.30.8 version: 0.30.8(@types/better-sqlite3@7.6.9)(better-sqlite3@9.5.0) @@ -1216,6 +1219,14 @@ packages: is-what: 4.1.16 dev: true + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: false + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true @@ -2474,6 +2485,11 @@ packages: path-key: 3.1.1 dev: true + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: false + /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: false diff --git a/src/app.ts b/src/app.ts index 7438f26..5fb3c2d 100644 --- a/src/app.ts +++ b/src/app.ts @@ -2,6 +2,7 @@ import { createContext, router } from "./trpc"; import { createHTTPServer } from "@trpc/server/adapters/standalone"; import { userRoute } from "./userRoute"; import { runPlayground } from "./playgroud"; +import cors from "cors"; import { infoRoute } from "./infoRoute"; export const appRouter = router({ @@ -14,6 +15,10 @@ async function main() { const server = createHTTPServer({ createContext: createContext, router: appRouter, + middleware: + (process.env.NODE_ENV ?? "development") == "production" + ? undefined + : cors(), }); server.listen(3000);