@elora-cloud/elora-cli
Version:
elora build cli 前端打包脚手架
32 lines (29 loc) • 1.19 kB
JavaScript
import { themeChalk } from '../utils/names.mjs';
const sourceThemeChalk = `@/${themeChalk}`;
function EloraPluginStyle(options) {
const bundleThemeChalk = `${options.packageName}/${themeChalk}`;
const bundleThemeChalkSrc = `${options.packageName}/${themeChalk}/src`;
return {
name: 'elora-plugin-style',
generateBundle(config, bundle) {
const keys = Object.keys(bundle);
for (const key of keys) {
const bundler = bundle[key];
let codeTmp = bundler.code;
if (codeTmp.includes('.css')) {
codeTmp = codeTmp.replaceAll(sourceThemeChalk, bundleThemeChalk);
}
else if (codeTmp.includes('.scss')) {
codeTmp = codeTmp.replaceAll(sourceThemeChalk, bundleThemeChalkSrc);
}
bundler.code = codeTmp;
// this.emitFile({
// type: 'asset',
// fileName: key.replace('index.js', 'css.js'),
// source: bundler.code.replace(/\.scss/g, '.css')
// });
}
},
};
}
export { EloraPluginStyle };