123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // 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);
- }
- });
- });
- });
|