Format files according to Biome standards
CI / check (push) Failing after 40s
CI / tests-unit (push) Skipped
CI / tests-integration (push) Skipped
CI / tests-ui (push) Skipped
CI / tests-imaging-browsers (push) Skipped
CI / tests-quality (push) Skipped
CI / preflight (push) Skipped
CI / deploy (push) Skipped

This commit is contained in:
openhands committed 2026-10-23 20:40:25 +02:00
1 parent e17576856f
commit 9416317c5b
3 files changed
+4476 -2423

No files matched your search

+11 -11
View File
@@ -8,15 +8,15 @@ Features a premium animated homepage (typewriter hero, floating orbs, scroll cou
## System Requirements
| Component | Version | Notes |
| --------------- | ------------ | --------------------------------------- |
| Node.js | 26.12.1 | Pinned in `.nvmrc` (`>=26.12.1 <27`) |
| pnpm | 12.11.2 | Pinned via `packageManager` |
| npm | >= 11.x | Supported alternative |
| yarn | >= 4.x | Supported alternative |
| MySQL / MariaDB / PostgreSQL | 8.0+ / 10.6+ / 15+ | Supported databases |
| Docker | 24+ | Optional — for containerized deployment |
| Valkey | 8.x+ | Optional — caching, rate limiting, SSE |
| Component | Version | Notes |
| ---------------------------- | ------------------ | --------------------------------------- |
| Node.js | 26.12.1 | Pinned in `.nvmrc` (`>=26.12.1 <27`) |
| pnpm | 12.11.2 | Pinned via `packageManager` |
| npm | >= 11.x | Supported alternative |
| yarn | >= 4.x | Supported alternative |
| MySQL / MariaDB / PostgreSQL | 8.0+ / 10.6+ / 15+ | Supported databases |
| Docker | 24+ | Optional — for containerized deployment |
| Valkey | 8.x+ | Optional — caching, rate limiting, SSE |
Core stack: **Next.js 16.4.2** (App Router) · **React 19.3.1** · **TypeScript 7.0.2** · **Drizzle ORM 0.45.4** · **Zod 4.6.7** · **Vitest 5.0.5** · **Biome 2.6.2** · **Playwright 1.64.1**.
@@ -58,12 +58,14 @@ yarn install
The CMS supports both **MySQL / MariaDB** and **PostgreSQL**. The database type is automatically detected from your `DATABASE_URL` protocol (`mysql://` or `postgres://`).
#### Option A: MySQL / MariaDB
Create your database:
```sql
CREATE DATABASE IF NOT EXISTS epicnext_cms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
#### Option B: PostgreSQL
Create your database:
```sql
CREATE DATABASE epicnext_cms;
@@ -1396,7 +1398,6 @@ suite at any running CMS with `PLAYWRIGHT_BASE_URL`.
### Testing & Quality Assurance
EpicNext-CMS maintains strict engineering standards enforced through automated testing pipelines:
1. **Unit & Integration Testing (Vitest)**:
- Run tests: `pnpm test`
- Run integration tests: `pnpm test:integration`
@@ -1423,7 +1424,6 @@ EpicNext-CMS maintains strict engineering standards enforced through automated t
## Production Deployment & Zero-Downtime Releases
EpicNext-CMS is engineered for enterprise-grade production environments with zero-downtime deployment capabilities:
1. **Blue/Green Slot Deployments**:
- Updates run through containerized slot orchestration (`scripts/docker-update.sh`), ensuring seamless transitions between release versions without dropping requests.
- Automatic health check verification (`/api/health`) validates database connectivity, Redis/Valkey status, and RCON liveness before routing production traffic.
+2 -1
View File
@@ -7,7 +7,8 @@ import { defineConfig } from "drizzle-kit";
// or `push` against it. CMS DDL stays in drizzle/migrations/*.sql applied by
// `pnpm db:migrate`. Use `pnpm db:generate` only for draft SQL under drizzle/drafts/.
const dbUrl = process.env.DATABASE_URL ?? "";
const isPostgres = dbUrl.startsWith("postgres://") || dbUrl.startsWith("postgresql://");
const isPostgres =
dbUrl.startsWith("postgres://") || dbUrl.startsWith("postgresql://");
export default defineConfig({
dialect: isPostgres ? "postgresql" : "mysql",
+4463 -2411
View File
File diff suppressed because it is too large. Load diff