veged / borschik

Main repository moved to https://github.com/bem/borschik. Extendable builder for text-based file formats.
http://bem.info/articles/borschik/
94 stars 0 forks source link

Расширяемость борщика #65

Open alexeyten opened 11 years ago

alexeyten commented 11 years ago

Несмотря на описание, по факту борщик оказался очень сложно расширяемым.

В результате я несколько его переделал. Что и зачем я сделал:

  1. Выкинул все технологии кроме css-fast (переименовав её в css) и js. В основе нужна только база, зачем человеку желающему раскрыть импорты в CSS-файле таскать с собой кофескрипт и бэм? Так же нет никакой необходимости в честном парсинге CSS, особенно замедляющем сборку в разы и усложняющем внесение изменений (#56).
  2. Объявил минимайзеры (csso и uglifyjs) опциональными. В принципе они всё равно будут ставиться, но при желании можно сэкономить.
  3. Сделал inherit методом технологии для п.5
  4. Вынес получение технологии в отдельную функию и добавил её в exports, для возможности наследования в сторонних модулях.
  5. На основе пп. 3 и 4, сделал плагин к борщику https://github.com/alexeyten/borschik-tech-ycssjs/

Какие есть сложности и пожелания:

  1. Невозможность сбросить состояние конфигов (#62).
  2. Непонятное разделение технологии на Tech и File.
  3. Связность технологии и util. (minor)
  4. Некоторое количество синхронных вызовов fs.
alexeyten commented 11 years ago

/cc @arikon @afelix

arikon commented 11 years ago

@alexeyten Will look into it tomorrow

arikon commented 11 years ago

@alexeyten Could you please make pull request from your branch? It is more convenient to look into code when it is in PR.