run extension files automatically

This commit is contained in:
nightwing 2014-02-11 20:40:31 +04:00
commit 68096ff38d

View file

@ -280,7 +280,7 @@ function addSuffix(options) {
} }
} }
function getWriteFilters(options, projectType) { function getWriteFilters(options, projectType, main) {
var filters = [ var filters = [
copy.filter.moduleDefines, copy.filter.moduleDefines,
removeUseStrict, removeUseStrict,
@ -310,11 +310,9 @@ function getWriteFilters(options, projectType) {
return text; return text;
}); });
if (options.exportModule && projectType == "main") { if (options.exportModule && projectType == "main" || projectType == "ext") {
if (options.noconflict) filters.push(exportAce(options.ns, options.exportModule,
filters.push(exportAce(options.ns, options.exportModule, options.ns)); options.noconflict ? options.ns : "", projectType == "ext" && main));
else
filters.push(exportAce(options.ns, options.exportModule));
} }
return filters; return filters;
} }
@ -390,7 +388,7 @@ var buildAce = function(options) {
project: cloneProject(project), project: cloneProject(project),
require: [ 'ace/ext/' + ext ] require: [ 'ace/ext/' + ext ]
}], }],
filter: getWriteFilters(options, "ext"), filter: getWriteFilters(options, "ext", 'ace/ext/' + ext),
dest: targetDir + "/ext-" + ext + ".js" dest: targetDir + "/ext-" + ext + ".js"
}); });
}); });
@ -650,7 +648,7 @@ function namespace(ns) {
}; };
} }
function exportAce(ns, module, requireBase) { function exportAce(ns, module, requireBase, extModule) {
requireBase = requireBase || "window"; requireBase = requireBase || "window";
module = module || "ace/ace"; module = module || "ace/ace";
return function(text) { return function(text) {
@ -667,6 +665,15 @@ function exportAce(ns, module, requireBase) {
})(); })();
}; };
if (extModule) {
module = extModule;
template = function() {
(function() {
REQUIRE_NS.require(["MODULE"], function() {});
})();
};
}
return (text + ";" + template return (text + ";" + template
.toString() .toString()
.replace(/MODULE/g, module) .replace(/MODULE/g, module)