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

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

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

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

ПомогРодион ДемиховРодион Демихов Родион Демихов

Фронт: Сохранять порядок правил в postcss-nested

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

В экосистеме PostCSS есть плагин postcss-nested для добавления в CSS синтакса вложенных правил (в духе SCSS).

Сейчас postcss-nested некорретно работает, если другие свойства идут после вложенного правила.

.foo {
  a: 1;
  &bar {
    b: 2;
  }
  b: 1;
}
.foo {
  a: 1;
  b: 1;
}
.foobar {
  b: 2;
}

В этом примере b: 1 из .foo после компиляции оказалось выше b: 2 из .foobar.

Правильный результат:

.foo {
  a: 1;
}
.foobar {
  b: 2;
}
.foo {
  b: 1;
}

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

  1. Форкнуть postcss-nested.
  2. Сделать новую ветку.
  3. Добавить тесты.
  4. Исправить код выноса вложенных правил — чтобы он создавал копию текущего правила для свойств после вложенного правила.