Skip to content
Andrew Ghostuhin edited this page May 26, 2022 · 2 revisions

Пакеты

yarn-cli

@atls/yarn-cli - здесь собирается yarn. Бандл лежит тут. Для его установки необходимо произвести установку ярна из файловой системы указав путь к файлу с учётом контекста:

yarn set version ../tools/yarn/cli/bundles/yarn.js

yarn-plugin

@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) - запуск мастера для создания коммитов

cli

Пакеты в @atls/cli-ui-* отвечают за вывод в консоль (непосредственно, ui)

code

Здесь находятся пакеты для работы с кодом. Например здесь можно увидеть линтер и форматтер

Более подробное описание некоторых пакетов из code

@atls/code-service - пакет отвечает за сборку энтрипоинтов. build/dev команды - это всё он

@atls/code-schematics - хорошее объяснение schematics можно найти на странице пакета @angular-devkit/schematics, который используется в code-schematics.

Сам code-schematics используется, например, в команде для генерации первоначальной структуры проекта (а-ля create-react-app)

config

Здесь находятся конфигурации для jest, eslint, prettier и typescript

webpack

Здесь лежат утилитарные плагины/лоадеры для вебпака

Начало работы

Рассмотрим новый проект, созданный на основе template

Для начала стоит взглянуть в .yarnrc на эту строчку: здесь, как можно заметить, идёт референс на кастомный бандл yarn. Этот самый бандл как раз генерируется в @atls/yarn-cli. Внутри этого бандла уже есть все плагины: typecheck, lint, format и т.д. Устанавливать их вручную не требуется

Также стоит обратить внимание на зависимости в корневом пекедже. Для корректной работы tools должны быть установлены все основные библиотеки, использующиеся в tools (typescript, eslint и тд)

Если все вышеперечисленное присутствует на проекте - tools готовы к работе