Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Directories instead of files #4

Open
Yeti-or opened this issue Feb 4, 2016 · 8 comments
Open

Directories instead of files #4

Yeti-or opened this issue Feb 4, 2016 · 8 comments

Comments

@Yeti-or
Copy link
Member

Yeti-or commented Feb 4, 2016

What if we have something like this:

common.blocks/icon/
├── _type
│   ├── icon_type_arrow.assets
│   │   ├── arrow-b.svg
│   │   ├── arrow-l.svg
│   │   ├── arrow-r.svg
│   │   └── arrow-t.svg
│   ├── icon_type_arrow.css
│   ├── icon_type_close.assets
│   │   └── close.svg
│   └── icon_type_close.css
├── icon.bemhtml.js
├── icon.bh.js
├── icon.css
├── icon.deps.js

so we have .assets technology. Now we expect only files like icon.css or icon.js. What should we give to our users?

bundle.src({
    tech: 'assets',
    extensions: ['assets']
}).pipe(' What we have here?')
@Yeti-or
Copy link
Member Author

Yeti-or commented Feb 4, 2016

@blond @zxqfox What do you think?

@qfox
Copy link
Member

qfox commented Feb 4, 2016

Well, I guess we should pass something like Stream with Files instead of single File.

@blond
Copy link
Member

blond commented Feb 4, 2016

Well, I guess we should pass something like Stream with Files instead of single File.

no

What do you think?

bem-walk should return stream with *.assets dirs only (without inner files).

The files in *.assets dirs is the internal implementation of assets technology. And we don't need to know anything about it.

Tech-plugins should decide how handle this dirs. Is it the same as PostCSS should know how to read and parse CSS.

@qfox
Copy link
Member

qfox commented Feb 5, 2016

Ты не понял, если мы для файлов будем возвращать File, а для директорий — неведомое что-то, будет неконсистентность ;-)

Вопрос не про bem-walk, а про gulp-bem. Раскрывать не надо — нужно просто VinylDirectory или Stream возвращать, который внутри кто-то другой расчехлит.

Если не согласен, давай аргументы. Аналогия с PostCSS какая-то вообще не к месту ;)

@blond
Copy link
Member

blond commented Feb 5, 2016

VinylDirectory норм, если при этом не надо идти на файловую систему, чтобы узнать что внутри этой директории. А в виниле есть директории?

Ну и я бы не постеснялся возвращать VinylFile для директории.

Моя идея такая, мы нашли файлы или директории, которые по неймингу и схеме внутри уровня являются сущностью. Всё, на этом моменте нужно остановится.

Как в случае с файлом нам не надо читать и парсить его содержимое, так и в случае с директорией этого делать не надо.

@blond
Copy link
Member

blond commented Feb 5, 2016

@zxqfox ну или расскажи зачем нам читать какие файлы есть в директории и стримить это?

@qfox
Copy link
Member

qfox commented Feb 5, 2016

Не не, читать не надо. Согласен, что Stream<File> плохая идея.

@qfox
Copy link
Member

qfox commented May 5, 2016

cc @deeonis

blond pushed a commit that referenced this issue Mar 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants