hem-less
Version:
This module adds LESS (The Dynamic Stylesheet language) support to hem (Bundler for Node/CommonJS/Web Apps)
54 lines (42 loc) • 1.18 kB
JavaScript
// Generated by CoffeeScript 1.6.1
(function() {
var compiler, dirname, fs, less, options, path, setOptions, util;
path = require('path');
dirname = path.dirname;
fs = require('fs');
less = require('./less-sync');
util = require('util');
options = void 0;
setOptions = function(o) {
return options = o;
};
compiler = function(filepath) {
var content, output,
_this = this;
content = fs.readFileSync(filepath, 'utf8');
output = '';
options = options || {};
options.paths = [dirname(filepath)];
less.render(content, options, function(e, css) {
if (e) {
throw e;
}
return output = css;
});
return output;
};
require.extensions['.less'] = function(module, filename) {
var source, _ref;
source = '';
try {
source = compiler(filename);
} catch (e) {
util.error("LESS ERROR:\n file: " + ((_ref = e.filename) != null ? _ref : filename) + "\n message: " + e.message);
}
return module._compile("module.exports = " + (JSON.stringify(source)), filename);
};
module.exports = {
compiler: compiler,
setOptions: setOptions
};
}).call(this);