summaryrefslogtreecommitdiff
path: root/lib/dijit/themes/claro/compile.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dijit/themes/claro/compile.js')
-rw-r--r--lib/dijit/themes/claro/compile.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/lib/dijit/themes/claro/compile.js b/lib/dijit/themes/claro/compile.js
new file mode 100644
index 000000000..14762b592
--- /dev/null
+++ b/lib/dijit/themes/claro/compile.js
@@ -0,0 +1,62 @@
+/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+// Script to process all the less files and convert them to CSS files
+// Run from themes/dijit/claro like:
+//
+// $ node compile.js
+
+// Some guesses for where to find less
+require.paths.unshift('/opt/less/lib', 'C:/less/lib');
+
+var fs = require('fs'), // file system access
+ path = require('path'), // get directory from file name
+ less = require('less'); // less processor
+
+var options = {
+ compress: false,
+ optimization: 1,
+ silent: false
+};
+
+var allFiles = [].concat(
+ fs.readdirSync("."),
+ fs.readdirSync("form").map(function(fname){ return "form/"+fname; }),
+ fs.readdirSync("layout").map(function(fname){ return "layout/"+fname; })
+ ),
+ lessFiles = allFiles.filter(function(name){ return name && name != "variables.less" && /\.less$/.test(name); });
+
+lessFiles.forEach(function(fname){
+ console.log("=== " + fname);
+ fs.readFile(fname, 'utf-8', function (e, data){
+ if(e){
+ console.error("lessc: " + e.message);
+ process.exit(1);
+ }
+
+ new(less.Parser)({
+ paths: [path.dirname(fname)],
+ optimization: options.optimization,
+ filename: fname
+ }).parse(data, function(err, tree){
+ if(err){
+ less.writeError(err, options);
+ process.exit(1);
+ }else{
+ try{
+ var css = tree.toCSS({ compress: options.compress }),
+ outputFname = fname.replace('.less', '.css');
+ fd = fs.openSync(outputFname, "w");
+ fs.writeSync(fd, css, 0, "utf8");
+ }catch(e){
+ less.writeError(e, options);
+ process.exit(2);
+ }
+ }
+ });
+ });
+});