Нам нужны твои мозги

Хотите расти как разработчик и найти крутую работу? Не протирайте штаны — займитесь Open Source проектами. Так легче всего попасть в лучшие команды разработчиков и положить себе в резюме настоящий проект, вместо нелепых «примеров кода». Но найти подходящий проект для участия сложно. Начинаются лень и отговорки, а за ними — отсутствие профессионального роста, критики по-настоящему крутых программистов, уныние и застой.

На Cult of Martians мы собираем интересные задачи для современных веб-программистов. Можно выбрать подходящую по сложности, продолжительности и специализации. Задачи не выдуманы «из воздуха» — каждая решает насущную проблему, и решить ее можно через создание нового Open Source проекта или улучшение существующего. Решайте задачи, прокачивайтесь, присылайте решение на оценку. Лучших могут пригласить к себе на работу компании, программистам которых понравится ваше решение.

Помощь запрашивалЭмиль КашкевичЭмиль Кашкевич Эмиль Кашкевич

Бэк: Поддержка Yarn для npmdc

Для новичков, задача на пару дней

Сейчас gem npmdc проверяет наличие установленных npm-пакетов и соответствие их версий на основе файла package.json.

Нужно добавить поддержку Yarn.

Польза: возможность попрактиковаться в программировании на чистом Ruby и написании gem’ов, помочь полезному проекту, который нужен в каждом современном большом Ruby веб-приложении.

Как это работает сейчас:

  1. Разбираем файл package.json и строим по нему дерево зависимостей с указанием версии.
  2. Разбираем содержимое папки node_modules.
  3. Для каждого пакета проверяем его наличие в папке node_modules и соответствие версии, указанной в package.json.
  4. Генерируем отчет и показываем его по завершению операции и/или в процессе выполнения (в зависимости от выбранного formatter’а).

Что нужно сделать:

  1. Добавить в конфиг опцию для выбора пакетного менеджера (NPM/Yarn).
  2. Если выбран Yarn, использовать yarn check:
  3. следует предусмотреть отсутствие установленного Yarn;
  4. следует предусмотреть путь к исполнительному файлу Yarn на случай, если пользователь планирует использовать глобально установленную версию;
  5. вывод отчета проверки yarn check следует привести в соответствие с текущим форматом.
  6. Отобразить используемый пакетный менеджер в сообщениях об ошибках и подсказках.
  7. Добавить тесты.
  8. Добавить информацию о новом функционале в документацию.