77 lines
2.9 KiB
JSON
77 lines
2.9 KiB
JSON
{
|
|
"name": "cozsweet-frontend-nextjs",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"build:deploy": "pnpm install && pnpm run build",
|
|
"start": "sh -c 'BRANCH=$(git branch --show-current); PORT=${PORT:-}; if [ -z \"$PORT\" ]; then if [ \"$BRANCH\" = \"main\" ]; then PORT=9185; else PORT=9135; fi; fi; next start -p \"$PORT\"'",
|
|
"start:test": "next start -p 9135",
|
|
"start:main": "next start -p 9185",
|
|
"build:start": "pnpm install && pnpm run build && pnpm run start",
|
|
"lint": "eslint",
|
|
"lint:fix": "eslint --fix",
|
|
"typecheck": "tsc --noEmit",
|
|
"quality": "pnpm lint && pnpm typecheck && pnpm test",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:e2e": "playwright test --project=mock-chromium",
|
|
"test:e2e:chrome": "PLAYWRIGHT_USE_SYSTEM_CHROME=1 playwright test --project=mock-chromium",
|
|
"test:e2e:headed": "playwright test --project=mock-chromium --headed",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:e2e:real": "E2E_REAL_BACKEND=1 PLAYWRIGHT_BASE_URL=${PLAYWRIGHT_BASE_URL:-https://frontend-test.banlv-ai.com} E2E_API_BASE_URL=${E2E_API_BASE_URL:-https://proapi.banlv-ai.com} playwright test --project=real-backend",
|
|
"test:e2e:prod": "E2E_REAL_BACKEND=1 PLAYWRIGHT_BASE_URL=${PLAYWRIGHT_BASE_URL:-https://cozsweet.com} E2E_API_BASE_URL=${E2E_API_BASE_URL:-https://proapi.banlv-ai.com} playwright test --project=prod-smoke",
|
|
"perf:bundle": "next experimental-analyze --output && node scripts/performance/report-bundle.mjs",
|
|
"perf:bundle:check": "PERF_BUNDLE_ENFORCE=1 pnpm perf:bundle",
|
|
"perf:vitals": "node scripts/performance/collect-web-vitals.mjs",
|
|
"generate-barrels": "barrelsby --delete -c barrelsby.json"
|
|
},
|
|
"dependencies": {
|
|
"@fingerprintjs/fingerprintjs": "^5.2.0",
|
|
"@sentry/nextjs": "^10.61.0",
|
|
"@serwist/turbopack": "^9.0.0",
|
|
"@stripe/react-stripe-js": "^6.6.0",
|
|
"@stripe/stripe-js": "^9.8.0",
|
|
"@xstate/react": "^5",
|
|
"classnames": "^2.5.1",
|
|
"dexie": "^4.4.3",
|
|
"esbuild": "^0.25.0",
|
|
"lucide-react": "^1.18.0",
|
|
"next": "16.2.7",
|
|
"next-auth": "^4.24.14",
|
|
"ofetch": "^1.5.1",
|
|
"pino": "^10.3.1",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"react-icons": "^5.6.0",
|
|
"serwist": "^9.0.0",
|
|
"ua-parser-js": "^2.0.10",
|
|
"unstorage": "^1.17.5",
|
|
"xstate": "^5",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.61.1",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@vitest/coverage-v8": "^4.1.8",
|
|
"@vitest/ui": "^4.1.8",
|
|
"barrelsby": "^2.8.1",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.2.7",
|
|
"jsdom": "^29.1.1",
|
|
"tailwindcss": "^4",
|
|
"typescript": "^5",
|
|
"vitest": "^4.1.8"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"*"
|
|
]
|
|
}
|
|
}
|