Быстрый старт

Платформа diplodoc разрабатывается на осноне набора независимых модулей, расположенных в Github организации diplodoc-platform.

Каждый модуль можно разрабатывать как по отдельности, так и в составе метапакета.

Самый простой способ начать разрабатку любого модуля в системе - запустить преднастроенный GitHub Codespace в соответствующем репозитории.

Подробнее про работу с GitHub Codespaces можно почитать в официальной документации.

Подготовка модуля

После создания codespace дождитесь выполнения postCreateCommand (~3мин).

На этом этапе проходит несколько подготовительных действий:

  • установка необходимых модулю NodeJS пакетов
  • предварительная сборка модуля (npm run build)
  • основные проверки качества кода (npm run lint)
  • основные тесты (npm run test)

Когда подготовка успешно завершена, т.е. модуль собирается и проходит основные проверки - он готов к внесению изменений.

Подготовка метапакета

Разработка в рамках метапакета упрощает одновременное внесение изменений сразу в несколько модулей.

После создания codespace дождитесь выполнения postCreateCommand (~3мин).

На этом этапе проходит несколько подготовительных действий:

  • связывание git субмодулей
  • установка необходимых NodeJS пакетов в режиме npm workspaces
  • предварительная сборка графа модулей для проекта CLI (npx nx build @diplodoc/cli)

По умолчанию при инициализации метапакета не запускаются проверки качества кода и тесты.
Их можно запустить самостоятельно выполнив в корневой директории npm run lint и npm run test соответственно.
При этом выполнятся соответствующие проверки во всех зависимых модулях.

Когда подготовка успешно завершена, т.е. модуль собирается и проходит основные проверки - он готов к внесению изменений.

Внесение изменений

В процессе внесения изменений необходимо убедиться, что проверки качества кода (npm run lint и npm run test) в измененном модуле все еще проходят без ошибок.

После этого можно приступить к оформлению коммитов и пулл реквеста.