- S1: .githooks/pre-commit blocks .env commits, .env.test in .gitignore - S3: TOKEN_SECRET centralized to config/token.ts, all files import from it - S3: checkTokenSecret enforces min 32-char TOKEN_SECRET at startup - S5: Refresh Token mechanism (Access 2h + Refresh 30d, dual token) - S5: POST /auth/refresh endpoint with rotation and max 5 per user - S5: Frontend request.ts auto-refresh on 40101, concurrent-safe - S6: Soft delete (deleted_at column), admin soft-delete with confirmName - S6: POST /admin/users/:id/restore endpoint - S6: All user queries filter deleted_at IS NULL - S7: DB connection requires env vars, no fallback credentials - Infra: jest.config.js, vitest.config.ts, .env.test - Infra: node-cron, jest, ts-jest, supertest, vitest, @pinia/testing
47 lines
467 B
Plaintext
47 lines
467 B
Plaintext
# Dependencies
|
|
node_modules/
|
|
|
|
# Build output
|
|
dist/
|
|
server/dist/
|
|
|
|
# Environment files
|
|
.env
|
|
.env.local
|
|
.env.test
|
|
.env.*.local
|
|
**/.env
|
|
|
|
# Logs
|
|
*.log
|
|
npm-debug.log*
|
|
|
|
# OS files
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
|
|
# Uni-app
|
|
client/dist/
|
|
client/unpackage/
|
|
|
|
# Deploy (keep scripts, ignore generated certs)
|
|
*.pem
|
|
*.key
|
|
|
|
# Uploads (user-generated content)
|
|
server/uploads/
|
|
|
|
# Playwright
|
|
.playwright-mcp/
|
|
server/backups/
|
|
|
|
# Workbuddy
|
|
.workbuddy/
|