Skip to content

atls/tools

Repository files navigation

toolset-github-cover

Atlantis Toolset

Монорепозиторий с набором инструментов и утилит, разработанных нашей командой, чтобы упростить разработку и работу над проектами.

Инструменты предназначены для использования в проектах на JavaScript и TypeScript и направлены на обеспечение согласованного опыта разработки и повышения производительности.

Начало использования

ВАЖНО: Мы используем собственный бандл ярна для запуска собственных скриптов.

Для начала использования нашей сборки:

  • yarn set version https://raw.githubusercontent.com/atls/tools/master/yarn/cli/bundles/yarn.js - эта команда установит вместо стокового ярна наш и положит в папку .yarn/releases, если же наша сборка уже установленна - произойдёт обновление до актуальной версии
  • yarn set version https://raw.githubusercontent. com/atls/tools/master/yarn/cli/bundles/legacy/yarn.js - установит наш легаси бандл (подробности в /yarn/cli/README.md)

Основные скрипты yarn для нашей работы

Помимо стандартных скриптов yarn мы используем наши кастомные для облегчения работы:

Общие

  • yarn check - выполняет typecheck, lint, format. Выполняется так же автоматически при коммитах с помощью husky. Выполняем перед созданием Pull Request
  • yarn files changed list - вывод списка измененных файлов
  • yarn commit ... - работа с коммитами
    • message - сообщение коммита
    • staged - стэйдж коммита

Основные проверки

  • yarn typecheck - проверяет тайпчеком проект
  • yarn lint - проверяет линтером проект

Форматирование

  • yarn format - форматирует весь проект по нашему конфигу prettier

Генерация

  • yarn generate project - генерация схематики проекта
  • yarn badges generate - генерирует бэйджи в корневом README.md по версиям в корневом package.json

Билд

  • yarn service build - билд проекта
  • yarn service dev - дев разработка проекта
  • yarn library build
  • yarn image pack

Тестирование

  • yarn test ... - тестирование
    • integration - интеграционные тесты. Запускает тесты лежащие в папках integration
    • unit - юнит тесты
      • название файла/теста - запускает только тесты в названии которых или названии файлов есть введенное название

В качестве параметров:

  • --watch - запуск тестов при изменении в связанных с ними файлов
  • --watchAll - запуск тестов при изменении в любых файлах

Проверка проекта на ошибки

  • yarn workspaces changed foreach image pack --publish --tag-policy hash-timestamp --registry some - билд пакетов с изменениями.
  • yarn workspaces foreach image pack --publish --tag-policy hash-timestamp --registry some - билд приложения целиком.

Наши файлы конфигурации

TypeScript ESLint Prettier Jest Webpack