packages: - "apps/*" - "packages/*" catalog: # Utils "deepmerge": "4.3.1" # React.js/Next.js "next": "14.2.5" "next-intl": "3.17.2" "next-themes": "0.3.0" "react": "18.3.1" "react-dom": "18.3.1" "react-icons": "5.2.1" "@types/react": "18.3.3" "@types/react-dom": "18.3.0" "sharp": "0.33.4" # Blog "@giscus/react": "3.0.0" "gray-matter": "4.0.3" "katex": "0.16.11" "next-mdx-remote": "5.0.0" "@mdx-js/mdx": "3.0.1" "rehype-katex": "7.0.0" "rehype-raw": "7.0.0" "rehype-slug": "6.0.0" "remark-gfm": "4.0.0" "remark-math": "6.0.0" "shiki": "1.12.0" "@shikijs/rehype": "1.12.0" # TypeScript "typescript": "5.5.4" "@total-typescript/ts-reset": "0.5.1" "@types/node": "22.0.0" # ESLint "@typescript-eslint/eslint-plugin": "7.18.0" "@typescript-eslint/parser": "7.18.0" "eslint": "8.57.0" "eslint-config-conventions": "14.4.0" "eslint-plugin-promise": "7.0.0" "eslint-plugin-unicorn": "55.0.0" "eslint-config-next": "14.2.5" "eslint-plugin-storybook": "0.8.0" "eslint-plugin-tailwindcss": "3.17.4" # Storybook "@chromatic-com/storybook": "1.6.1" "@storybook/addon-a11y": "8.2.6" "@storybook/addon-essentials": "8.2.6" "@storybook/addon-interactions": "8.2.6" "@storybook/addon-links": "8.2.6" "@storybook/addon-storysource": "8.2.6" "@storybook/addon-themes": "8.2.6" "@storybook/blocks": "8.2.6" "@storybook/nextjs": "8.2.6" "@storybook/react": "8.2.6" "@storybook/test": "8.2.6" "@storybook/test-runner": "0.19.1" "chromatic": "11.5.6" "http-server": "14.1.1" "storybook": "8.2.6" "storybook-dark-mode": "4.0.2" # Testing "playwright": "1.45.3" "@playwright/test": "1.45.3" "axe-playwright": "2.0.1" "start-server-and-test": "2.0.5" "@vitest/browser": "2.0.4" "@vitest/coverage-istanbul": "2.0.4" "@vitest/ui": "2.0.4" "vitest": "2.0.4" "@testing-library/react": "16.0.0" # CSS "postcss": "8.4.40" "tailwindcss": "3.4.7" "@tailwindcss/typography": "0.5.13" "@fontsource/montserrat": "5.0.18" "clsx": "2.1.0" "cva": "1.0.0-beta.1" "tailwind-merge": "2.4.0"