Files
reloop-v2/frontend/package.json
reloop 3d7866be7e chore(deploy): postinstall, standalone, PM2 ecosystem, README — QA-6.C2 C4 M1 M2
backend/package.json
- Add 'postinstall: prisma generate' — fresh pnpm install now produces
  a usable @prisma/client without a manual step.
- Add engines.node >= 20 and packageManager pnpm@9.12.0.

frontend/package.json
- Same engines + packageManager pin.

frontend/next.config.js
- output: 'standalone' enabled for PM2's .next/standalone/server.js
  pattern (reduces production bundle size, removes runtime node_modules
  dependency for the web process).

frontend/.env.example (new)
- Documents NEXT_PUBLIC_API_URL as a BUILD-TIME variable.

ecosystem.config.js (new)
- PM2 config for reloop-api (cwd=backend, script=dist/main.js, port
  3001) and reloop-web (cwd=frontend, script=.next/standalone/server.js,
  port 3000, HOSTNAME=0.0.0.0). max_memory_restart=512M each with
  separate error/out log files.

README.md (new)
- Root deploy guide: stack, env vars table (backend + frontend),
  local dev quickstart, prod deploy steps (rsync → pnpm install
  --frozen-lockfile → prisma migrate deploy → build → copy .next/static
  and public into standalone → pm2 start), reverse proxy mapping,
  pm2 ops. Also covers Cluster F items: 'Dev VM 에서 prisma migrate
  dev --name init' for migrations and 'pnpm install' for lockfile
  generation.

.gitignore
- Ignore .claude/state/session* + .claude/state/*.lock +
  .claude/sessions/ (ephemeral harness runtime metadata).
2026-04-12 00:09:40 +09:00

37 lines
885 B
JSON

{
"name": "reloop-frontend",
"version": "0.2.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,css,md}\" --ignore-path .gitignore"
},
"dependencies": {
"axios": "^1.14.0",
"next": "14.2.35",
"react": "^18",
"react-dom": "^18",
"recharts": "^2.12.7",
"styled-components": "^6.1.8"
},
"devDependencies": {
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"@types/styled-components": "^5.1.34",
"eslint": "^8",
"eslint-config-next": "14.2.3",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.0",
"prettier": "^3.0.0",
"typescript": "^5"
},
"engines": {
"node": ">=20.0.0"
},
"packageManager": "pnpm@9.12.0"
}