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

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

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

Фронт: Выводить изменения в списке браузеров после browserslist --update-db

Для новичков, задача на неделю

Browserslist использует caniuse-lite как базу данных актуальных браузеров. Эту базу данных надо регулярно обновлять; есть команда npx browserslist --update-db, которая сама обновляет версию базы данных в lock-файле.

Но многие пользователи волнуются о том, как обновление может повлиять на поддержку браузеров. Хочется добавить сравнение «было/стало»:

Current version: 1.0.30001148
New version: 1.0.30001154
Removing old caniuse-lite from lock file
Installing new caniuse-lite version
$ yarn install
caniuse-lite has been successfully updated

Target browser changes:
- chrome 67
+ chrome 80

Польза: расширить open source портфолио в Node.js, добавить строку в резюме с PR в популярный проект.

  1. Форкнуть browserslist.
  2. Сделать новую ветку.
  3. Открыть update-db.js.
  4. Взывать npx browserslist до обновления. В случае ошибки не выводить diff.
  5. После обновления вызвать npx browserslist ещё раз.
  6. Посчитать diff браузеров и вывести его.
  7. Написать тесты.