Awesome
ENB
The tool for building web projects created with the BEM methodology.
Introduction
The main purpose of ENB is to combine source files into bundles, usually for further use in the browser.
The build includes combining all source files, processing them and converting the code, as well as preparing and packing the resources (images, fonts, and so on).
Read more about building BEM projects on the bem.info site.
Basic features of ENB
- Searches for only those source files needed for the build.
- Connects the necessary source files based on dependency declarations.
- Defines the order of connecting the source files.
- Combines source files spread across the project's file system.
- Creates bundles and files.
- Extends the build for project-specific processing and conversion.
- Provides a local development service that supports builds on demand.
Installation
$ npm install --save-dev enb
Getting started
To create a BEM project configured for the build with ENB, use one of these options:
- Install a project-stub template project that supports ENB builds by default.
- Create a project that suits your tasks. To do this, answer the questions in the BEM project generator based on Yeoman.
Documentation
[deprecated]
Project build guide- Building a bundle
- Building a page
- Building a merged bundle
- Building a distribution
[deprecated]
Building with express[deprecated]
Guide to writing an ENB technology- Terminology
[deprecated]
API[deprecated]
CLI
Materials
Extensions
ENB technology packages are located in NPM: packages with the
enb
prefix.
Name | Status | Description |
---|---|---|
BEM methodologies | ||
BEM | Technologies for building BEM projects. | |
BEViS | Technologies for building BEViS projects. | |
Templating | ||
bem-xjst | Building BEMTREE and BEMHTML templates with bem-xjst. | |
xjst | Building BEMTREE and BEMHTML templates with XJST. | |
bh | Building BH templates. | |
bt | Building BT templates. | |
Styles | ||
CSS | Building and minimizing CSS files. | |
PostCSS | Building and processing CSS files with postcss. | |
Stylus | Building and minimizing Stylus files. | |
Saas | Building Sass files. | |
Roole | Building roo files. | |
JavaScript | ||
JavaScript | ![NPM version] (https://img.shields.io/npm/v/enb-js.svg) | Building, processing and minimizing JS files. |
YModules | Building JS files with YModules. | |
Public facilities | ||
Examples | Building BEM examples. | |
Docs | Building BEM documentation. | |
Browser tests | Building and running tests for client-side JavaScript. | |
Node tests | Building and running tests for BEM templates. | |
Template tests | Building and running tests for BEM templates. |
License
© 2013 YANDEX LLC. The code is released under the Mozilla Public License 2.0.