config.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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/popper'] = 'element-ui/lib/utils/popper';
  14. externals['element-ui/src/utils/vue-popper'] = 'element-ui/lib/utils/vue-popper';
  15. externals['element-ui/src/utils/resize-event'] = 'element-ui/lib/utils/resize-event';
  16. exports.externals = Object.assign({
  17. vue: 'vue'
  18. }, externals);
  19. exports.alias = {
  20. main: path.resolve(__dirname, '../src'),
  21. packages: path.resolve(__dirname, '../packages'),
  22. examples: path.resolve(__dirname, '../examples'),
  23. 'element-ui': path.resolve(__dirname, '../')
  24. };
  25. exports.vue = {
  26. root: 'Vue',
  27. commonjs: 'vue',
  28. commonjs2: 'vue',
  29. amd: 'vue'
  30. };
  31. exports.jsexclude = /node_modules|utils\/popper\.js|utils\/date.\js/;
  32. exports.postcss = function(webapck) {
  33. return [
  34. require('postcss-salad')({
  35. browser: ['ie > 8', 'last 2 version'],
  36. features: {
  37. 'partialImport': {
  38. addDependencyTo: webapck
  39. },
  40. 'bem': {
  41. 'shortcuts': {
  42. 'component': 'b',
  43. 'modifier': 'm',
  44. 'descendent': 'e'
  45. },
  46. 'separators': {
  47. 'descendent': '__',
  48. 'modifier': '--'
  49. }
  50. }
  51. }
  52. })
  53. ];
  54. };