lib/less/js/lib/less/index.js in less-2.0.7 vs lib/less/js/lib/less/index.js in less-2.0.8beta1
- old
+ new
@@ -1,24 +1,22 @@
var path = require('path'),
- sys = require('sys'),
+ sys = require('util'),
fs = require('fs');
-require.paths.unshift(path.join(__dirname, '..'));
-
var less = {
- version: [1, 1, 3],
- Parser: require('less/parser').Parser,
- importer: require('less/parser').importer,
- tree: require('less/tree'),
+ version: [1, 1, 5],
+ Parser: require('./parser').Parser,
+ importer: require('./parser').importer,
+ tree: require('./tree'),
render: function (input, options, callback) {
options = options || {};
if (typeof(options) === 'function') {
callback = options, options = {};
}
- var parser = new(this.Parser)(options),
+ var parser = new(less.Parser)(options),
ee;
if (callback) {
parser.parse(input, function (e, root) {
callback(e, root.toCSS(options));
@@ -34,16 +32,17 @@
});
return ee;
}
},
writeError: function (ctx, options) {
+ options = options || {};
+
var message = "";
var extract = ctx.extract;
var error = [];
+ var stylize = options.color ? less.stylize : function (str) { return str };
- options = options || {};
-
if (options.silent) { return }
if (!ctx.index) {
return sys.error(ctx.stack || ctx.message);
}
@@ -72,17 +71,18 @@
}
if (ctx.stack) { sys.error(stylize(ctx.stack, 'red')) }
}
};
-['color', 'directive', 'operation', 'dimension',
- 'keyword', 'variable', 'ruleset', 'element',
- 'selector', 'quoted', 'expression', 'rule',
- 'call', 'url', 'alpha', 'import',
- 'mixin', 'comment', 'anonymous', 'value', 'javascript'
+['color', 'directive', 'operation', 'dimension',
+ 'keyword', 'variable', 'ruleset', 'element',
+ 'selector', 'quoted', 'expression', 'rule',
+ 'call', 'url', 'alpha', 'import',
+ 'mixin', 'comment', 'anonymous', 'value',
+ 'javascript', 'assignment'
].forEach(function (n) {
- require(path.join('less', 'tree', n));
+ require('./tree/' + n);
});
less.Parser.importer = function (file, paths, callback) {
var pathname;
@@ -101,11 +101,11 @@
if (pathname) {
fs.readFile(pathname, 'utf-8', function(e, data) {
if (e) sys.error(e);
new(less.Parser)({
- paths: [path.dirname(pathname)],
+ paths: [path.dirname(pathname)].concat(paths),
filename: pathname
}).parse(data, function (e, root) {
if (e) less.writeError(e);
callback(root);
});
@@ -114,11 +114,11 @@
sys.error("file '" + file + "' wasn't found.\n");
process.exit(1);
}
}
-require('less/functions');
+require('./functions');
for (var k in less) { exports[k] = less[k] }
// Stylize a string
function stylize(str, style) {
@@ -132,6 +132,7 @@
'grey' : [90, 39]
};
return '\033[' + styles[style][0] + 'm' + str +
'\033[' + styles[style][1] + 'm';
}
+less.stylize = stylize;