// именованные типы бандлов (хз для чего)
describe('page', 'pages/*', function (node) {
addTech('blabla', {yolo swag params}); // как обычно
addTargets(['html', 'css', '?.min.css']);
// если ? не указан и нет точки — достраиваем до "?.css"
afterTargetReady('?.min.css', function (target) {
cp(target.path, releasePath + '/' + target.relativePath);
});
afterEach(function () {
// запускаем после завершения обработки всех таргетов
sed(node.targets['css'], 's/script/script yolo="swag"/g', '-i'); // условно
});
});
after(function () {
// finalizing build
// cd release; cap deploy?
});
Или даже так:
describe('page', {
path: 'pages/*',
yoloswag: 'yes'
}, function (node) {
// ...
});
При этом технологии можно отдавать списом сервисов по тиму architect
(в package.json, например, или отдельном файле), в запускалке можно сделать так, чтобы она смотрела все bem-*
пакеты, установленные в node_modules, и собирала сама оттуда технологии. Если какой-то пакет будет предоставлять расширения — он их может просто проксировать через себя.
При этом можно таким же параметром передать describe('all-bundles', { include: '*.bundles/*, exclude: '*.bundles/merged'
, к вопросу о merged бандле, и после этого в merged бандле указать, что он {include: '*.bundles/merged', dependsOn: 'all-bundles'}
. Кажется, что и просто, и понятно. При этом в технологии эта информация о бандле (и его "конфигах") тоже попадет.
/cc @blond @tadatuta @vithar @veged
Идея про универсальный экспорт (и автоматическое подключение) технологий явно удобная, @blond мелкими итерациями к чему-то такому плавно и подходит. А чем все остальноые принципиально отличается от того, что есть сейчас, я, если честно, не понял. Есть речь про события, то
magic-factory
уже какое-то время триггерит события на каждый осмысленный этап (см., например, https://github.com/enb-bem/enb-magic-factory/search?utf8=✓&q=emit).Кол-вом буковок, которые надо запоминать и воспринимать. Сравни mocha с javaunit ;-)
Упрощать, опять же, все уже знают, что нужно не до совсем упора, а до возможностей синтаксиса языка (можно вспомнить bemhtml ;-). Формат мока-лайк приведен для примера, но кажется, что он в разы понятнее, чем то, что есть сейчас.
А мне нравится! :)
@blond Сегодня день такой :fire: ;-)