|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
/** vim: et:ts=4:sw=4:sts=4
|
|
|
|
|
* @license RequireJS 2.1.5 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
|
|
|
|
|
* @license RequireJS 2.1.6 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved.
|
|
|
|
|
* Available via the MIT or new BSD license.
|
|
|
|
|
* see: http://github.com/jrburke/requirejs for details
|
|
|
|
|
*/
|
|
|
|
@ -12,7 +12,7 @@ var requirejs, require, define;
|
|
|
|
|
(function (global) {
|
|
|
|
|
var req, s, head, baseElement, dataMain, src,
|
|
|
|
|
interactiveScript, currentlyAddingScript, mainScript, subPath,
|
|
|
|
|
version = '2.1.5',
|
|
|
|
|
version = '2.1.6',
|
|
|
|
|
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
|
|
|
|
|
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
|
|
|
|
|
jsSuffixRegExp = /\.js$/,
|
|
|
|
@ -22,7 +22,7 @@ var requirejs, require, define;
|
|
|
|
|
hasOwn = op.hasOwnProperty,
|
|
|
|
|
ap = Array.prototype,
|
|
|
|
|
apsp = ap.splice,
|
|
|
|
|
isBrowser = !!(typeof window !== 'undefined' && navigator && document),
|
|
|
|
|
isBrowser = !!(typeof window !== 'undefined' && navigator && window.document),
|
|
|
|
|
isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
|
|
|
|
|
//PS3 indicates loaded and complete, but need to wait for complete
|
|
|
|
|
//specifically. Sequence is 'loading', 'loaded', execution,
|
|
|
|
@ -134,6 +134,10 @@ var requirejs, require, define;
|
|
|
|
|
return document.getElementsByTagName('script');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function defaultOnError(err) {
|
|
|
|
|
throw err;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Allow getting a global that expressed in
|
|
|
|
|
//dot notation, like 'a.b.c'.
|
|
|
|
|
function getGlobal(value) {
|
|
|
|
@ -500,7 +504,12 @@ var requirejs, require, define;
|
|
|
|
|
fn(defined[id]);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
getModule(depMap).on(name, fn);
|
|
|
|
|
mod = getModule(depMap);
|
|
|
|
|
if (mod.error && name === 'error') {
|
|
|
|
|
fn(mod.error);
|
|
|
|
|
} else {
|
|
|
|
|
mod.on(name, fn);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -571,7 +580,13 @@ var requirejs, require, define;
|
|
|
|
|
id: mod.map.id,
|
|
|
|
|
uri: mod.map.url,
|
|
|
|
|
config: function () {
|
|
|
|
|
return (config.config && getOwn(config.config, mod.map.id)) || {};
|
|
|
|
|
var c,
|
|
|
|
|
pkg = getOwn(config.pkgs, mod.map.id);
|
|
|
|
|
// For packages, only support config targeted
|
|
|
|
|
// at the main module.
|
|
|
|
|
c = pkg ? getOwn(config.config, mod.map.id + '/' + pkg.main) :
|
|
|
|
|
getOwn(config.config, mod.map.id);
|
|
|
|
|
return c || {};
|
|
|
|
|
},
|
|
|
|
|
exports: defined[mod.map.id]
|
|
|
|
|
});
|
|
|
|
@ -840,8 +855,13 @@ var requirejs, require, define;
|
|
|
|
|
if (this.depCount < 1 && !this.defined) {
|
|
|
|
|
if (isFunction(factory)) {
|
|
|
|
|
//If there is an error listener, favor passing
|
|
|
|
|
//to that instead of throwing an error.
|
|
|
|
|
if (this.events.error) {
|
|
|
|
|
//to that instead of throwing an error. However,
|
|
|
|
|
//only do it for define()'d modules. require
|
|
|
|
|
//errbacks should not be called for failures in
|
|
|
|
|
//their callbacks (#699). However if a global
|
|
|
|
|
//onError is set, use that.
|
|
|
|
|
if ((this.events.error && this.map.isDefine) ||
|
|
|
|
|
req.onError !== defaultOnError) {
|
|
|
|
|
try {
|
|
|
|
|
exports = context.execCb(id, factory, depExports, exports);
|
|
|
|
|
} catch (e) {
|
|
|
|
@ -869,8 +889,8 @@ var requirejs, require, define;
|
|
|
|
|
|
|
|
|
|
if (err) {
|
|
|
|
|
err.requireMap = this.map;
|
|
|
|
|
err.requireModules = [this.map.id];
|
|
|
|
|
err.requireType = 'define';
|
|
|
|
|
err.requireModules = this.map.isDefine ? [this.map.id] : null;
|
|
|
|
|
err.requireType = this.map.isDefine ? 'define' : 'require';
|
|
|
|
|
return onError((this.error = err));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1093,7 +1113,7 @@ var requirejs, require, define;
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
if (this.errback) {
|
|
|
|
|
on(depMap, 'error', this.errback);
|
|
|
|
|
on(depMap, 'error', bind(this, this.errback));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1605,7 +1625,7 @@ var requirejs, require, define;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Executes a module callack function. Broken out as a separate function
|
|
|
|
|
* Executes a module callback function. Broken out as a separate function
|
|
|
|
|
* solely to allow the build system to sequence the files in the built
|
|
|
|
|
* layer in the right sequence.
|
|
|
|
|
*
|
|
|
|
@ -1643,7 +1663,7 @@ var requirejs, require, define;
|
|
|
|
|
onScriptError: function (evt) {
|
|
|
|
|
var data = getScriptData(evt);
|
|
|
|
|
if (!hasPathFallback(data.id)) {
|
|
|
|
|
return onError(makeError('scripterror', 'Script error', evt, [data.id]));
|
|
|
|
|
return onError(makeError('scripterror', 'Script error for: ' + data.id, evt, [data.id]));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
@ -1772,9 +1792,7 @@ var requirejs, require, define;
|
|
|
|
|
* function. Intercept/override it if you want custom error handling.
|
|
|
|
|
* @param {Error} err the error object.
|
|
|
|
|
*/
|
|
|
|
|
req.onError = function (err) {
|
|
|
|
|
throw err;
|
|
|
|
|
};
|
|
|
|
|
req.onError = defaultOnError;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Does the request to load a module for the browser case.
|
|
|
|
@ -1906,24 +1924,31 @@ var requirejs, require, define;
|
|
|
|
|
//baseUrl, if it is not already set.
|
|
|
|
|
dataMain = script.getAttribute('data-main');
|
|
|
|
|
if (dataMain) {
|
|
|
|
|
//Preserve dataMain in case it is a path (i.e. contains '?')
|
|
|
|
|
mainScript = dataMain;
|
|
|
|
|
|
|
|
|
|
//Set final baseUrl if there is not already an explicit one.
|
|
|
|
|
if (!cfg.baseUrl) {
|
|
|
|
|
//Pull off the directory of data-main for use as the
|
|
|
|
|
//baseUrl.
|
|
|
|
|
src = dataMain.split('/');
|
|
|
|
|
src = mainScript.split('/');
|
|
|
|
|
mainScript = src.pop();
|
|
|
|
|
subPath = src.length ? src.join('/') + '/' : './';
|
|
|
|
|
|
|
|
|
|
cfg.baseUrl = subPath;
|
|
|
|
|
dataMain = mainScript;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Strip off any trailing .js since dataMain is now
|
|
|
|
|
//Strip off any trailing .js since mainScript is now
|
|
|
|
|
//like a module name.
|
|
|
|
|
dataMain = dataMain.replace(jsSuffixRegExp, '');
|
|
|
|
|
mainScript = mainScript.replace(jsSuffixRegExp, '');
|
|
|
|
|
|
|
|
|
|
//If mainScript is still a path, fall back to dataMain
|
|
|
|
|
if (req.jsExtRegExp.test(mainScript)) {
|
|
|
|
|
mainScript = dataMain;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Put the data-main script in the files to load.
|
|
|
|
|
cfg.deps = cfg.deps ? cfg.deps.concat(dataMain) : [dataMain];
|
|
|
|
|
cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [mainScript];
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|