blob: f94c0e20712f7c05d3448e5c8fe6baee06940bfe [file] [log] [blame]
var through2 = require('through2');
var path = require('path');
var rework = require('rework');
var reworkVars = require('rework-vars');
var reworkImport = require('rework-import');
module.exports = transform;
function transform(file) {
if (path.extname(file) !== '.css') {
return through2();
}
var contents = [];
return through2(write, flush);
function write(data, encoding, callback) {
var string = data.toString();
contents.push(string);
callback();
}
function flush(callback) {
var string = contents.join('');
var css = compile(string);
this.push('module.exports = ' + JSON.stringify(css));
callback();
}
}
/* Compiles the given CSS string using rework */
function compile(string) {
var css = rework(string)
.use(reworkImport({
path: 'src/components'
}))
.use(reworkVars())
.toString({
compress: true
});
return css;
}