config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. var Components = require('../components.json');
  2. var path = require('path');
  3. var dependencies = require('../package.json').dependencies;
  4. var fs = require('fs');
  5. var utilsList = fs.readdirSync(path.resolve(__dirname, '../src/utils'));
  6. var mixinsList = fs.readdirSync(path.resolve(__dirname, '../src/mixins'));
  7. var externals = {};
  8. Object.keys(Components).forEach(function(key) {
  9. externals[`element-ui/packages/${key}`] = `element-ui/lib/${key}`;
  10. });
  11. Object.keys(dependencies).forEach(function(key) {
  12. externals[key] = key;
  13. });
  14. externals['element-ui/src/locale'] = 'element-ui/lib/locale';
  15. utilsList.forEach(function(file) {
  16. file = path.basename(file, '.js');
  17. externals[`element-ui/src/utils/${file}`] = `element-ui/lib/utils/${file}`;
  18. });
  19. mixinsList.forEach(function(file) {
  20. file = path.basename(file, '.js');
  21. externals[`element-ui/src/mixins/${file}`] = `element-ui/lib/mixins/${file}`;
  22. });
  23. exports.externals = Object.assign({
  24. vue: 'vue'
  25. }, externals);
  26. exports.alias = {
  27. main: path.resolve(__dirname, '../src'),
  28. packages: path.resolve(__dirname, '../packages'),
  29. examples: path.resolve(__dirname, '../examples'),
  30. 'element-ui': path.resolve(__dirname, '../')
  31. };
  32. exports.vue = {
  33. root: 'Vue',
  34. commonjs: 'vue',
  35. commonjs2: 'vue',
  36. amd: 'vue'
  37. };
  38. exports.jsexclude = /node_modules|utils\/popper\.js|utils\/date.\js/;
  39. exports.postcss = function(webapck) {
  40. return [
  41. require('postcss-salad')({
  42. browsers: ['ie > 8', 'last 2 versions'],
  43. features: {
  44. 'partialImport': {
  45. addDependencyTo: webapck
  46. },
  47. 'bem': {
  48. 'shortcuts': {
  49. 'component': 'b',
  50. 'modifier': 'm',
  51. 'descendent': 'e'
  52. },
  53. 'separators': {
  54. 'descendent': '__',
  55. 'modifier': '--'
  56. }
  57. }
  58. }
  59. })
  60. ];
  61. };