{ "name": "community-rule", "version": "0.1.0", "private": true, "license": "GPL-3.0-or-later", "engines": { "node": ">=20.0.0" }, "prisma": { "seed": "tsx prisma/seed.ts" }, "scripts": { "dev": "next dev --turbopack", "build": "next build", "start": "next start", "start:e2e": "PORT=3010 HOSTNAME=127.0.0.1 node .next/standalone/server.js", "lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 9999", "postinstall": "npm rebuild lightningcss && prisma generate", "storybook": "storybook dev -p 6006", "storybook:github": "STORYBOOK_BASE_PATH=true storybook dev -p 6006", "storybook:build": "storybook build", "storybook:build:github": "STORYBOOK_BASE_PATH=true storybook build", "knip": "knip --include files,exports --exclude duplicates", "test": "vitest run --coverage", "test:watch": "vitest", "test:ui": "vitest --ui", "test:component": "vitest run tests/components", "e2e": "playwright test", "e2e:ui": "playwright test --ui", "e2e:performance": "playwright test tests/e2e/performance.spec.ts", "lhci": "lhci autorun", "lhci:mobile": "lhci autorun --settings.preset=mobile", "lhci:desktop": "lhci autorun --settings.preset=desktop", "performance:budget": "lhci autorun --budgetPath=performance-budgets.json", "preview": "next build && next start -p 3000", "e2e:serve": "start-server-and-test preview http://localhost:3000 e2e", "seed-snapshots": "./scripts/seed-snapshots.sh", "seed-snapshots:local": "npx playwright test tests/e2e/visual-regression.spec.ts --project=chromium --update-snapshots=all", "visual:test": "npx playwright test tests/e2e/visual-regression.spec.ts", "visual:update": "npx playwright test tests/e2e/visual-regression.spec.ts --update-snapshots=all", "visual:ui": "npx playwright test tests/e2e/visual-regression.spec.ts --ui", "analyze": "npm run analyze:browser && npm run analyze:server", "analyze:server": "ANALYZE=true npm run build", "analyze:browser": "BUNDLE_ANALYZE=true npm run build", "bundle:analyze": "node scripts/bundle-analyzer.js", "db:deploy": "prisma migrate deploy", "migrate:smoke": "./scripts/migrate-smoke-local.sh", "docker:release": "./scripts/docker-release.sh" }, "dependencies": { "@mdx-js/loader": "^3.1.1", "@mdx-js/react": "^3.1.1", "@next/mdx": "^16.0.0", "@prisma/client": "^6.19.0", "critters": "^0.0.23", "gray-matter": "^4.0.3", "jspdf": "^2.5.2", "next": "^16.0.0", "next-intl": "^4.0.0", "nodemailer": "^8.0.4", "react": "^19.0.0", "react-dom": "^19.0.0", "zod": "^3.25.76" }, "devDependencies": { "@axe-core/playwright": "^4.10.2", "@eslint/eslintrc": "^3.3.3", "@lhci/cli": "^0.15.1", "@playwright/test": "^1.55.0", "@storybook/addon-a11y": "^10.2.0", "@storybook/nextjs": "^10.2.0", "@storybook/react": "^10.2.0", "@svgr/webpack": "^8.1.0", "@tailwindcss/postcss": "^4.1.11", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.8.0", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/mdx": "^2.0.13", "@types/nodemailer": "^6.4.17", "@types/react": "19.1.12", "@typescript-eslint/eslint-plugin": "^8.41.0", "@typescript-eslint/parser": "^8.41.0", "@vitejs/plugin-react": "^5.0.2", "@vitest/coverage-v8": "^3.2.4", "eslint": "^9", "eslint-config-next": "^16.0.0", "eslint-plugin-storybook": "^10.4.1", "globals": "^17.1.0", "jest-axe": "^10.0.0", "jsdom": "^26.1.0", "msw": "^2.10.5", "knip": "^5.50.0", "playwright": "^1.55.0", "postcss": "^8.5.6", "prettier": "^3.7.4", "prisma": "^6.19.0", "start-server-and-test": "^2.0.13", "storybook": "^10.2.0", "tailwindcss": "^4.0.0", "tsx": "^4.19.4", "typescript": "^5.9.2", "typescript-eslint": "^8.53.1", "vitest": "^3.2.4", "web-vitals": "^4.2.4", "webpack-bundle-analyzer": "^4.10.1" } }