-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathedp-build-config.js
105 lines (97 loc) · 1.89 KB
/
edp-build-config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
var cwd = __dirname;
var path = require( 'path' );
/**
* 输入目录
*
* @type {string}
*/
exports.input = path.resolve(cwd);
/**
* 输出目录
*
* @type {string}
*/
exports.output = path.resolve( cwd, 'build' );
/**
* 排除文件pattern列表
*
* @type {Array}
*/
exports.exclude = [
'Desktop.ini',
'Thumbs.db',
'.DS_Store',
'*.tmp',
'*.bak',
'*.swp',
'.eslintrc.json',
'node_modules',
'dep',
'doc',
'demo',
'test',
'build',
'build-doc',
'.gitignore',
'.gitreview',
'.travis.yml',
'edp-*.js',
'FcDocsBuilder.js',
'FcBabelProcessor.js',
'index.html',
'karma.conf.js',
'LICENSE',
'*.json',
'*.conf',
'*.md',
'karma-test-main.js'
];
var moduleEntries = 'html,htm,phtml,tpl,vm,js';
var pageEntries = 'html,htm,phtml,tpl,vm';
/**
* 获取构建processors的方法
*
* @return {Array}
*/
exports.getProcessors = function () {
var FcBabelProcessor = require('./FcBabelProcessor');
return [
new FcBabelProcessor(),
new LessCompiler( {
files: [
'src/css/main.less'
]
} ),
new CssCompressor(),
new ModuleCompiler( {
configFile: './edp-build.conf',
entryExtnames: moduleEntries
} ),
new JsCompressor({
files: [
'dist/fcui2.js'
],
compressOptions: {
warnings: false
},
sourceMapOptions: {
enable: false
}
}),
new OutputCleaner({
files: [
'*.less'
]
})
];
};
/**
* builder主模块注入processor构造器的方法
*
* @param {Object} processors
*/
exports.injectProcessor = function ( processors ) {
for ( var key in processors ) {
global[ key ] = processors[ key ];
}
};