sass-toolkit
Version:
Think of Toolkit as your swiss army knife for modern design and development.
57 lines (47 loc) • 1.68 kB
JavaScript
var sass = require('node-sass'),
jsdiff = require('diff'),
fs = require('fs-extra'),
i = 0,
glob = require('glob');
glob('./tests/**/*.scss', function (err, files) {
if (err) throw err;
files.forEach(function (file) {
if (file.charAt(0) !== '_') {
sass.render({
file: file,
outputStyle: 'expanded',
includePaths: [
'../stylesheets/'
]
}, function(err, result) {
if (err) throw err;
// console.log(result);
var file = result.stats.entry.replace(process.cwd() + '/tests/', '');
file = file.replace('.scss', '.css');
if (file.charAt(0) !== '_') {
fs.readFile('./controls/' + file, function (ctrlErr, ctrlFile) {
var diff = jsdiff.diffCss(ctrlFile.toString(), result.css.toString()),
diffCount = 0;
diff.forEach(function(part){
// green for additions, red for deletions
// grey for common parts
var color = part.added ? 'green' :
part.removed ? 'red' : 'grey';
if (color !== 'grey') {
diffCount++;
}
});
if (diffCount) {
console.log(file);
diff = jsdiff.createPatch(file, ctrlFile.toString(), result.css.toString());
fs.outputFile('./diff/' + file + '.diff', diff, function (writeErr, writePatch) {
if (writeErr) throw writeErr;
// throw 'Diff in output for ' + file;
});
}
});
}
});
}
});
});