b4904e738b
Lazy-load Stripe and the chat reply animation, remove the unused Lottie runtime, and add repeatable bundle and Web Vitals baseline tooling.
74 lines
2.7 KiB
JSON
74 lines
2.7 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",
|
|
"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: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": [
|
|
"*"
|
|
]
|
|
}
|
|
}
|