project-stub icon indicating copy to clipboard operation
project-stub copied to clipboard

Переименовать project-stub в bem-starter-kit

Open belozer opened this issue 9 years ago • 26 comments

Для многих starter-kit даёт точное описание того, что несёт в себе данное название. Я когда впервые объяснял на студии про project-stub на меня смотрели с недоумением. Что ещё это за штука такая? Зачем ставить какой-то project-stub?

Или сделать отдельный репозиторий с новым project-stub со всеми принятыми изменениями.

belozer avatar Jul 24 '16 23:07 belozer

полное название bem-project-stub (по аналогии, например, с https://en.wikipedia.org/wiki/Template:Hello!Project-stub), но мы решили не повторять постоянно bem, т.к. уже в названии организации есть bem/project-stub

veged avatar Jul 24 '16 23:07 veged

@veged, я поиском по гитхабу сравнил project-stub VS starter-kit и, надо признать, что starter-kit лидирует с огромным отрывом. Так что, похоже, резон есть.

tadatuta avatar Jul 24 '16 23:07 tadatuta

veged avatar Jul 25 '16 00:07 veged

+1 за переименовать в bem-starter-kit

vithar avatar Jul 25 '16 06:07 vithar

bem/starter-kit

Guria avatar Jul 25 '16 06:07 Guria

👍

awinogradov avatar Jul 25 '16 07:07 awinogradov

Нет, bem/bem-starter-kit, по аналогии с bem-core и bem-components.

vithar avatar Jul 25 '16 07:07 vithar

@tadatuta а чего ждём? :)

Что-то мешает переименованию?

blond avatar Jul 30 '16 19:07 blond

@blond ответственность за действия :)

belozer avatar Jul 30 '16 19:07 belozer

ответственность за действия :)

@belozyorcev раньше его это не останавливало )

blond avatar Jul 30 '16 19:07 blond

@blond каждый день в нашей жизни прибавляет нам мудрости )

belozer avatar Jul 30 '16 19:07 belozer

@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 avatar Jul 31 '16 02:07 tadatuta

@tadatuta никакого express! Этим мы уже подвязываем bem-stack к express, а он должен быть самодостаточен и вливаться в любой фреймворк.

Лучше уж bemtree-static-project-stub, т.к. он не перегружен лишними конфигами.

belozer avatar Aug 04 '16 14:08 belozer

а bem-express -> bem-starter-kit-expressjs, как side-эффект переименования project-stub.

или

bem-expressjs-kit

belozer avatar Aug 04 '16 14:08 belozer

@tadatuta можно было бы ещё какой-нибудь модуль сделать.

bem-connect-expressjs например, который предоставлял бы рендер, который в bem-express. bem-connect-adonisjs который предоставлял бы рендер для AdonisJS. bem-connect-koa который предоставлял бы рендер для KoaJS и т.д.

ну или bem-render-{ koa, adonisjs, expressjs }

И всё что нужно было бы, так это установить данный модуль в bem-starter-kit / или в свой проект с одним из фрейморков, если такой вариант конечно реализуем. Сейчас это описываю как теорию (зная, что практика всегда даёт пинка)

belozer avatar Aug 04 '16 14:08 belozer

Тем самым было бы некое стартовое ядро, которое можно было бы вливать в разные проекты подключая только нужные модули.

belozer avatar Aug 04 '16 14:08 belozer

например в проекте на express можно было бы сделать так

var render = require('bem-render-experssjs')({ bemRoot: 'my/bem/folder/path', cache: true });

belozer avatar Aug 04 '16 14:08 belozer

@belozyorcev да, я про такой модуль где-то года два думаю. Там на самом деле не так-то очевидно, как его сделать достаточно универсальным: нужно умножить разные бандлы на разные языки на варианты кэширования и на еще кучу всяких кастомных штук. Так что комбинаторно получается запредельная пепяка. А если сделать только один какой-то конкретный вариант, то все равно где-то нужно предоставлять «запчасти» для реализации собственного рендерера.

tadatuta avatar Aug 04 '16 15:08 tadatuta

@tadatuta можно начать с самого простого/готового. Чтобы он уже был, а дальше потихоньку его развивать (например с помощью сообщества).

belozer avatar Aug 04 '16 15:08 belozer

@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);
});

belozer avatar Aug 05 '16 02:08 belozer

@tadatuta переименовать этот репозиторий предпочтительнее. Тогда гитхаб будет автоматом редиректить со старых ссылок.

Guria avatar Aug 05 '16 03:08 Guria

да, я про такой модуль где-то года два думаю

А чем плох https://github.com/express-bem/express-bem-bemtree ?

qfox avatar Aug 05 '16 11:08 qfox

А чем плох https://github.com/express-bem/express-bem-bemtree ?

Как минимум тем, что он устарел чуть более, чем полностью.

А дальше всякая вкусовщина. express-bem подразумевает знание про внутреннюю кухню, а я пока не потерял надежду, что можно сделать полностью в духе шаблонизаторов для express: добавить адаптер в https://github.com/tj/consolidate.js и прокидывать данные через стандартные средства типа app.local(). Чтобы с точки зрения нодового кода вообще не было разницы между BEMTREE/BEMHTML и каким-нибудь ejs.

tadatuta avatar Aug 05 '16 12:08 tadatuta

Как минимум тем, что он устарел чуть более, чем полностью.

Сам ты устарел

qfox avatar Aug 05 '16 12:08 qfox

tadatuta avatar Aug 05 '16 12:08 tadatuta

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

belozer avatar Aug 05 '16 13:08 belozer