packages: - "apps/*" - "configs/*" - "packages/*" catalogMode: "strict" catalog: # Turborepo "turbo": "2.5.6" # TypeScript "typescript": "5.9.2" "@total-typescript/ts-reset": "0.6.1" "@types/node": "24.3.0" # Utils "mime": "4.0.7" # React.js/Next.js "next": &next "15.5.2" "next-intl": "4.3.5" "next-themes": "0.4.6" "react": "19.1.1" "react-dom": "19.1.1" "@types/react": "19.1.12" "@types/react-dom": "19.1.9" "react-icons": "5.5.0" # Blog "@giscus/react": "3.1.0" "gray-matter": "4.0.3" "katex": "0.16.22" "next-mdx-remote": "5.0.0" "@mdx-js/mdx": "3.1.1" "rehype-katex": "7.0.1" "rehype-raw": "7.0.0" "rehype-slug": "6.0.0" "remark-gfm": "4.0.1" "remark-math": "6.0.0" "shiki": "1.24.0" "@shikijs/rehype": "1.24.0" # Markdown Lint "markdownlint-cli2": "0.18.1" "markdownlint": "0.38.0" "markdownlint-rule-relative-links": "4.2.0" # ESLint "globals": "16.3.0" "typescript-eslint": "8.41.0" "eslint": "9.34.0" "eslint-config-conventions": "20.1.3" "eslint-plugin-promise": "7.2.1" "eslint-plugin-unicorn": "60.0.0" "eslint-plugin-import-x": "4.16.1" "@next/eslint-plugin-next": *next "eslint-plugin-react": "7.37.5" "eslint-plugin-react-hooks": "6.0.0-rc.1" # Prettier "prettier": "3.6.2" "prettier-plugin-tailwindcss": "0.6.14" "editorconfig-checker": "6.1.0" # Storybook "storybook": &storybook "9.1.3" "@storybook/addon-docs": *storybook "@storybook/addon-a11y": *storybook "@storybook/nextjs": *storybook "@storybook/addon-themes": *storybook "@storybook/test-runner": "0.23.0" "@chromatic-com/storybook": "4.1.1" "chromatic": "13.1.4" # Testing "playwright": &playwright "1.55.0" "@playwright/test": *playwright "start-server-and-test": "2.0.13" # CSS "postcss": "8.5.6" "@tailwindcss/postcss": "4.1.12" "@tailwindcss/typography": "0.5.16" "tailwindcss": "4.1.12" "tailwind-merge": "3.3.1" "clsx": "2.1.1" "cva": "1.0.0-beta.4" "@fontsource/montserrat": "5.2.6" onlyBuiltDependencies: - "@swc/core" - "@tailwindcss/oxide" - "core-js-pure" - "esbuild" - "sharp" - "unrs-resolver" publicHoistPattern: - "*eslint*" - "*prettier*"