Add ESLint to all packages and reorganize CLI

ESLint:
- Add @macalinao/eslint-config and eslint to all packages/apps
- Add lint scripts to all package.json files
- Create eslint.config.js for all apps
- Add lint task to turbo.json
- Add @macalinao/eslint-config and @types/bun to catalog

Biome:
- Exclude docs/ from biome checks

CLI Reorganization:
- Restructure CLI to use route maps with one command per file
- Move commands to routes/ directory structure
- Use func property instead of async loaders
- Route maps in _command.ts files for each directory

Environment:
- Use Bun.env instead of process.env for env vars
- Add DATABASE_URL and PORT to turbo.json globalEnv

Lint Fixes:
- Fix nullish coalescing operator usage
- Update deprecated Zod API (z.email() instead of .string().email())
- Fix import sorting

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
RevIQ
2026-01-09 12:01:41 +08:00
parent b687d9cd1d
commit 8f3f711af0
42 changed files with 3291 additions and 279 deletions

View File

@@ -17,9 +17,12 @@
"pg": "^8.13.1"
},
"devDependencies": {
"@macalinao/eslint-config": "catalog:",
"@macalinao/tsconfig": "catalog:",
"@types/bun": "catalog:",
"@types/node": "^25.0.3",
"@types/pg": "^8.11.10",
"@macalinao/tsconfig": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
}
}

View File

@@ -17,7 +17,7 @@ const { Pool } = pg;
* @returns Kysely database instance
*/
export const createDb = (
connectionString: string = process.env.DATABASE_URL || "",
connectionString: string = Bun.env.DATABASE_URL ?? "",
): Kysely<Database> => {
if (!connectionString) {
throw new Error(

View File

@@ -7,7 +7,7 @@
"moduleResolution": "NodeNext",
"declaration": true,
"declarationMap": true,
"types": ["node"]
"types": ["node", "bun"]
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]