postcss.plugin('preimport', opts => { return css => { return new Promise((resolve, reject) => { css.walkAtRules('importcomponents', rule => { glob(opts.glob, (error, files) => { if (!error) { for (const file of files) { css.insertBefore(rule, { name: 'import', params: `"${file}"` }); } rule.remove(); resolve(); } else { reject(); } }); }); }); }; })
var className = postcss.parse(content).nodes[0].selector assert.equal(className, '.' + options.prefix) done()
postcss.plugin('font-shortcut', () => { return css => { css.walkDecls('font', decl => { if (decl.prop === 'font') { const values = decl.value.split(' '); if (values.length > 1) { decl.parent.insertBefore(decl, { prop: 'font-family', value: `$font-family-${values[0]}` decl.parent.insertBefore(decl, { prop: 'font-weight', value: fontWeight.toString() decl.parent.insertBefore(decl, { prop: 'font-size', value: values[2]
css.walkRules(function (rule) { rule.walkDecls(/^background(-image)?$/, function (decl) { var rule = decl.parent; var nodes = rule.nodes; var value = decl.value; rule.append({prop: 'width', value: valueWidth}); rule.append({prop: 'height', value: valueHeight}); rule.append({prop: 'background-size', value: valueWidth + ' ' + valueHeight});