Tool for building web projects, BEM bundler.
Switch branches/tags
Clone or download
zxqfox Merge pull request #606 from insane-developer/master
Preserve file order on multi-suffix call of getBySuffix method (#605)
Latest commit 87b27d7 Apr 3, 2018
Permalink
Failed to load latest commit information.
bin
docs
lib Preserve file order on multi-suffix call of getBySuffix method (#605) Dec 29, 2017
techs
test
.editorconfig
.eslintignore
.eslintrc.yml
.gitignore docs: update readme, separate files Nov 11, 2017
.npmignore fix Aug 22, 2014
.npmrc chore: prevent package-lock.json Nov 4, 2017
.travis.yml
CHANGELOG.md
CONTRIBUTION.md Updated github username Apr 2, 2015
LICENSE.txt
README.md
README.ru.md en translation Feb 13, 2018
appveyor.yml chore(travis): whitelist greenkeeper branches Nov 11, 2017
package.json fix(package): update commander to version 2.12.2 Nov 29, 2017

README.md

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.