Skip to content

enb/enb

Repository files navigation

ENB

NPM Status Travis Status Windows Status Coverage Status Dependency Status

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:

  1. Install a project-stub template project that supports ENB builds by default.
  2. Create a project that suits your tasks. To do this, answer the questions in the BEM project generator based on Yeoman.

Documentation

Materials

Extensions

ENB technology packages are located in NPM: packages with the enb prefix.

Name Status Description
BEM methodologies
BEM NPM version Technologies for building BEM projects.
BEViS NPM version Technologies for building BEViS projects.
Templating
bem-xjst NPM version Building BEMTREE and BEMHTML templates with bem-xjst.
xjst NPM version Building BEMTREE and BEMHTML templates with XJST.
bh NPM version Building BH templates.
bt NPM version Building BT templates.
Styles
CSS NPM version Building and minimizing CSS files.
PostCSS NPM version Building and processing CSS files with postcss.
Stylus NPM version Building and minimizing Stylus files.
Saas NPM version Building Sass files.
Roole NPM version Building roo files.
JavaScript
JavaScript ![NPM version] (https://img.shields.io/npm/v/enb-js.svg) Building, processing and minimizing JS files.
YModules NPM version Building JS files with YModules.
Public facilities
Examples NPM version Building BEM examples.
Docs NPM version Building BEM documentation.
Browser tests NPM version Building and running tests for client-side JavaScript.
Node tests NPM version Building and running tests for BEM templates.
Template tests NPM version Building and running tests for BEM templates.

License

© 2013 YANDEX LLC. The code is released under the Mozilla Public License 2.0.