Приглашаем Вас присоединиться к развитию Moleculer. Этот документ поможет вам в этом процессе.
Перед началом работы
Пожалуйста, используйте следующий стиль написания кода:
- Используйте отступы из 4 пробелов.
- Всегда используйте строгий режим и точку с запятой
&
. - Используйте двойные кавычки вместо одинарных.
Вклад в основные модули
Если вы хотите внести изменения в основные модули выполните следующие шаги.
Шаги
Форкните репозиторий moleculerjs/moleculer.
Клонируйте репозиторий на ваш компьютер и установите зависимости.
$ git clone https://github.com/<username>/moleculer.git
$ cd moleculer
$ npm installЗапустить Moleculer в dev режиме
$ npm run dev
или в режиме непрерывного тестирования
$ npm run ci
Исправьте ошибку или добавьте новую функциональность.
Запустите тесты и проверьте отчёт о покрытии.
$ npm test
Если вы добавили новый функционал, пожалуйста, добавьте соответствующие тесты! Мы стремимся к 100% покрытию.
Ваш запрос на слияние будет объединён только после прохождения всех тестов и при полном покрытии тестами всего кода. Не забудьте запустить тесты перед отправкой.
Зафиксируйте и отправьте ветку.
Создайте запрос на слияние и опишите изменения.
Если вы изменили API, так же обновите документацию.
Вклад в создание нового модуля
Если вы хотите хотите создать новый модуль для Moleculer, выполните следующие шаги
Шаги
Установите инструмент командной строки.
$ npm install moleculer-cli -g
Создайте новый скелет модуля (с именем
moleculer-awesome
).$ moleculer init module moleculer-awesome
Отредактируйте
src/index.js
и реализуйте требуемую логику.Для разработки используйте режим
dev
(он запустит ваш модуль сexample/simple/index.js
)$ npm run dev
или режим непрерывного тестирования
$ npm run ci
Создайте тесты в
test/unit/index.spec.js
и полностью покройте ими исходный код.$ npm test
Если всё сделано, и вы думаете, что это будет полезно для других пользователей, сообщите нам!
Сообщение о проблеме
Если при использовании Moleculer возникают трудности, поищите решение в разделе FAQ или задайте нам вопрос на Discord или на StackOverflow. Если вы не можете найти ответ, пожалуйста, сообщите нам об этом через GitHub Issues.
Спасибо!