generator-bem-stub

A generator of BEM projects

Usage no npm install needed!

<script type="module">
  import generatorBemStub from 'https://cdn.skypack.dev/generator-bem-stub';
</script>

README

generator-bem-stub Build Status Coverage Status Dependency Status devDependency Status

generator-bem-stub is a generator of BEM projects on Yeoman.

Introduction

There are several assemblers for BEM projects: bem-tools (uses ENB for make command) and ENB itself.

What does any developer do by starting a new BEM project? First and foremost, a developer creates a configuration file for an assembler. It is rather time-consuming and error prone process.

In order to save time, we decided to create a generator of configuration files which allows a developer to configure the assembly without immersion into tools' API. This generator provides you with the ability to get a stub of BEM project in few minutes by answering a few simple questions.

Install

To install the generator run:

$ npm install -g generator-bem-stub

If you use npm@>=3.0.0, before the installing of the generator you need to run:

$ npm install -g yo

REMARK! The global installation (with -g flag) is mandatory in both cases.

Update

To update the generator run:

$ npm update -g generator-bem-stub

Usage

Run:

$ yo bem-stub

Options

  • skip-install - skip the installation of dependencies and libraries after generation of the project (default: false).

  • tab-size - tab size of the generated code in spaces. Specify 0 to generate tabs instead of spaces (default: 4).

Example

$ yo bem-stub --skip-install --tab-size=4

What does generator-bem-stub support?

To create the config file fitting for your project, the generator will ask several questions. Note that some of them depend on the previous ones, for example:

  • If you have chosen library bem-components, generator-bem-stub will choose Autoprefixer and CSS preprocessor Stylus by default.

  • If you have not chosen BEMJSON technology bundles will be assembled by BEMDECL.

  • You can build HTML only if you have chosen technology BEMJSON and BEMHTML or BH template engine.

REMARK! If you choose bem-tools the config file will be generated for ENB and your project will be built by ENB under the hood, but you will be able to use bem-tools commands.

Versions

You can check in the file app/config/versions.js which versions of the dependencies and libraries generator-bem-stub uses.