webui-aria2/js/libs/dojox/mobile/themes/common/compile.js

43 lines
1.1 KiB
JavaScript
Raw Normal View History

// load libraries
var fs = require("fs");
var path = require("path");
var less = require("less");
// collect files
var folders = ["../android", "../blackberry", "../iphone", "../custom"];
var files = [];
folders.forEach(function(folder){
files = files.concat(fs.readdirSync(folder).map(function(file){
return folder + "/" + file;
}));
});
files = files.filter(function(file){
return file && /\.less$/.test(file) && !/variables\.less$/.test(file);
});
// compile files
files.forEach(function(file){
console.log("compiling " + file);
fs.readFile(file, "utf-8", function(error, data){
if(error){
console.error(error.message);
process.exit(1);
}
var parser = new(less.Parser)({paths: [path.dirname(file)], filename: file, optimization: 1});
parser.parse(data, function(error, tree){
if(error){
less.writeError(error);
process.exit(1);
}
try{
var css = tree.toCSS({compress: false});
var fd = fs.openSync(file.replace(".less", ".css"), "w");
fs.writeSync(fd, css, 0, "utf-8");
}catch(error){
less.writeError(error);
process.exit(2);
}
});
});
});