กลับหน้าโปรเจค

Easy Game Arena — แพลตฟอร์ม mini-game multiplayer

package.json
{
  "name": "easy-game-arena",
  "version": "0.2.0",
  "private": true,
  "description": "Easy Game Platform — hybrid (Next.js + Supabase + Colyseus), testability-first",
  "packageManager": "pnpm@9.15.0",
  "engines": {
    "node": ">=20.9.0"
  },
  "scripts": {
    "dev": "turbo run dev",
    "build": "turbo run build",
    "lint": "eslint .",
    "check-deps": "node scripts/check-web-structure.mjs && depcruise packages plugins adapters apps --config .dependency-cruiser.cjs",
    "typecheck": "turbo run typecheck",
    "test": "vitest run",
    "test:cov": "vitest run --coverage",
    "gate": "pnpm lint && pnpm check-deps && pnpm typecheck && pnpm test:cov && pnpm --filter @ega/realtime-server test",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "new-domain": "node scripts/new-domain.mjs",
    "new-game": "node scripts/new-game.mjs",
    "setup": "node scripts/setup-starter.mjs",
    "shop:gen-migration": "tsx scripts/gen-shop-migration.ts",
    "check-routes": "node scripts/check-web-structure.mjs",
    "verify": "pnpm --filter web verify-m1 && pnpm --filter web verify-rls",
    "prepare": "husky"
  },
  "devDependencies": {
    "@changesets/cli": "^2.31.0",
    "@commitlint/cli": "^19",
    "@commitlint/config-conventional": "^19",
    "@vitest/coverage-v8": "^4.0.0",
    "dependency-cruiser": "^16",
    "eslint": "^9",
    "eslint-plugin-import-x": "^4",
    "eslint-plugin-react": "^7.37",
    "eslint-plugin-react-hooks": "^5",
    "globals": "^17.7.0",
    "husky": "^9",
    "lint-staged": "^16",
    "prettier": "^3.4.2",
    "tsx": "^4.23.1",
    "turbo": "^2.3.3",
    "typescript": "^5.7.2",
    "typescript-eslint": "^8",
    "vitest": "^4.0.0"
  }
}