UNPKG

zoro-cli

Version:

https://github.com/vuejs/vue-cli

71 lines (60 loc) 1.81 kB
const fs = require('fs'); const path = require('path'); module.exports = ({ api, rootOptions, Types, pkg }) => { const { type, bundler, cssPreprocessor } = rootOptions; const { weblib } = Types; let { name, libName } = pkg; if (type === weblib) { api.render('./template'); api.render(`./template-${bundler}`); // render css template const cssFolder = './template-' + cssPreprocessor; if (fs.existsSync(path.join(__dirname, cssFolder))) { api.render(cssFolder); } // trim group from name if (name.indexOf('@') === 0) { name = name.replace(/^@.*?\//, ''); } // libName used by bundler such as rollup/webpack if (!libName) { libName = name.split('-').map((part, index) => { const initial = index !== 0 ? part.charAt(0).toUpperCase() : part.charAt(0); return initial + part.slice(1); }).join(''); } api.extendPackage({ libName, // https://webpack.js.org/guides/author-libraries/#final-steps main: `dist/${name}.common.js`, // https://github.com/d3/d3/issues/3138 // https://github.com/unpkg/unpkg/issues/63 unpkg: `dist/${name}.js`, jsdelivr: `dist/${name}.js`, // https://webpack.js.org/configuration/resolve/#resolve-mainfields // https://webpack.js.org/configuration/resolve/#resolve-aliasfields // https://github.com/defunctzombie/package-browser-field-spec // https://github.com/webpack/webpack/issues/5673#issuecomment-329713876 browser: { // redirect (main) cjs to umd, no redirect for module (esm) [`./dist/${name}.common.js`]: `./dist/${name}.js` } }); if (bundler === 'rollup') { api.extendPackage({ module: `dist/${name}.esm.js` }); } } };