UNPKG

dijit

Version:

Dijit provides a complete collection of user interface controls based on Dojo, giving you the power to create web applications that are highly optimized for usability, performance, internationalization, accessibility, but above all deliver an incredible u

53 lines (47 loc) 1.41 kB
// Script to process all the less files and convert them to CSS files // Run from themes/dijit/claro like: // // $ node compile.js var fs = require('fs'), // file system access path = require('path'), // get directory from file name less = require('../../../util/less/lib/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'); var fd = fs.openSync(outputFname, "w"); fs.writeSync(fd, css, 0, "utf8"); }catch(e){ less.writeError(e, options); process.exit(2); } } }); }); });