Size: a a a

2018 November 28

SB

Sergey Belozyorcev in БЭМ
Антон Виноградов
Я согласен, что строка импорта выглядит лучше и писать так удобнее/короче. Но называть все файлы index не удобно. Откроешь 3-4 модуля и твои глаза проклянут твою инженерную мысль :)
Я согласен. Палка на двух концах ) Можно смотреть что лучше.
Как вариант можно делать индексовые файлы совместно с текущим именованием.

Больше файлов при оформлении блоков, но чище импорты при использовании.
// Ticket/@desktop.ts
export * from './Ticket@desktop'

// Ticket/index.ts
export * from './Ticket'

// Ticket/_theme_islands/index.ts
export * from './Ticket_theme_islands'

Это просто как одно из решений лакночных импортов на нативном JS.
Со склейкой понятно, там были немного другие правила ) Указал в deps и не паришься где и как оно называется на fs.

Есть ещё другое решение... Которое ну ппц странное, но возможно имеет право на жизнь.

Делать генератор алиасов на файлы создавая "виртуальную" flat схему

import { Button } from 'bem/Button'
import { ButtonThemeAction } from 'bem/Button_theme_action'
import { ButtonThemeIslands } from 'bem/Button_theme_islands'
import { ButtonText } from 'bem/Button-Text'

Плюсы - сохраняется текущая схема неймнга, минусы чуть-чуть магии.
источник

АО

Александр Олейников in БЭМ
Можно вообще абстрагироваться от файлов в иерархической файловой системе. Представим БЭМ-сущности как набор атрибутов:
name — название блока/элемента/модификатора,
type — блок это, элемент или модификатор,
tech — название технологии реализации,
content — содержимое.
Хранить такие сущности можно в реляционной БД, это позволит явно указать связи между блоками, элементами и модификаторами.
Плюсы:
При помощи небольшой вспомогательной программы можно отображать содержимое БД в
файловой системе, используя FUSE. При этом программа может позволять выбрать структуру директорий и систему названий для файлов. Нам больше не придётся спорить об этом. Каждый из разработчиков, работающих над одним проектом, сможет использовать свою.
Минусы:
Не так удобно пользоваться git'ом, но можно хранить в системе контроля версий SQL dump.
источник

SB

Sergey Belozyorcev in БЭМ
Александр Олейников
Можно вообще абстрагироваться от файлов в иерархической файловой системе. Представим БЭМ-сущности как набор атрибутов:
name — название блока/элемента/модификатора,
type — блок это, элемент или модификатор,
tech — название технологии реализации,
content — содержимое.
Хранить такие сущности можно в реляционной БД, это позволит явно указать связи между блоками, элементами и модификаторами.
Плюсы:
При помощи небольшой вспомогательной программы можно отображать содержимое БД в
файловой системе, используя FUSE. При этом программа может позволять выбрать структуру директорий и систему названий для файлов. Нам больше не придётся спорить об этом. Каждый из разработчиков, работающих над одним проектом, сможет использовать свою.
Минусы:
Не так удобно пользоваться git'ом, но можно хранить в системе контроля версий SQL dump.
😅👍
источник

PM

Petr Myazin in БЭМ
Была такая попытка запилить файловую систему как SQL от Microsoft, провалилась
источник

PM

Petr Myazin in БЭМ
Возможно, они хотели обогнать своё время, а сейчас самое то! Так, глядишь из вопроса «как хранить файлы по БЭМ?» родится новая файловая система с SQL+git+распределённая+NoSQL+NewSQL+Графовая (и чтобы с поддержкой GraphQL)
источник

PM

Petr Myazin in БЭМ
и главное, в ней наконец можно будет хранить компоненты по БЭМ)
источник

Р

Роман in БЭМ
Александр Олейников
Можно вообще абстрагироваться от файлов в иерархической файловой системе. Представим БЭМ-сущности как набор атрибутов:
name — название блока/элемента/модификатора,
type — блок это, элемент или модификатор,
tech — название технологии реализации,
content — содержимое.
Хранить такие сущности можно в реляционной БД, это позволит явно указать связи между блоками, элементами и модификаторами.
Плюсы:
При помощи небольшой вспомогательной программы можно отображать содержимое БД в
файловой системе, используя FUSE. При этом программа может позволять выбрать структуру директорий и систему названий для файлов. Нам больше не придётся спорить об этом. Каждый из разработчиков, работающих над одним проектом, сможет использовать свою.
Минусы:
Не так удобно пользоваться git'ом, но можно хранить в системе контроля версий SQL dump.
Чем-то напоминает архитектуру PHP-шной CMF (MODX Revolution), где все сущности, даже сам PHP-код скриптов хранится в MySQL, чтобы реагировать на события изменения, т. к. PHP не умеет вотчить изменения файлов на ФС.
источник

