ci: restructure pipeline into parallel jobs with E2E, Docker validation, and auditing

- Split serial build-and-test job into parallel backend, frontend, docker-validate, and e2e jobs
- backend job: build → test → lint (new ESLint) → npm audit --audit-level=high
- frontend job: build → lint → npm audit --audit-level=high
- docker-validate job: builds image on every PR without pushing; Trivy scans for CRITICAL/HIGH CVEs (informational)
- e2e job: runs full Playwright suite against live dev servers after backend+frontend pass
- Add backend/eslint.config.mjs and lint script to backend/package.json
This commit is contained in:
SaelixCode
2026-03-22 00:48:49 -04:00
parent 431acc3179
commit fbd6b8933d
3 changed files with 152 additions and 18 deletions
+15
View File
@@ -0,0 +1,15 @@
import js from '@eslint/js'
import tseslint from 'typescript-eslint'
export default tseslint.config(
{ ignores: ['dist'] },
{
files: ['src/**/*.ts'],
extends: [js.configs.recommended, ...tseslint.configs.recommended],
languageOptions: { ecmaVersion: 2022 },
rules: {
'@typescript-eslint/no-explicit-any': 'warn',
'no-console': 'off',
},
},
)
+6 -2
View File
@@ -7,7 +7,8 @@
"build": "tsc",
"start": "node dist/index.js",
"dev": "nodemon --watch src --ext ts,json --exec ts-node src/index.ts",
"test": "vitest run"
"test": "vitest run",
"lint": "eslint src"
},
"keywords": [],
"author": "",
@@ -26,7 +27,10 @@
"supertest": "^7.2.2",
"ts-node": "^10.9.2",
"typescript": "^5.9.3",
"vitest": "^4.1.0"
"vitest": "^4.1.0",
"@eslint/js": "^9.0.0",
"eslint": "^9.0.0",
"typescript-eslint": "^8.0.0"
},
"dependencies": {
"@types/cors": "^2.8.19",