UNPKG

boilerplate.js

Version:

Development Tools

39 lines (30 loc) 1.35 kB
function process(css, options, cb) { let full_css = css; options.files.forEach(file => { let mq_text = ''; file.match.forEach(mq => { const regex = options.production ? new RegExp(`@media ${mq}\\{([\\s\\S]+?})}`, 'g') : new RegExp(`@media ${mq}.*\\{([\\s\\S]+?})\\s*}`, 'g'); let text = mq.toString().replace(/\\/g, ''); let media_text = `@media ${text}${options.production ? '' : ' '}{`; try { full_css.match(regex).forEach(result => { css = css.replace(result, ''); result = result.replace(`@media ${text}${options.production ? '' : ' '}{`, '').slice(0, -1); media_text += result; }); } catch (error) { return; } media_text += '}'; mq_text += media_text; }); fs.writeFileSync(options.outpath + file.name, mq_text); console.log('Updated'.green, options.outpath + file.name); }); fs.writeFileSync(options.outpath + options.base + '.css', css); console.log('Updated'.green, options.outpath + options.base + '.css'); cb && cb(); } module.exports = { process };