Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,10 @@ coverage/

# Build artifacts
build/
dist/
dist/

# Prisma generated files (generated in container)
generated/

# Local runtime data (mounted as volumes)
data/
5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ FROM node:${NODE_VERSION}-alpine AS base
# Install pnpm
RUN corepack enable && corepack prepare [email protected] --activate

# Disable interactive prompts for pnpm in CI/Docker
ENV CI=true
ENV npm_config_build_from_source=false
ENV PNP_BUILD_FROM_SOURCE=false

WORKDIR /app

# Dependencies stage - Install production dependencies only
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: '3.8'

services:
discord-bot:
build:
Expand Down Expand Up @@ -31,6 +29,8 @@ services:
- NODE_ENV=development
volumes:
- .:/app
- /app/node_modules # Exclude node_modules from volume mount
- /app/generated # Exclude generated from volume mount
- ./logs:/app/logs
- ./data:/app/data
ports:
Expand Down
12 changes: 11 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"build:ci": "rm -rf dist && NODE_ENV=production tsc --outDir dist",
"start:ci": "NODE_ENV=production node dist/index.js ",
"dev": "NODE_ENV=development tsx --watch src/index.ts",
"dev:docker": "docker compose --profile dev up --build",
"test": "tsx --test src/**/*.test.ts tests/*.test.ts",
"lint": "biome lint .",
"lint:fix": "biome lint --fix .",
Expand All @@ -26,11 +27,15 @@
"dependencies": {
"@prisma/adapter-better-sqlite3": "^7.0.0",
"@prisma/client": "^7.0.0",
"discord.js": "^14.22.1"
"better-sqlite3": "^11.0.0",
"discord.js": "^14.22.1",
"node-cron": "^4.2.1"
},
"devDependencies": {
"@biomejs/biome": "^2.2.4",
"@types/better-sqlite3": "^7.6.11",
"@types/node": "^24.5.2",
"@types/node-cron": "^3.0.11",
"husky": "^9.1.7",
"lint-staged": "^16.2.1",
"prisma": "^7.0.0",
Expand All @@ -42,5 +47,10 @@
"biome format --write",
"biome lint --fix"
]
},
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3"
]
}
}
Loading