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

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

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

Помощь запрашивалАндрей СитникАндрей Ситник Андрей Ситник

ПомогИван СоловьевИван Соловьев Иван Соловьев

Фронт: Исправить парсинг Custom Properties в PostCSS

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

PostCSS парсит значения CSS Custom Properties как обычные значения в CSS-свойствах. Оказалось, что по спецификации там могут быть { и другие символы.

/* Валидный CSS */
html {
  --bracket-block: {1, 2, 3};
  --JSON: [1, "2", {"three": 3}, [4]];
  --javascript: function(rule) { console.log(rule) };
}

Нужно изменить парсер, чтобы правильно обрабатывать CSS Custom Properties.

Польза: получить опыт JavaScript в известном проекте.

  1. Форкнуть PostCSS Parser Tests.
  2. Форкнуть PostCSS.
  3. Проверить, что postcss/ и postcss-parser-tests/ лежат в одной папке.
  4. Добавить в postcss-parser-tests новые примеры.
  5. Исправить парсер в lib/parser.js.
  6. Пересобрать сборку PostCSS с помощью npx gulp build.
  7. Запустив postcss-parser-tests/update, обновить JSON в тестах.
  8. Послать pull request в оба проекта.