Приглашаем Вас присоединиться к развитию 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.
Спасибо!