generator-bem-stub
is a generator of BEM projects on Yeoman.
Warning! The project is DEPRECATED. Please use https://github.com/bem/project-stub/ or https://github.com/bem/bem-express instead.
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.
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.
To update the generator run:
$ npm update -g generator-bem-stub
Run:
$ yo bem-stub
-
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
).
$ yo bem-stub --skip-install --tab-size=4
- Assemblers:
- Libraries:
- Redefinition levels:
- desktop
- touch-pad
- touch-phone
- CSS preprocessors:
- Autoprefixer
- Technologies:
- Template engines:
- Building of HTML
- Building of tidy (formatted and not minimized) HTML using enb-beautify
- Minimization of separate files
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.
You can check in the file app/config/versions.js which versions of the dependencies and libraries generator-bem-stub
uses.