packages: - 'apps/*' - 'packages/*' catalog: # Core typescript: '^5.9.3' tsx: '^4.21.0' # React react: '^19.2.4' react-dom: '^19.2.4' '@types/react': '^19.2.14' '@types/react-dom': '^19.2.3' # Next.js next: '^16.1.6' next-intl: '^4.8.3' # Fastify fastify: '^5.8.2' '@fastify/cors': '^11.2.0' '@fastify/helmet': '^13.0.2' '@fastify/swagger': '^9.7.0' '@fastify/swagger-ui': '^5.2.5' '@fastify/env': '^5.0.3' '@fastify/rate-limit': '^10.3.0' 'fastify-plugin': '^5.1.0' # Database prisma: '^7.4.2' '@prisma/client': '^7.4.2' '@prisma/adapter-pg': '^7.4.2' pg: '^8.20.0' '@types/pg': '^8.18.0' # Auth better-auth: '^1.5.4' # Validation zod: '^4.3.6' # Logging pino: '^10.3.1' pino-pretty: '^13.1.3' # Storybook storybook: '^10.2.17' '@storybook/nextjs-vite': '^10.2.17' '@storybook/addon-docs': '^10.2.17' '@storybook/react': '^10.2.17' # Testing vitest: '^4.0.18' '@vitest/coverage-v8': '^4.0.18' '@playwright/test': '^1.58.2' '@testing-library/react': '^16.3.2' '@testing-library/user-event': '^14.6.1' '@testing-library/jest-dom': '^6.9.1' '@vitejs/plugin-react': '^5.1.4' jsdom: '^28.1.0' # Tooling / build '@types/node': '^25.4.0' # CSS postcss: '^8.5.8' postcss-preset-env: '^11.2.0' postcss-import: '^16.1.1' stylelint: '^17.4.0' stylelint-config-standard: '^40.0.0' # Linting / formatting eslint: '^10.0.3' prettier: '^3.8.1' typescript-eslint: '^8.57.0' '@eslint/js': '^10.0.1' '@eslint/compat': '^2.0.3' eslint-plugin-react: '^7.37.5' eslint-plugin-react-hooks: '^7.0.1' eslint-plugin-jsx-a11y: '^6.10.2' # Git hooks husky: '^9.1.7' lint-staged: '^16.3.3'