summaryrefslogtreecommitdiff
path: root/js/dojo-1.7.2/dojox/mobile/themes/common/compile.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/dojo-1.7.2/dojox/mobile/themes/common/compile.js')
-rw-r--r--js/dojo-1.7.2/dojox/mobile/themes/common/compile.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/js/dojo-1.7.2/dojox/mobile/themes/common/compile.js b/js/dojo-1.7.2/dojox/mobile/themes/common/compile.js
new file mode 100644
index 0000000..159d06b
--- /dev/null
+++ b/js/dojo-1.7.2/dojox/mobile/themes/common/compile.js
@@ -0,0 +1,42 @@
+// 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);
+ }
+ });
+ });
+});