Описание тега microsoft-rush

Rush Stack - это... Миссия по предоставлению повторно используемых технологий для запуска крупномасштабных монорепозиториев в Интернете Открытое сотрудничество между партнерами по сообществу с серьезными требованиями к инструментам, которые устали работать в одиночку Специальная стратегия, объединяющая популярные инструменты, такие как Node.js, TypeScript, ESLint, Prettier, Webpack, Jest и т. д. Семейство проектов, которые заполняют пробелы в этой стратегии.

Официальный сайт

Что такое Rush Stack?

Раш Стек - это...

  • Миссия по предоставлению повторно используемых технологий для запуска крупномасштабных монорепозиториев в Интернете.
  • Открытое сотрудничество между партнерами по сообществу с серьезными требованиями к инструментам, которые устали работать в одиночку.
  • Конкретная стратегия , объединяющая популярные инструменты, такие как Node.js, TypeScript, ESLint, Prettier, Webpack, Jest и т. д.
  • Семейство проектов , которые восполняют пробелы в этой стратегии

Хотя различные части этой работы ведутся уже много лет, теперь мы объединяем их под общей хартией как Rush Stack. Отслеживайте наш прогресс на странице новостей и дорожной карте.

Что в стеке?

Эти основные инструменты разработаны под эгидой Rush Stack :

  • Rush: масштабируемый оркестратор сборки монорепозиториев
  • Heft: расширяемая система сборки, взаимодействующая с Rush.
  • API Extractor: координирует проверки API для пакетов библиотек и создает накопительные пакеты .d.ts.
  • API Documenter: создает ваш веб-сайт с документацией по API.
  • @rushstack/eslint-config: наш стандартизированный набор правил ESLint, специально разработанный для крупномасштабных монорепозиториев TypeScript.
  • @rushstack/eslint-plugin-packlets: «Пакеты» — это облегченная альтернатива пакетам NPM для организации исходных файлов в рамках одного проекта.
  • Rundown: инструмент для оптимизации времени запуска процессов Node.js.

Проекты построены на общей структуре повторно используемых пакетов библиотек, которая включает в себя:

  • ts-command-line: строгий синтаксический анализатор командной строки, параметры / документы которого могут быть дополнены пакетами набора инструментов со встроенной поддержкой завершения табуляции в PowerShell и Bash.
  • node-core-library: основная структура, используемая во всех наших проектах.
  • package-deps-hash: механизм инкрементной сборки, используемый Rush.
  • rig-package: система для обмена конфигурациями инструментов между проектами без дублирования конфигурационных файлов.
  • stream-collator: волшебство того, как Rush может отображать вывод журнала в реальном времени из параллельных задач без уродливого чередования вывода.
  • tree-pattern: сопоставитель шаблонов для древовидных структур JavaScript, используемый нашими правилами lint.
  • семейство плагинов webpack, полезных для создания веб-приложений

Какое отношение к Рашу?

Компоненты «Rush Stack» — это необязательные дополнения, которые вы можете использовать с Rush.

Работа Раша как организатора сборки заключается в следующем:

  • Обеспечьте детерминированную и надежную установку пакетов (используя Yarn, PNPM или NPM)
  • Создавайте свои проекты в правильном порядке, как можно быстрее
  • Применяйте политики, чтобы обеспечить бесперебойную работу вашего монорепозитория
  • Управляйте рабочими процессами публикации
  • Установите стандартный макет репозитория и знакомый интерфейс командной строки, чтобы облегчить разработчикам, которые вносят свой вклад во множество различных монорепозиториев.

Помимо этой роли, Раш оставляет все остальное на ваше усмотрение. Отдельные проекты можно создавать с любой цепочкой инструментов, которая вам нравится. Это очень гибко!

Но у гибкости есть и обратная сторона. Инструментарий Node.js печально известен своим ошеломляющим набором опций: Выберите свой компилятор. Выберите свой линтер. Выберите свой упаковщик, менеджер пакетов, механизм задач, средство запуска тестов, библиотеку тестовых утверждений и так далее. После того, как вы сделали ставки, интеграция всех этих частей превращается в отдельный программный проект. По мере увеличения масштаба эти расходы могут быстро возрасти!

Летом 2019 года мы запустили Rush Stack с целью предоставить повторно используемое решение для этого более широкого круга проблем. Конечно, вы все еще можете использовать Rush отдельно. Но если вы устали от одиночества, мы приглашаем вас:

  • Поменяйте свою гибкость на самоуверенный подход, поддерживаемый экспертами по инструментам, которые управляют огромными монорепозиториями.
  • Объедините усилия с открытым сообществом, которое инвестирует в этот подход
  • Помогите нам «углубиться» в интеграцию, оптимизацию, документацию и доработку, чтобы достичь уровня разработчика мирового уровня.