enb-bem-techs-2x
Version:
BEM methodology for ENB
51 lines (36 loc) • 4.4 kB
Markdown
# enb-bem-techs
[](https://www.npmjs.org/package/enb-bem-techs) [](https://travis-ci.org/enb/enb-bem-techs) [](https://ci.appveyor.com/project/blond/enb-bem-techs) [](https://coveralls.io/r/enb/enb-bem-techs?branch=master) [](https://david-dm.org/enb/enb-bem-techs)
`enb-bem-techs` — это основной пакет технологий для работы с проектами, созданными по БЭМ-методологии.
Пакет предоставляет набор базовых [ENB](http://enb-make.info/)-технологий, основная задача которых — подготовить промежуточный результат для технологий, которые ничего не знают о [БЭМ-методологии](https://ru.bem.info/method/) и о том, как устроен проект.
Большинство технологий из других пакетов в [ENB](http://enb-make.info/) ожидает на вход список файлов или директорий, а также информацию о требуемом порядке для их сборки.
**Технологии пакета `enb-bem-techs`:**
* [levels](docs/api.ru.md#levels) — cобирает информацию о БЭМ-сущностях на уровнях переопределения.
* [levelsToBemdecl](docs/api.ru.md#levelstobemdecl) — формирует BEMDECL-файл из БЭМ-сущностей с указанных уровней.
* [bemjsonToBemdecl](docs/api.ru.md#bemjsontobemdecl) — формирует BEMDECL-файл из BEMJSON-файла.
* [deps](docs/api.ru.md#deps) — дополняет декларацию БЭМ-сущностей необходимыми зависимостями.
* [depsOld](docs/api.ru.md#depsold) — дополняет декларацию БЭМ-сущностей необходимыми зависимостями. Использует алгоритм, заимствованный из [bem-tools](https://github.com/bem/bem-tools/tree/support/0.10.x).
* [depsByTechToBemdecl](docs/api.ru.md#depsbytechtobemdecl) — формирует BEMDECL-файл на основе зависимостей по технологиям.
* [files](docs/api.ru.md#files) — собирает список исходных файлов и директорий для сборки.
* [provideBemdecl](docs/api.ru.md#providebemdecl) — копирует BEMDECL-файл из указанной ноды (node) в текущую.
* [provideDeps](docs/api.ru.md#providedeps) — копирует DEPS-файл из указанной ноды (node) в текущую.
* [mergeBemdecl](docs/api.ru.md#mergebemdecl) — объединяет BEMDECL-файлы в один файл.
* [mergeDeps](docs/api.ru.md#mergedeps) — объединяет DEPS-файлы в один файл.
* [subtractDeps](docs/api.ru.md#subtractdeps) — формирует DEPS-файл, вычитая один DEPS-файл из другого.
Принципы работы технологий и их API описаны в документе [API технологий](docs/api.ru.md).
Установка
---------
```sh
$ npm install --save-dev enb-bem-techs
```
**Требования**: зависимость от пакета `enb` версии `0.13.0` или выше.
Документация
------------
* [API технологий](docs/api.ru.md)
* [Организация файловой структуры](https://ru.bem.info/methodology/filesystem/)
* [Сборка бандла](docs/build-bundle.ru.md)
* [Сборка страницы](docs/build-page.ru.md)
* [Сборка merged-бандла](docs/build-merged-bundle.ru.md)
* [Сборка дистрибутива](docs/build-dist.ru.md)
Лицензия
--------
© 2014 YANDEX LLC. Код лицензирован [Mozilla Public License 2.0](LICENSE.txt).