fix mini_require.js

do not patch global require namespace if is used
   do not patch require if it is already patched
This commit is contained in:
nightwing 2012-08-09 17:55:40 +04:00
commit 05a31aa7e5

View file

@ -49,6 +49,26 @@ var global = (function() {
return this; return this;
})(); })();
// take care of the case when requirejs is used and we just need to patch it a little bit
if (!ACE_NAMESPACE && typeof requirejs !== "undefined") {
var define = global.define;
global.define = function(id, deps, callback) {
if (typeof callback !== "function")
return define.apply(this, arguments);
return define(id, deps, function(require, exports, module) {
if (deps[2] == "module")
module.packaged = true;
return callback.apply(this, arguments);
});
};
global.define.packaged = true;
return;
}
var _define = function(module, deps, payload) { var _define = function(module, deps, payload) {
if (typeof module !== 'string') { if (typeof module !== 'string') {
if (_define.original) if (_define.original)
@ -160,29 +180,9 @@ var lookup = function(parentId, moduleName) {
}; };
function exportAce(ns) { function exportAce(ns) {
if (typeof requirejs !== "undefined") {
var define = global.define;
global.define = function(id, deps, callback) {
if (typeof callback !== "function")
return define.apply(this, arguments);
return define(id, deps, function(require, exports, module) {
if (deps[2] == "module")
module.packaged = true;
return callback.apply(this, arguments);
});
};
global.define.packaged = true;
return;
}
var require = function(module, callback) { var require = function(module, callback) {
return _require("", module, callback); return _require("", module, callback);
}; };
require.packaged = true;
var root = global; var root = global;
if (ns) { if (ns) {
@ -191,15 +191,17 @@ function exportAce(ns) {
root = global[ns]; root = global[ns];
} }
if (root.define) if (!root.define || !root.define.packaged) {
_define.original = root.define; _define.original = root.define;
root.define = _define;
root.define.packaged = true;
}
root.define = _define; if (!root.require || !root.require.packaged) {
if (root.require)
_require.original = root.require; _require.original = root.require;
root.require = require;
root.require = require; root.require.packaged = true;
}
} }
exportAce(ACE_NAMESPACE); exportAce(ACE_NAMESPACE);