bse-admin
Сборщик данных для bem-site-engine
В качестве хранилища данных используется база данных LevelDB
Соответствующий nodejs модуль для работы с базой данных.
Структура работы основана на создании сценариев и последовательном выполнении всех этапов в данных сценариях.
Доступные сценарии описаны модулями которые находятся в директории targets
API
//TODO написать документацию по API
Сценарии
Сценарий представляет собой класс который должен быть унаследован от класса TargetBase
var TargetBase = require('./base').TargetBase,
TargetFoo = function (options) {
this.init(options);
};
TargetFoo.prototype = Object.create(TargetBase.prototype);
TargetFoo.prototype.init = function (options) {
[
// Set list of tasks here
].forEach(function (task) {
this.addTask(task);
}, this);
TargetBase.prototype.init.call(this, options);
};
TargetFoo.prototype.getName = function () {
return 'Your target name';
};
exports.TargetFoo = TargetFoo;
При создании сценария должны быть переопределен метод init
в котором нужно указать массив тех
шагов которые должны быть выполнены для данного сценария в той последовательности в какой они написаны.
Также должен быть переопределен метод getName
который должен возвращать название сценария.
Это необходимо для построения логов.
Готовые сценарии
- Очистка базы данных
- Публикация модели
- Полная сборка модели
- Сборка модели в режиме разработки
- Обновление документации в режиме разработки
- Обновление библиотек в режиме разработки
Тестирование
Для запуска тестов с дополнительной проверкой синтакса:
npm test
Для запуска только mocha тестов:
npm run mocha
Для запуска тестов с покрытием:
npm run istanbul
Ответственный за разработку: @tormozz48