forked from ElemeFE/mint-ui
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcooking.conf.js
52 lines (45 loc) · 1.26 KB
/
cooking.conf.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
var path = require('path');
var cooking = require('cooking');
var Components = require('./components.json');
cooking.set({
use: 'vue',
entry: Components,
dist: './lib/',
template: false,
clean: true,
format: 'umd',
moduleName: ['MINT', '[name]'],
extractCSS: '[name]/style.css',
extends: ['vue', 'lint', 'saladcss']
});
cooking.add('resolve.alias', {
'main': path.join(__dirname, 'src'),
'packages': path.join(__dirname, 'packages')
});
cooking.add('output.filename', '[name]/index.js');
var externals = {};
Object.keys(Components).forEach(function (key) {
externals[`packages/${key}/index.js`] = {
root: `MINT.index.${key}`,
commonjs: `mint-ui/lib/${key}`,
commonjs2: `mint-ui/lib/${key}`,
amd: `mint-ui/lib/${key}`
};
externals[`packages/${key}/style.css`] = {
root: `MINT.index.${key}/style.css`,
commonjs: `mint-ui/lib/${key}/style.css`,
commonjs2: `mint-ui/lib/${key}/style.css`,
amd: `mint-ui/lib/${key}/style.css`
};
});
cooking.add('externals', Object.assign({
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
}, externals));
cooking.add('preLoader.js.exclude', /node_modules|lib/);
cooking.add('preLoader.vue.exclude', /node_modules|lib/);
module.exports = cooking.resolve();