-
Notifications
You must be signed in to change notification settings - Fork 0
Home
@atls/yarn-cli
- здесь собирается yarn
. Бандл лежит тут. Для его установки необходимо произвести установку ярна из файловой системы указав путь к файлу с учётом контекста:
yarn set version ../tools/yarn/cli/bundles/yarn.js
@atls/yarn-plugin-*
- пакеты с префиксом plugin
являются плагинами для ярна, которые включаются в бандл, собирающийся в @atls/yarn-cli
. Плагины в yarn
- это новый концепт, появившийся с v2 - https://yarnpkg.com/features/plugins.
typecheck
(yarn typecheck
) - компилит проект с помощью tsc без аутпута, чтобы проверить на наличие TypeError'ов
lint
(yarn lint
) - запускает линтер по проекту
format
(yarn format
) - prettier, поправляет отступы и т.п.
test
(yarn test unit
/yarn test integration
) - запускает тесты по проекту
service
(yarn service build
/yarn service dev
) - билд приложения/запуск в дев режиме
commit
(yarn commit
) - запуск мастера для создания коммитов
Пакеты в @atls/cli-ui-*
отвечают за вывод в консоль (непосредственно, ui)
Здесь находятся пакеты для работы с кодом. Например здесь можно увидеть линтер и форматтер
@atls/code-service - пакет отвечает за сборку энтрипоинтов. build
/dev
команды - это всё он
@atls/code-schematics - хорошее объяснение schematics можно найти на странице пакета @angular-devkit/schematics, который используется в code-schematics
.
Сам code-schematics
используется, например, в команде для генерации первоначальной структуры проекта (а-ля create-react-app
)
Здесь находятся конфигурации для jest, eslint, prettier и typescript
Здесь лежат утилитарные плагины/лоадеры для вебпака
Рассмотрим новый проект, созданный на основе template
Для начала стоит взглянуть в .yarnrc
на эту строчку: здесь, как можно заметить, идёт референс на кастомный бандл yarn
.
Этот самый бандл как раз генерируется в @atls/yarn-cli
. Внутри этого бандла уже есть все плагины: typecheck
, lint
, format
и т.д. Устанавливать их вручную не требуется
Также стоит обратить внимание на зависимости в корневом пекедже. Для корректной работы tools
должны быть установлены все основные библиотеки, использующиеся в tools
(typescript, eslint и тд)
Если все вышеперечисленное присутствует на проекте - tools
готовы к работе