VH

Vitaly Harisov in БЭМ
Александр Олейников
Можно вообще абстрагироваться от файлов в иерархической файловой системе. Представим БЭМ-сущности как набор атрибутов:
name — название блока/элемента/модификатора,
type — блок это, элемент или модификатор,
tech — название технологии реализации,
content — содержимое.
Хранить такие сущности можно в реляционной БД, это позволит явно указать связи между блоками, элементами и модификаторами.
Плюсы:
При помощи небольшой вспомогательной программы можно отображать содержимое БД в
файловой системе, используя FUSE. При этом программа может позволять выбрать структуру директорий и систему названий для файлов. Нам больше не придётся спорить об этом. Каждый из разработчиков, работающих над одним проектом, сможет использовать свою.
Минусы:
Не так удобно пользоваться git'ом, но можно хранить в системе контроля версий SQL dump.
источник

VH

Vitaly Harisov in БЭМ
Александр Олейников
Можно вообще абстрагироваться от файлов в иерархической файловой системе. Представим БЭМ-сущности как набор атрибутов:
name — название блока/элемента/модификатора,
type — блок это, элемент или модификатор,
tech — название технологии реализации,
content — содержимое.
Хранить такие сущности можно в реляционной БД, это позволит явно указать связи между блоками, элементами и модификаторами.
Плюсы:
При помощи небольшой вспомогательной программы можно отображать содержимое БД в
файловой системе, используя FUSE. При этом программа может позволять выбрать структуру директорий и систему названий для файлов. Нам больше не придётся спорить об этом. Каждый из разработчиков, работающих над одним проектом, сможет использовать свою.
Минусы:
Не так удобно пользоваться git'ом, но можно хранить в системе контроля версий SQL dump.
Вокруг булочки FUSE мы уже ходили, году так в 2010 или 2011. Была идея, что можно хранить в git в каком-то каноническом виде, а через fuse делать любой маппинг, как удобно разработчику. Даже всё написали. Только FUSE ДИКО медленное, и работать с таким невозможно
источник

Р

Роман in БЭМ
Возрождается тема IDE для БЭМ-проектов: https://events.yandex.ru/lib/talks/2197/
источник

AB

Alexander Berezin in БЭМ
офигеть я в секту попал
источник

VG

Vladimir Grinenko in БЭМ
Alexander Berezin
офигеть я в секту попал
источник

AY

Alexey Yarrr (qfox) in БЭМ
Роман
Чем-то напоминает архитектуру PHP-шной CMF (MODX Revolution), где все сущности, даже сам PHP-код скриптов хранится в MySQL, чтобы реагировать на события изменения, т. к. PHP не умеет вотчить изменения файлов на ФС.
Биндинги и всё умеет сразу. https://reactphp.org еще вот такое есть, а хранить код в сторадже не только в PHP можно)
источник

AY

Alexey Yarrr (qfox) in БЭМ
IDE не нужны, плагинов к WebStorm/Sublime/VSCode должно быть больше, чем достаточно
источник

Р

Роман in БЭМ
Alexey Yarrr (qfox)
IDE не нужны, плагинов к WebStorm/Sublime/VSCode должно быть больше, чем достаточно
Но ни один из них не может правильно отображать SourceTree. Даже вроде как поднималась тема плагина для NERDTree, т. к. он позволяет менять структуру вывода.
источник

Р

Роман in БЭМ
Роман
Но ни один из них не может правильно отображать SourceTree. Даже вроде как поднималась тема плагина для NERDTree, т. к. он позволяет менять структуру вывода.
«Правильно» — так, как мы хотим по БЭМ.
источник

AY

Alexey Yarrr (qfox) in БЭМ
Роман
Но ни один из них не может правильно отображать SourceTree. Даже вроде как поднималась тема плагина для NERDTree, т. к. он позволяет менять структуру вывода.
потому что надо не common.blocks/button.css, desktop.blocks/button.css,
а blocks/button.css и blocks/button@desktop.css
источник

SB

Sergey Belozyorcev in БЭМ
Alexey Yarrr (qfox)
потому что надо не common.blocks/button.css, desktop.blocks/button.css,
а blocks/button.css и blocks/button@desktop.css
+1
источник

VH

Vitaly Harisov in БЭМ
Alexey Yarrr (qfox)
IDE не нужны, плагинов к WebStorm/Sublime/VSCode должно быть больше, чем достаточно
Так IDE и хотелось делать как плагины к редакторам, прототип был только для того, чтобы показать концепт.
источник
2018 November 29

MK

Mikhail Koloskov in БЭМ
На странице bem-components (404) https://ru.bem.info/platform/libs/bem-components/
источник