builder-isv
Version:
ISV 模块本地预览与云构建器
41 lines (36 loc) • 1.06 kB
JavaScript
/**
* @author 龙喜<xiaolong.lxl@alibaba-inc.com>
* @description 构建配置加载器
*/
;
const fs = require('fs');
const path = require('path');
const config = require('../config');
const Debug = require('debug');
const debug = Debug('builder:rendererLoader');
module.exports = {
/**
* 获取构建配置
* @returns {*}
*/
get renderers() {
if (!this.availableRenderers) {
// 用户开启的 renderers
let userActiveRenderers = config.renderers;
// 最终可用 renderers
this.availableRenderers = fs.readdirSync(path.join(__dirname, '../renderers'))
.filter(function(fileName) {
return userActiveRenderers.indexOf(fileName) !== -1;
})
.map(function(fileName) {
return path.join(__dirname, '../renderers', fileName);
})
.filter(function(filePath) {
return fs.statSync(filePath).isDirectory();
}).map(function(filePath) {
return require(filePath);
});
}
return this.availableRenderers;
}
};