element/build/config.js

71 lines
1.8 KiB
JavaScript
Raw Normal View History

var Components = require('../components.json');
var path = require('path');
2016-10-17 17:47:24 +08:00
var dependencies = require('../package.json').dependencies;
var fs = require('fs');
var utilsList = fs.readdirSync(path.resolve(__dirname, '../src/utils'));
var mixinsList = fs.readdirSync(path.resolve(__dirname, '../src/mixins'));
var externals = {};
Object.keys(Components).forEach(function(key) {
2016-10-13 11:12:24 +08:00
externals[`element-ui/packages/${key}/index.js`] = `element-ui/lib/${key}`;
externals[`element-ui/packages/${key}/style.css`] = `element-ui/lib/${key}/style.css`;
});
Object.keys(dependencies).forEach(function(key) {
2016-10-17 17:47:24 +08:00
externals[key] = key;
});
utilsList.forEach(function(file) {
file = path.basename(file, '.js');
externals[`element-ui/src/utils/${file}`] = `element-ui/lib/utils/${file}`;
});
mixinsList.forEach(function(file) {
file = path.basename(file, '.js');
externals[`element-ui/src/mixins/${file}`] = `element-ui/lib/mixins/${file}`;
});
exports.externals = Object.assign({
2016-10-17 17:47:24 +08:00
vue: 'vue'
}, externals);
exports.alias = {
main: path.resolve(__dirname, '../src'),
packages: path.resolve(__dirname, '../packages'),
2016-10-13 11:12:24 +08:00
examples: path.resolve(__dirname, '../examples'),
'element-ui': path.resolve(__dirname, '../')
};
2016-10-17 17:47:24 +08:00
exports.vue = {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
};
exports.jsexclude = /node_modules|utils\/popper\.js|utils\/date.\js/;
2016-10-11 19:00:37 +08:00
exports.postcss = function(webapck) {
return [
require('postcss-salad')({
browser: ['ie > 8', 'last 2 version'],
features: {
'partialImport': {
addDependencyTo: webapck
},
'bem': {
'shortcuts': {
'component': 'b',
'modifier': 'm',
'descendent': 'e'
},
'separators': {
'descendent': '__',
'modifier': '--'
}
}
}
})
];
};