feat: add ESLint flat config, Prettier, dependency-cruiser, and Husky

Setup code quality tooling for the monorepo:
- ESLint 9 flat config with TypeScript, import ordering, and NestJS rules
- Prettier with consistent formatting across all files
- dependency-cruiser enforcing module boundary rules (no cross-module internals, no circular deps)
- Husky + lint-staged for pre-commit hooks
- Auto-fixed existing files for type imports and import ordering

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Ho Ngoc Hai
2026-04-07 23:57:28 +07:00
parent e1e5fa6252
commit 83d55de65b
28 changed files with 2365 additions and 155 deletions

View File

@@ -4,7 +4,7 @@ services:
container_name: goodgo-postgres
restart: unless-stopped
ports:
- "${DB_PORT:-5432}:5432"
- '${DB_PORT:-5432}:5432'
environment:
POSTGRES_DB: ${DB_NAME:-goodgo}
POSTGRES_USER: ${DB_USER:-goodgo}
@@ -12,7 +12,7 @@ services:
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-goodgo} -d ${DB_NAME:-goodgo}"]
test: ['CMD-SHELL', 'pg_isready -U ${DB_USER:-goodgo} -d ${DB_NAME:-goodgo}']
interval: 10s
timeout: 5s
retries: 5
@@ -25,12 +25,12 @@ services:
container_name: goodgo-redis
restart: unless-stopped
ports:
- "${REDIS_PORT:-6379}:6379"
- '${REDIS_PORT:-6379}:6379'
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
test: ['CMD', 'redis-cli', 'ping']
interval: 10s
timeout: 5s
retries: 5
@@ -43,15 +43,15 @@ services:
container_name: goodgo-typesense
restart: unless-stopped
ports:
- "${TYPESENSE_PORT:-8108}:8108"
- '${TYPESENSE_PORT:-8108}:8108'
environment:
TYPESENSE_API_KEY: ${TYPESENSE_API_KEY:-ts_dev_key_change_me}
TYPESENSE_DATA_DIR: /data
TYPESENSE_ENABLE_CORS: "true"
TYPESENSE_ENABLE_CORS: 'true'
volumes:
- typesense_data:/data
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8108/health"]
test: ['CMD', 'curl', '-sf', 'http://localhost:8108/health']
interval: 10s
timeout: 5s
retries: 5
@@ -64,8 +64,8 @@ services:
container_name: goodgo-minio
restart: unless-stopped
ports:
- "${MINIO_API_PORT:-9000}:9000"
- "${MINIO_CONSOLE_PORT:-9001}:9001"
- '${MINIO_API_PORT:-9000}:9000'
- '${MINIO_CONSOLE_PORT:-9001}:9001'
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: ${MINIO_USER:-minioadmin}
@@ -73,7 +73,7 @@ services:
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
test: ['CMD', 'mc', 'ready', 'local']
interval: 10s
timeout: 5s
retries: 5