config.js 1.7 KB

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