Revert "Revert "Merge pull request +6755 from c9/mvh-upgrade-less-profile-account""

This reverts commit 6c01000fc9.
pull/85/head
Matthijs van Henten 2015-04-15 12:52:18 +00:00
rodzic 6c01000fc9
commit 5890cd35df
2 zmienionych plików z 73 dodań i 36 usunięć

81
node_modules/architect-build/build.js wygenerowano vendored
Wyświetl plik

@ -1,8 +1,9 @@
var fs = require("fs");
var path = require("path");
var async = require("async"); var async = require("async");
var fs = require("fs");
var less = require("less");
var mkdirp = require("mkdirp"); var mkdirp = require("mkdirp");
var moduleDeps = require("./module-deps"); var moduleDeps = require("./module-deps");
var path = require("path");
function build(config, opts, callback){ function build(config, opts, callback){
if (!opts.configFile) { if (!opts.configFile) {
@ -157,7 +158,6 @@ function build(config, opts, callback){
}); });
} }
// TODO
function createOutputFolder(opts, cb) { function createOutputFolder(opts, cb) {
var output = (opts.outputFolder || ".") + "/" + (opts.outputFile || ""); var output = (opts.outputFolder || ".") + "/" + (opts.outputFile || "");
output = path.dirname(output); output = path.dirname(output);
@ -213,41 +213,78 @@ function compileLess(opts, sources, callback) {
}); });
} }
function compileLibRules(libs, ctx, next) {
// Libs is an array of paths; adds property .compiled to keep a state(cache).
if (libs.compiled)
return next(null, libs.compiled.rules, libs.compiled.css);
var src = lessPathLib(libs.staticPrefix) + libs.join("\n");
less.parse(src, ctx, function(err, root, imports, options) {
if (err) return next(err);
toCss(root, imports, options, function(err, css) {
if (err) return next(err);
libs.compiled = {
rules: root.rules,
css: css,
};
next(null, libs.compiled.rules, libs.compiled.css);
});
});
}
function compileLessFragment(css, libs, root, staticPrefix, path, compress, callback) { function compileLessFragment(css, libs, root, staticPrefix, path, compress, callback) {
var less = require("less");
var baseLib = lessPathLib(staticPrefix || libs.staticPrefix); var ctx = {
var parser = new less.Parser({
paths: ["/"], paths: ["/"],
filename: root + '/unknown.less', filename: root + '/unknown.less',
}); compress: !!compress
};
if (!libs.compiled) { compileLibRules( libs, ctx, function(err, libRules, libCss) {
parser.parse(lessPathLib(libs.staticPrefix) + libs.join("\n"), function(err, tree) { if (err) return callback(err);
libs.compiled = tree; // actually parse isn't async
});
libs.css = libs.compiled.toCSS().trim(); var baseLib = lessPathLib(staticPrefix || libs.staticPrefix);
}
// Parse Less Code
var code = baseLib + "\n" + css; var code = baseLib + "\n" + css;
// Complete paths, but not subdirectories like foo/images/bar.png // Complete paths, but not subdirectories like foo/images/bar.png
code = code.replace(/(["(])(images|icons)\//g, "$1" + staticPrefix + "/$2/"); code = code.replace(/(["(])(images|icons)\//g, "$1" + staticPrefix + "/$2/");
console.log("[Less] compiling ", path || "skin", root); console.log("[Less] compiling ", path || "skin", root);
parser.parse(code, function (err, tree) {
if (err) less.parse(code, ctx, function (err, tree, imports, options) {
return callback(err); if (err) return callback(err);
if (libs.compiled) tree.rules = libRules.concat(tree.rules);
tree.rules = libs.compiled.rules.concat(tree.rules);
var css = tree.toCSS({ compress: compress }); toCss(tree, imports, options, function(err, css) {
if (libs.css && css.substring(0, libs.css.length) == libs.css) { if (err) return callback(err);
css = css.substr(libs.css.length);
if (css.substring(0, libCss.length) == libCss) {
css = css.substr(libCss.length);
} else { } else {
console.warn("couldn't strip default less"); console.warn("couldn't strip default less");
} }
callback(null, css); callback(null, css);
}); });
});
});
}
function toCss(tree, imports, options, callback) {
var parseTree = new less.ParseTree(tree, imports);
var css;
try {
css = parseTree.toCSS(options).css;
}
catch (err) {
return callback(err);
}
callback(null, css);
} }
function lessPathLib(staticPrefix) { function lessPathLib(staticPrefix) {

Wyświetl plik

@ -23,7 +23,7 @@
"engine.io-client": "~1.5.1", "engine.io-client": "~1.5.1",
"eslint": "git://github.com/cloud9ide/eslint.git#e2d052aafd81ea0aa6d1d4fd9f88f3613e386160", "eslint": "git://github.com/cloud9ide/eslint.git#e2d052aafd81ea0aa6d1d4fd9f88f3613e386160",
"http-error": "~0.0.5", "http-error": "~0.0.5",
"less": "~1.5.1", "less": "^2.4.0",
"mime": "~1.2.9", "mime": "~1.2.9",
"mkdirp": "~0.3.5", "mkdirp": "~0.3.5",
"msgpack-js": "~0.1.1", "msgpack-js": "~0.1.1",