No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
techs
.gitignore
.jshintignore
.jshintrc
.travis.yml
LICENSE
README.md
package.json

README.md

enb-bevis Build Status

Предоставляет технологии для сборки проектов на базе BEViS.

Сборка

Сборка обычного BEViS-проекта выглядит так:

.enb/make.js:

    // ...
    config.node('pages/index', function (nodeConfig) {
        var browserSupport = [
            'IE >= 9',
            'Safari >= 5',
            'Chrome >= 33',
            'Opera >= 12.16',
            'Firefox >= 28'
        ];

        nodeConfig.addTechs([
            // Зависимости
            require('enb-bevis/techs/sources'),
            [require('enb-bevis/techs/deps'), {sourceDeps: 'page'}], // начинаем сборку с блока page
            require('enb-bevis/techs/files'),

            // Локализация
            [require('enb-y-i18n/techs/y-i18n-lang-js'), {lang: '{lang}'}],

            // Сборка JS
            require('enb-bt/techs/bt-client-module'),
            [require('enb-bevis/techs/js'), {lang: '{lang}', target: '?.source.{lang}.js'}],
            [require('enb-autopolyfiller/techs/autopolyfiller'), {
                source: '?.source.{lang}.js',
                target: '?.{lang}.js',
                browsers: browserSupport
            }],

            // Сборка CSS
            [require('enb-stylus/techs/css-stylus-with-autoprefixer'), {
                browsers: browserSupport,
                variables: {
                    ie: false
                }
            }],
            [require('enb-stylus/techs/css-stylus-with-autoprefixer'), {
                browsers: ['ie 9'],
                target: '?.ie.css',
                variables: {
                    ie: 9
                }
            }],

            // Сборка HTML
            require('enb-bt/techs/bt-server'),
            [require('enb-bt/techs/html-from-btjson'), {lang: '{lang}'}]
        ]);

        nodeConfig.mode('development', function (nodeConfig) {
            nodeConfig.addTechs([
                [require('enb/techs/file-copy'), {source: '?.css', target: '_?.css'}],
                [require('enb/techs/file-copy'), {source: '?.ie.css', target: '_?.ie.css'}],
                [require('enb/techs/file-copy'), {source: '?.{lang}.js', target: '_?.{lang}.js'}]
            ]);
        });

        nodeConfig.mode('production', function (nodeConfig) {
            nodeConfig.addTechs([
                [require('enb-borschik/techs/borschik'), {source: '?.css', target: '_?.css', freeze: true}],
                [require('enb-borschik/techs/borschik'), {source: '?.ie.css', target: '_?.ie.css', freeze: true}],
                [require('enb-borschik/techs/borschik'), {source: '?.{lang}.js', target: '_?.{lang}.js'}]
            ]);
        });

        nodeConfig.addTargets([
            '_?.{lang}.js',
            '_?.css',
            '_?.ie.css',
            '?.{lang}.html'
        ]);
    });
    // ...

package.json:

//...
"enb": {
  "dependencies": ["islets"], // зависимость от islets
  "sources": [
    "blocks" // директории для блоков проекта
  ]
}
//...

sources

Собирает информацию о директориях с исходным кодом проекта, предоставляет ?.sources.

Опции

  • String target — Результирующий таргет. По умолчанию — ?.sources.
  • Boolean auto — Автоматический сбор директорий с исходниками на основе package.json. По умолчанию включено.
  • String[] sources — Исходные директории.
  • String[] dependencies — Пакеты, от которых зависит проект.

Пример

nodeConfig.addTech(require('enb-bevis/techs/sources'));

deps

Раскрывает зависимости.

Опции

  • String|Array|Object sourceDeps — Исходные зависимости. Можно указать сразу, чтобы не создавать файл.
  • String sourceDepsFile — Файл с исходными зависимостями. По умолчанию — ?.deps.yaml.
  • String sources — Исходный sources. По умолчанию — ?.sources.
  • String target — Результирующий deps. По умолчанию — ?.dest-deps.js.
  • String jsSuffixes — Суффиксы js-файлов. По умолчанию — ?.deps.yaml.

Пример

Обычное использование:

nodeConfig.addTech(require('enb-bevis/techs/deps'));

Сборка специфического deps:

nodeConfig.addTech([require('enb-bevis/techs/deps'), {
  sourceDepsFile: 'search.deps.yaml',
  target: 'search.dest-deps.js'
}]);

files

Собирает список исходных файлов для сборки на основе deps и sources, предоставляет ?.files и ?.dirs. Используется многими технологиями, которые объединяют множество файлов из различных исходных директорий в один.

Опции

  • String depsFile — Исходный deps-файл. По умолчанию — ?.dest-deps.js.
  • String sources — Исходный sources. По умолчанию — ?.sources.
  • String filesTarget — Результирующий files-таргет. По умолчанию — ?.files.
  • String dirsTarget — Результирующий dirs-таргет. По умолчанию — ?.dirs.

Пример

nodeConfig.addTech(require('enb-bevis/techs/files'));

js

Собирает {lang}.js-файл.

Опции

  • String target — Результирующий файл. По умолчанию — ?.{lang}.js.
  • String btFile — Файл с BT-шаблонами. По умолчанию — ?.bt-client.js.
  • String i18nFile — Файл с переводами. По умолчанию — ?.{lang}.js.
  • String lang — Язык. Нет значения по умолчанию.

Пример

Обычное использование:

nodeConfig.addTech(require('enb-bevis/techs/js'), {lang: '{lang}'});

Использование с автополифиллером:

nodeConfig.addTechs([
    [require('enb-bevis/techs/js'), {target: '?.source.{lang}.js', lang: '{lang}'}],
    [require('enb-autopolyfiller/techs/autopolyfiller'), {
        source: '?.source.{lang}.js',
        target: '?.{lang}.js',
        browsers: ['IE >= 9', 'Safari >= 5', 'Chrome >= 33', 'Opera >= 12.16', 'Firefox >= 28']
    }]
]);

source-deps-from-btjson

Формирует deps.yaml на основе ?.btjson.js.

Опции

  • String source — Исходный btjson-файл. По умолчанию — ?.btjson.js.
  • String target — Результирующий файл. По умолчанию — ?.deps.yaml.

Пример

nodeConfig.addTech(require('enb-bevis/techs/source-deps-from-btjson'));

source-deps-test

Формирует deps.yaml на основе деклараций тестов.

Опции

  • String sources — Исходный sources. По умолчанию — ?.sources.
  • String target — Результирующий файл. По умолчанию — ?.deps.yaml.
  • RegExp|String fileMask — Фильтр для тестов.

Пример

nodeConfig.addTech(require('enb-bevis/techs/source-deps-test'));

js-test

Формирует test.js на основе деклараций тестов.

Опции

  • String target — Результирующий файл. По умолчанию — ?.test.js.
  • RegExp|String fileMask — Фильтр для тестов.

Пример

nodeConfig.addTech(require('enb-bevis/techs/js-test'));