cooking.component.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. var cooking = require('cooking');
  2. var path = require('path');
  3. var Components = require('../components.json');
  4. cooking.set({
  5. entry: Components.map(function (compo) {
  6. compo[0] = path.join(process.cwd(), compo[0]);
  7. return compo;
  8. }),
  9. dist: './lib',
  10. clean: true,
  11. template: false,
  12. format: 'umd',
  13. moduleName: ['ELEMENT', '[name]'],
  14. extractCSS: '[name]/style.css',
  15. extends: ['vue']
  16. });
  17. cooking.add('output.filename', '[name]/index.js');
  18. cooking.add('resolve.alias', {
  19. 'main': path.join(__dirname, '../src'),
  20. 'packages': path.join(__dirname, '../packages'),
  21. 'examples': path.join(__dirname, '../examples')
  22. });
  23. var externals = {};
  24. Object.keys(Components).forEach(function(key) {
  25. externals[`packages/${key}/index.js`] = {
  26. root: `ELEMENT.${key}`,
  27. commonjs: `element-ui/lib/${key}`,
  28. commonjs2: `element-ui/lib/${key}`,
  29. amd: `element-ui/lib/${key}`
  30. };
  31. externals[`packages/${key}/style.css`] = {
  32. root: `ELEMENT.${key}/style.css`,
  33. commonjs: `element-ui/lib/${key}/style.css`,
  34. commonjs2: `element-ui/lib/${key}/style.css`,
  35. amd: `element-ui/lib/${key}/style.css`
  36. };
  37. });
  38. cooking.add('externals', Object.assign({
  39. vue: {
  40. root: 'Vue',
  41. commonjs: 'vue',
  42. commonjs2: 'vue',
  43. amd: 'vue'
  44. }
  45. }, externals));
  46. cooking.add('loader.js.exclude', /node_modules|utils\/popper\.js|util\/fecha.\js/);
  47. module.exports = cooking.resolve();