Переименовать project-stub в bem-starter-kit
Для многих starter-kit даёт точное описание того, что несёт в себе данное название. Я когда впервые объяснял на студии про project-stub на меня смотрели с недоумением. Что ещё это за штука такая? Зачем ставить какой-то project-stub?
Или сделать отдельный репозиторий с новым project-stub со всеми принятыми изменениями.
полное название bem-project-stub (по аналогии, например, с https://en.wikipedia.org/wiki/Template:Hello!Project-stub), но мы решили не повторять постоянно bem, т.к. уже в названии организации есть bem/project-stub
@veged, я поиском по гитхабу сравнил project-stub VS starter-kit и, надо признать, что starter-kit лидирует с огромным отрывом. Так что, похоже, резон есть.

+1 за переименовать в bem-starter-kit
bem/starter-kit
👍
Нет, bem/bem-starter-kit, по аналогии с bem-core и bem-components.
@tadatuta а чего ждём? :)
Что-то мешает переименованию?
@blond ответственность за действия :)
ответственность за действия :)
@belozyorcev раньше его это не останавливало )
@blond каждый день в нашей жизни прибавляет нам мудрости )
@blond
У нас тут есть параллельный тред про то, что BEMTREE должен быть доступен по умолчанию. Поэтому у меня есть хитрый план оставить project-stub как есть, а в bem-starter-kit переименовать https://github.com/tadatuta/bem-express/
Останавливает меня лишь вопрос, точно ли это должен быть bem-express или стоит взять https://github.com/tadatuta/bem-bemtree-static-project-stub :)
@tadatuta никакого express! Этим мы уже подвязываем bem-stack к express, а он должен быть самодостаточен и вливаться в любой фреймворк.
Лучше уж bemtree-static-project-stub, т.к. он не перегружен лишними конфигами.
а bem-express -> bem-starter-kit-expressjs, как side-эффект переименования project-stub.
или
bem-expressjs-kit
@tadatuta можно было бы ещё какой-нибудь модуль сделать.
bem-connect-expressjs например, который предоставлял бы рендер, который в bem-express.
bem-connect-adonisjs который предоставлял бы рендер для AdonisJS.
bem-connect-koa который предоставлял бы рендер для KoaJS и т.д.
ну или bem-render-{ koa, adonisjs, expressjs }
И всё что нужно было бы, так это установить данный модуль в bem-starter-kit / или в свой проект с одним из фрейморков, если такой вариант конечно реализуем. Сейчас это описываю как теорию (зная, что практика всегда даёт пинка)
Тем самым было бы некое стартовое ядро, которое можно было бы вливать в разные проекты подключая только нужные модули.
например в проекте на express можно было бы сделать так
var render = require('bem-render-experssjs')({ bemRoot: 'my/bem/folder/path', cache: true });
@belozyorcev да, я про такой модуль где-то года два думаю. Там на самом деле не так-то очевидно, как его сделать достаточно универсальным: нужно умножить разные бандлы на разные языки на варианты кэширования и на еще кучу всяких кастомных штук. Так что комбинаторно получается запредельная пепяка. А если сделать только один какой-то конкретный вариант, то все равно где-то нужно предоставлять «запчасти» для реализации собственного рендерера.
@tadatuta можно начать с самого простого/готового. Чтобы он уже был, а дальше потихоньку его развивать (например с помощью сообщества).
@tadatuta можно даже обойтись минимальным функционалом. Модуль правда с клиентской части, но сама суть неизменна. Всё что от рендера требуется -> получить html. Не нужно перегружать его кэшами и прочими плюшками. Кэш можно реализовать другими модулями.
modules.define('render', ['BEMTREE', 'BEMHTML'],
(provide, BEMTREE, BEMHTML) => {
function render(data, context, onlyContent) {
var bemtreeCtx = {
block: 'root',
context: context,
// extend with data needed for all routes
data: Object.assign({}, data)
};
var bemjson, html;
try {
bemjson = BEMTREE.apply(bemtreeCtx);
} catch(err) {
console.error('BEMTREE error', err.stack);
console.trace('server stack');
return err;
}
if (onlyContent) {
bemjson = bemjson.content;
}
try {
html = BEMHTML.apply(bemjson);
} catch(err) {
console.error('BEMHTML error', err.stack);
return err;
}
return html;
}
provide(render);
});
@tadatuta переименовать этот репозиторий предпочтительнее. Тогда гитхаб будет автоматом редиректить со старых ссылок.
да, я про такой модуль где-то года два думаю
А чем плох https://github.com/express-bem/express-bem-bemtree ?
А чем плох https://github.com/express-bem/express-bem-bemtree ?
Как минимум тем, что он устарел чуть более, чем полностью.
А дальше всякая вкусовщина. express-bem подразумевает знание про внутреннюю кухню, а я пока не потерял надежду, что можно сделать полностью в духе шаблонизаторов для express: добавить адаптер в https://github.com/tj/consolidate.js и прокидывать данные через стандартные средства типа app.local(). Чтобы с точки зрения нодового кода вообще не было разницы между BEMTREE/BEMHTML и каким-нибудь ejs.
Как минимум тем, что он устарел чуть более, чем полностью.
Сам ты устарел

@tadatuta @zxqfox жгёте! :+1: