packages: - "apps/*" - "packages/*" catalog: # Utils "deepmerge": "4.3.1" # React.js/Next.js "next": "14.2.7" "next-intl": "3.19.1" "next-themes": "0.3.0" "react": "18.3.1" "react-dom": "18.3.1" "react-icons": "5.3.0" "@types/react": "18.3.5" "@types/react-dom": "18.3.0" "sharp": "0.33.5" # 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.1" "rehype-raw": "7.0.0" "rehype-slug": "6.0.0" "remark-gfm": "4.0.0" "remark-math": "6.0.0" "shiki": "1.17.0" "@shikijs/rehype": "1.17.0" # TypeScript "typescript": "5.5.4" "@total-typescript/ts-reset": "0.6.1" "@types/node": "22.5.4" # 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.1.0" "eslint-plugin-unicorn": "55.0.0" "eslint-config-next": "14.2.7" "eslint-plugin-storybook": "0.8.0" "eslint-plugin-tailwindcss": "3.17.4" "eslint-plugin-import-x": "3.1.0" # Storybook "@chromatic-com/storybook": "2.0.1" "@storybook/addon-a11y": "8.3.0" "@storybook/addon-essentials": "8.3.0" "@storybook/addon-interactions": "8.3.0" "@storybook/addon-links": "8.3.0" "@storybook/addon-storysource": "8.3.0" "@storybook/addon-themes": "8.3.0" "@storybook/blocks": "8.3.0" "@storybook/nextjs": "8.3.0" "@storybook/react": "8.3.0" "@storybook/test": "8.3.0" "@storybook/test-runner": "0.19.1" "chromatic": "11.9.0" "http-server": "14.1.1" "storybook": "8.3.0" "storybook-dark-mode": "4.0.2" # Testing "playwright": "1.47.0" "@playwright/test": "1.47.0" "axe-playwright": "2.0.2" "start-server-and-test": "2.0.7" "@vitest/browser": "2.0.5" "@vitest/coverage-istanbul": "2.0.5" "@vitest/ui": "2.0.5" "vitest": "2.0.5" "@testing-library/react": "16.0.1" # CSS "postcss": "8.4.45" "tailwindcss": "3.4.11" "@tailwindcss/typography": "0.5.15" "@fontsource/montserrat": "5.0.20" "clsx": "2.1.0" "cva": "1.0.0-beta.1" "tailwind-merge": "2.5.2"