allow inlining multiple text modules

This commit is contained in:
nightwing 2013-12-09 23:24:43 +04:00
commit 00df72ee0d
2 changed files with 18 additions and 13 deletions

View file

@ -551,22 +551,25 @@ function generateThemesModule(themes) {
}
function inlineTextModules(text) {
var lastDep = "";
return text.replace(/, *['"]ace\/requirejs\/text!(.*?)['"]|= *require\(['"](?:ace|[.\/]+)\/requirejs\/text!(.*?)['"]\)/g, function(_, dep, call) {
var deps = [];
return text.replace(/, *['"]ace\/requirejs\/text!(.*?)['"]| require\(['"](?:ace|[.\/]+)\/requirejs\/text!(.*?)['"]\)/g, function(_, dep, call) {
if (dep) {
if (!lastDep) {
lastDep = dep;
return "";
}
deps.push(dep);
return "";
} else if (call) {
call = textModules[lastDep];
delete textModules[lastDep];
lastDep = "";
deps.some(function(d) {
if (d.split("/").pop() == call.split("/").pop()) {
dep = d;
return true;
}
});
call = textModules[dep];
// if (deps.length > 1)
// console.log(call.length)
if (call)
return "= " + call;
return " " + call;
}
console.log(dep, lastDep, call);
throw "inlining of multiple text modules is not supported";
});
}

View file

@ -1,7 +1,9 @@
define(function(require, exports, module) {
"use strict";
exports.snippetText = require("../requirejs/text!./javascript.snippets");
exports.snippetText = require("../requirejs/text!./javascript-jquery.snippets")
+ "\n"
+ require("../requirejs/text!./javascript.snippets");
exports.scope = "javascript";
});