var cooking = require('cooking'); var path = require('path'); var Components = require('../components.json'); var entries = {}; Object.keys(Components).forEach(function (key) { const compo = Components[key]; compo[0] = path.join(process.cwd(), compo[0]); entries[key] = compo; }); cooking.set({ entry: entries, dist: './lib', clean: false, template: false, format: 'cjs', extractCSS: '[name]/style.css', extends: ['vue'] }); cooking.add('output.filename', '[name]/index.js'); cooking.add('resolve.alias', { 'main': path.join(__dirname, '../src'), 'packages': path.join(__dirname, '../packages'), 'examples': path.join(__dirname, '../examples') }); var externals = {}; Object.keys(Components).forEach(function(key) { externals[`packages/${key}/index.js`] = `element-ui/lib/${key}`; externals[`packages/${key}/style.css`] = `element-ui/lib/${key}/style.css`; externals['main/utils/clickoutside'] = 'element-ui/src/utils/clickoutside'; externals['main/utils/popper'] = 'element-ui/src/utils/popper'; externals['main/utils/vue-popper'] = 'element-ui/src/utils/vue-popper'; }); cooking.add('externals', Object.assign({ vue: { root: 'Vue', commonjs: 'vue', commonjs2: 'vue', amd: 'vue' } }, externals)); cooking.add('loader.js.exclude', /node_modules|utils\/popper\.js|util\/fecha.\js/); module.exports = cooking.resolve();