[Pkg-javascript-commits] [less.js] 29/285: get the browser file running and processing less (still doesnt pass tests though)
Jonas Smedegaard
dr at jones.dk
Mon Oct 26 23:23:34 UTC 2015
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag v2.0.0
in repository less.js.
commit 3229b45fea3d4f3e5a4aef3f113614138a14dec3
Author: Luke Page <luke.a.page at gmail.com>
Date: Thu Feb 27 22:25:51 2014 +0000
get the browser file running and processing less (still doesnt pass tests though)
---
Gruntfile.js | 10 ++++--
lib/less/browser.js | 66 ++++++++++++++++++++++------------------
lib/less/environments/browser.js | 8 +++--
3 files changed, 50 insertions(+), 34 deletions(-)
diff --git a/Gruntfile.js b/Gruntfile.js
index f83ad14..8caa6cb 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -51,7 +51,12 @@ module.exports = function(grunt) {
browserify: {
dist: {
files: {
- 'dist/less.js': ['lib/less/non-node-index.js', 'lib/less/browser.js', 'lib/less/environment/browser.js']
+ 'dist/less.js': ['lib/less/browser.js']
+ }
+ },
+ browsertest: {
+ files: {
+ 'test/browser/less.js': ['lib/less/browser.js']
}
}
},
@@ -274,12 +279,13 @@ module.exports = function(grunt) {
// setup a web server to run the browser tests in a browser rather than phantom
grunt.registerTask('browsertest-server', [
+ 'browser',
'shell:browsertest-server'
]);
// Create the browser version of less.js
grunt.registerTask('browser', [
- 'concat:browsertest'
+ 'browserify:browsertest'
]);
// Run all tests
diff --git a/lib/less/browser.js b/lib/less/browser.js
index a0c65d0..3138c57 100644
--- a/lib/less/browser.js
+++ b/lib/less/browser.js
@@ -1,11 +1,23 @@
//
// browser.js - client-side engine
//
-/*global less, window, document, location */
+/*global window, document, location */
+
+var less = require('./non-node-index.js'),
+ options = window.less;
+
+function log(str, level) {
+ if (typeof(console) !== 'undefined' && less.logLevel >= level) {
+ console.log('less: ' + str);
+ }
+}
var isFileProtocol = /^(file|chrome(-extension)?|resource|qrc|app):/.test(location.protocol);
-less.env = less.env || (location.hostname == '127.0.0.1' ||
+less.environment = require("./environments/browser.js")(less, isFileProtocol, log, 1/*TODO*/);
+window.less = less;
+
+less.env = options.env || (location.hostname == '127.0.0.1' ||
location.hostname == '0.0.0.0' ||
location.hostname == 'localhost' ||
(location.port &&
@@ -26,7 +38,7 @@ var logLevel = {
// 1 - Errors
// 0 - None
// Defaults to 2
-less.logLevel = typeof(less.logLevel) != 'undefined' ? less.logLevel : (less.env === 'development' ? logLevel.debug : logLevel.errors);
+less.logLevel = typeof(options.logLevel) != 'undefined' ? options.logLevel : (less.env === 'development' ? logLevel.debug : logLevel.errors);
// Load styles asynchronously (default: false)
//
@@ -41,10 +53,10 @@ less.fileAsync = less.fileAsync || false;
less.poll = less.poll || (isFileProtocol ? 1000 : 1500);
//Setup user functions
-if (less.functions) {
- for(var func in less.functions) {
- if (less.functions.hasOwnProperty(func)) {
- less.tree.functions[func] = less.functions[func];
+if (options.functions) {
+ for(var func in options.functions) {
+ if (options.functions.hasOwnProperty(func)) {
+ less.tree.functions[func] = options.functions[func];
}
}
}
@@ -57,12 +69,6 @@ if (dumpLineNumbers) {
var typePattern = /^text\/(x-)?less$/;
var cache = null;
-function log(str, level) {
- if (typeof(console) !== 'undefined' && less.logLevel >= level) {
- console.log('less: ' + str);
- }
-}
-
function extractId(href) {
return href.replace(/^[a-z-]+:\/+?[^\/]+/, '' ) // Remove protocol & domain
.replace(/^\//, '' ) // Remove root /
@@ -161,8 +167,8 @@ function createCSS(styles, sheet, lastModified) {
}
function postProcessCSS(styles) {
- if (less.postProcessor && typeof less.postProcessor === 'function') {
- styles = less.postProcessor.call(styles, styles) || styles;
+ if (options.postProcessor && typeof options.postProcessor === 'function') {
+ styles = options.postProcessor.call(styles, styles) || styles;
}
return styles;
}
@@ -266,12 +272,12 @@ function errorHTML(e, rootHref) {
}
function error(e, rootHref) {
- if (!less.errorReporting || less.errorReporting === "html") {
+ if (!options.errorReporting || options.errorReporting === "html") {
errorHTML(e, rootHref);
- } else if (less.errorReporting === "console") {
+ } else if (options.errorReporting === "console") {
errorConsole(e, rootHref);
- } else if (typeof less.errorReporting === 'function') {
- less.errorReporting("add", e, rootHref);
+ } else if (typeof options.errorReporting === 'function') {
+ options.errorReporting("add", e, rootHref);
}
}
@@ -287,12 +293,12 @@ function removeErrorConsole(path) {
}
function removeError(path) {
- if (!less.errorReporting || less.errorReporting === "html") {
+ if (!options.errorReporting || options.errorReporting === "html") {
removeErrorHTML(path);
- } else if (less.errorReporting === "console") {
+ } else if (options.errorReporting === "console") {
removeErrorConsole(path);
- } else if (typeof less.errorReporting === 'function') {
- less.errorReporting("remove", path);
+ } else if (typeof options.errorReporting === 'function') {
+ options.errorReporting("remove", path);
}
}
@@ -306,7 +312,7 @@ function loadStyles(modifyVars) {
lessText = style.innerHTML || '';
env.filename = document.location.href.replace(/#.*$/, '');
- if (modifyVars || less.globalVars) {
+ if (modifyVars || options.globalVars) {
env.useFileCache = true;
}
@@ -317,7 +323,7 @@ function loadStyles(modifyVars) {
if (e) {
return error(e, "inline");
}
- var css = cssAST.toCSS(less);
+ var css = cssAST.toCSS(options);
style.type = 'text/css';
if (style.styleSheet) {
style.styleSheet.cssText = css;
@@ -326,7 +332,7 @@ function loadStyles(modifyVars) {
}
};
})(style);
- new(less.Parser)(env).parse(lessText, callback, {globalVars: less.globalVars, modifyVars: modifyVars});
+ new(less.Parser)(env).parse(lessText, callback, {globalVars: options.globalVars, modifyVars: modifyVars});
}
}
}
@@ -336,7 +342,7 @@ function loadStyleSheet(sheet, callback, reload, remaining, modifyVars) {
var env = new less.tree.parseEnv(less);
env.mime = sheet.type;
- if (modifyVars || less.globalVars) {
+ if (modifyVars || options.globalVars) {
env.useFileCache = true;
}
@@ -380,7 +386,7 @@ function loadStyleSheet(sheet, callback, reload, remaining, modifyVars) {
} catch (e) {
callback(e, null, null, sheet);
}
- }, {modifyVars: modifyVars, globalVars: less.globalVars});
+ }, {modifyVars: modifyVars, globalVars: options.globalVars});
} else {
callback(e, null, null, sheet, webInfo, path);
}
@@ -407,7 +413,7 @@ function initRunningMode(){
}
});
}
- }, less.poll);
+ }, options.poll);
}
}
@@ -469,7 +475,7 @@ less.refresh = function (reload, modifyVars) {
log("loading " + sheet.href + " from cache.", logLevel.info);
} else {
log("parsed " + sheet.href + " successfully.", logLevel.debug);
- var styles = root.toCSS(less);
+ var styles = root.toCSS(options);
styles = postProcessCSS(styles);
createCSS(styles, sheet, env.lastModified);
}
diff --git a/lib/less/environments/browser.js b/lib/less/environments/browser.js
index 216b4c0..15a967f 100644
--- a/lib/less/environments/browser.js
+++ b/lib/less/environments/browser.js
@@ -1,4 +1,6 @@
-/*global less, window, XMLHttpRequest, log, logLevel, isFileProtocol */
+/*global window, XMLHttpRequest */
+
+module.exports = function(less, isFileProtocol, log, logLevel) {
var fileCache = {};
@@ -19,7 +21,7 @@ function getXMLHttpRequest() {
}
}
-less.environment = {
+return {
// make generic but overriddable
warn: function warn(env, msg) {
console.warn(msg);
@@ -193,4 +195,6 @@ less.environment = {
});
}
+};
+
};
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/less.js.git
More information about the Pkg-javascript-commits
mailing list