nx (nrwl/nx)
Searching Database…
Что это такое?
Nx — это платформа для монорепозиториев, рассчитанная на TypeScript и кодовые базы с разными языками. Она кэширует то, что не изменилось, запускает только те задачи, которых коснулись ваши правки, и имеет встроенное решение для CI; ядро написано на Rust ради производительности.
Это фреймворк, на котором работает мой код, или инструмент поверх моего репозитория?
Инструмент поверх вашего репозитория: это Nx CLI, который вы запускаете для своих существующих задач и скриптов, плюс необязательные плагины, подключающие его к вашему окружению, — а не фреймворк, который импортирует ваш код.
Как добавить его в существующий проект?
Выполните npx nx init в любом workspace на базе npm, pnpm или yarn. Nx подхватит ваши существующие скрипты из package.json, начнёт кэшировать их результаты и запускать только то, что затронуто изменениями, — ничего менять в настройках не нужно.
Какие стеки и языки он реально поддерживает?
TypeScript и JavaScript поддерживаются из коробки, а для других стеков есть необязательные плагины — в README среди поддерживаемых инструментов упомянуты Vite, Webpack, Jest, Vitest, ESLint, Gradle, Maven, .NET и Go.
Придётся ли из-за него переделывать весь репозиторий?
Нет — плагины необязательны, а nx init принимает ваши текущие скрипты как есть; идея в том, чтобы начать просто и расширяться по мере роста.
Что дают необязательные плагины помимо запуска моих существующих скриптов?
Они автоматически находят задачи в вашем репозитории, настраивают для них кэширование входов и выходов и генерируют новый код с учётом инструментов, которыми вы реально пользуетесь.
Почему ядро написано на Rust?
Ради производительности: в README сказано, что Nx создан на Rust ради скорости, при этом расширяемость осталась на TypeScript, чтобы плагины работали с вашим существующим JavaScript-окружением.
Кто использует Nx на практике?
По словам авторов из README, все — от стартапов до компаний из Fortune 500; на сайте проекта опубликованы истории успеха.
Это устоявшийся проект?
Да — он существует с 2017 года, у него около 29 тысяч звёзд на GitHub, а в README перечислена основная команда примерно из двадцати мейнтейнеров.
What are similar projects?
earthly, bazel, turborepo, vite-plus, ruflo, storybook, todomvc, javascript-testing-best-practices
Which topics is it in?
build, cypress, storybook, build-system, jest, angular, ci-cd, build-tool, caching, coding-agents, monorepo, vite