refactor of module system. Things work properly now, and it's all much cleaner.

This commit is contained in:
cloudhead
2010-03-13 03:34:48 -05:00
parent e0623094fa
commit fe732e843c
23 changed files with 45 additions and 52 deletions

View File

@@ -1,2 +1,24 @@
less = exports || {};
less.version = [2, 0, 0];
var path = require('path');
require.paths.unshift(__dirname);
var less = {
version: [2, 0, 0],
parser: require('less/parser').parser,
tree: require('less/tree')
};
['color', 'directive', 'operation', 'dimension',
'keyword', 'variable', 'ruleset', 'element',
'selector', 'quoted', 'expression', 'rule',
'call', 'url', 'alpha',
'mixin', 'comment'
].forEach(function (n) {
require(path.join('less', 'tree', n));
});
require('less/functions');
require('ext/array');
process.mixin(exports, less);

View File

@@ -1,12 +0,0 @@
var path = require('path');
require.paths.unshift(path.join(__dirname, '..', '..'));
var less = require('less');
process.mixin(less, require('less/parser'));
process.mixin(less.tree, require('less/tree'));
process.mixin(exports, less);
require('ext/array');

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.functions = {
rgb: function (r, g, b) {

View File

@@ -1,6 +1,6 @@
if (typeof(window) === 'undefined') {
if (typeof(require) !== 'undefined') {
var less = exports || {};
var tree = require(require('path').join(__dirname, '..', 'less', 'tree'));
var tree = require('less/tree');
}
//
// less.js - parser

View File

@@ -1,19 +1,5 @@
var path = require('path');
var tree = exports;
require.paths.unshift(__dirname);
['color', 'directive', 'operation', 'dimension',
'keyword', 'variable', 'ruleset', 'element',
'selector', 'quoted', 'expression', 'rule',
'call', 'url', 'alpha',
'mixin', 'comment'
].forEach(function (n) {
process.mixin(tree, require(path.join('less', 'tree', n)));
});
require('functions');
tree.operate = function (op, a, b) {
switch (op) {
case '+': return a + b;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Alpha = function Alpha(val) {
this.value = val;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Call = function Call(name, args) {
this.name = name;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
//
// RGB Colors - #ff0014, #eee
//

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Comment = function Comment(value) {
this.value = value;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Dimension = function Dimension(value, unit) {
this.value = parseFloat(value);

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Directive = function Directive(name, value) {
this.name = name;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Element = function Element(combinator, value) {
this.combinator = combinator instanceof tree.Combinator ?

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Expression = function Expression(value) { this.value = value };
tree.Expression.prototype = {

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Keyword = function Keyword(value) { this.value = value };
tree.Keyword.prototype = {

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.mixin = {};
tree.mixin.Call = function MixinCall(elements, args) {

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Operation = function Operation(op, operands) {
this.op = op.trim();

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Quoted = function Quoted(value, content) {
this.value = value;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Rule = function Rule(name, value) {
this.name = name;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Ruleset = function Ruleset(selectors, rules) {
this.selectors = selectors;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Selector = function Selector(elements) {
this.elements = elements;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.URL = function URL(val) {
this.value = val;

View File

@@ -1,4 +1,4 @@
if (typeof(window) === 'undefined') { var tree = require(require('path').join(__dirname, '..', '..', 'less', 'tree')); }
if (typeof(require) !== 'undefined') { var tree = require('less/tree') }
tree.Variable = function Variable(name) { this.name = name };
tree.Variable.prototype = {

View File

@@ -4,10 +4,7 @@ var path = require('path'),
require.paths.unshift(__dirname, path.join(__dirname, '..'));
var less = require('lib/less/adapters/server');
less.tree = {};
process.mixin(less.tree, require(path.join(__dirname, '..', 'lib', 'less', 'tree')));
var less = require('lib/less');
less.tree.functions.add = function (a, b) {
return new(less.tree.Dimension)(a.value + b.value);