Сотрудничество

Приглашаем Вас присоединиться к развитию Moleculer. Этот документ поможет вам в этом процессе.

Перед началом работы

Пожалуйста, используйте следующий стиль написания кода:

  • Используйте отступы из 4 пробелов.
  • Всегда используйте строгий режим и точку с запятой &.
  • Используйте двойные кавычки вместо одинарных.

Вклад в основные модули

Если вы хотите внести изменения в основные модули выполните следующие шаги.

Шаги

  1. Форкните репозиторий moleculerjs/moleculer.

  2. Клонируйте репозиторий на ваш компьютер и установите зависимости.

    $ git clone https://github.com/<username>/moleculer.git
    $ cd moleculer
    $ npm install
  3. Запустить Moleculer в dev режиме

    $ npm run dev

    или в режиме непрерывного тестирования

    $ npm run ci
  4. Исправьте ошибку или добавьте новую функциональность.

  5. Запустите тесты и проверьте отчёт о покрытии.

    $ npm test

    Если вы добавили новый функционал, пожалуйста, добавьте соответствующие тесты! Мы стремимся к 100% покрытию.

    Ваш запрос на слияние будет объединён только после прохождения всех тестов и при полном покрытии тестами всего кода. Не забудьте запустить тесты перед отправкой.

  6. Зафиксируйте и отправьте ветку.

  7. Создайте запрос на слияние и опишите изменения.

  8. Если вы изменили API, так же обновите документацию.

Вклад в создание нового модуля

Если вы хотите хотите создать новый модуль для Moleculer, выполните следующие шаги

Шаги

  1. Установите инструмент командной строки.

    $ npm install moleculer-cli -g
  2. Создайте новый скелет модуля (с именем moleculer-awesome).

    $ moleculer init module moleculer-awesome
  3. Отредактируйте src/index.js и реализуйте требуемую логику.

  4. Для разработки используйте режим dev (он запустит ваш модуль с example/simple/index.js)

    $ npm run dev

    или режим непрерывного тестирования

    $ npm run ci
  5. Создайте тесты в test/unit/index.spec.js и полностью покройте ими исходный код.

    $ npm test
  6. Если всё сделано, и вы думаете, что это будет полезно для других пользователей, сообщите нам!

Сообщение о проблеме

Если при использовании Moleculer возникают трудности, поищите решение в разделе FAQ или задайте нам вопрос на Discord или на StackOverflow. Если вы не можете найти ответ, пожалуйста, сообщите нам об этом через GitHub Issues.

Спасибо!