Skip to content

Commit 55a1912

Browse files
committed
requirejs 2.1.20
1 parent 3fc0f0f commit 55a1912

File tree

2 files changed

+67
-24
lines changed

2 files changed

+67
-24
lines changed

tools/r.js

Lines changed: 44 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license r.js 2.1.19 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
2+
* @license r.js 2.1.20 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
33
* Available via the MIT or new BSD license.
44
* see: http://github.com/jrburke/requirejs for details
55
*/
@@ -20,7 +20,7 @@ var requirejs, require, define, xpcUtil;
2020
(function (console, args, readFileFunc) {
2121
var fileName, env, fs, vm, path, exec, rhinoContext, dir, nodeRequire,
2222
nodeDefine, exists, reqMain, loadedOptimizedLib, existsForNode, Cc, Ci,
23-
version = '2.1.19',
23+
version = '2.1.20',
2424
jsSuffixRegExp = /\.js$/,
2525
commandOption = '',
2626
useLibLoaded = {},
@@ -249,7 +249,7 @@ var requirejs, require, define, xpcUtil;
249249
}
250250

251251
/** vim: et:ts=4:sw=4:sts=4
252-
* @license RequireJS 2.1.19 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
252+
* @license RequireJS 2.1.20 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
253253
* Available via the MIT or new BSD license.
254254
* see: http://github.com/jrburke/requirejs for details
255255
*/
@@ -262,7 +262,7 @@ var requirejs, require, define, xpcUtil;
262262
(function (global) {
263263
var req, s, head, baseElement, dataMain, src,
264264
interactiveScript, currentlyAddingScript, mainScript, subPath,
265-
version = '2.1.19',
265+
version = '2.1.20',
266266
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
267267
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
268268
jsSuffixRegExp = /\.js$/,
@@ -271,7 +271,6 @@ var requirejs, require, define, xpcUtil;
271271
ostring = op.toString,
272272
hasOwn = op.hasOwnProperty,
273273
ap = Array.prototype,
274-
apsp = ap.splice,
275274
isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document),
276275
isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
277276
//PS3 indicates loaded and complete, but need to wait for complete
@@ -804,11 +803,13 @@ var requirejs, require, define, xpcUtil;
804803
function takeGlobalQueue() {
805804
//Push all the globalDefQueue items into the context's defQueue
806805
if (globalDefQueue.length) {
807-
//Array splice in the values since the context code has a
808-
//local var ref to defQueue, so cannot just reassign the one
809-
//on context.
810-
apsp.apply(defQueue,
811-
[defQueue.length, 0].concat(globalDefQueue));
806+
each(globalDefQueue, function(queueItem) {
807+
var id = queueItem[0];
808+
if (typeof id === 'string') {
809+
context.defQueueMap[id] = true;
810+
}
811+
defQueue.push(queueItem);
812+
});
812813
globalDefQueue = [];
813814
}
814815
}
@@ -1095,7 +1096,10 @@ var requirejs, require, define, xpcUtil;
10951096
factory = this.factory;
10961097

10971098
if (!this.inited) {
1098-
this.fetch();
1099+
// Only fetch if not already in the defQueue.
1100+
if (!hasProp(context.defQueueMap, id)) {
1101+
this.fetch();
1102+
}
10991103
} else if (this.error) {
11001104
this.emit('error', this.error);
11011105
} else if (!this.defining) {
@@ -1494,6 +1498,7 @@ var requirejs, require, define, xpcUtil;
14941498
callGetModule(args);
14951499
}
14961500
}
1501+
context.defQueueMap = {};
14971502
}
14981503

14991504
context = {
@@ -1503,6 +1508,7 @@ var requirejs, require, define, xpcUtil;
15031508
defined: defined,
15041509
urlFetched: urlFetched,
15051510
defQueue: defQueue,
1511+
defQueueMap: {},
15061512
Module: Module,
15071513
makeModuleMap: makeModuleMap,
15081514
nextTick: req.nextTick,
@@ -1752,6 +1758,7 @@ var requirejs, require, define, xpcUtil;
17521758
defQueue.splice(i, 1);
17531759
}
17541760
});
1761+
delete context.defQueueMap[id];
17551762

17561763
if (mod) {
17571764
//Hold on to listeners in case the
@@ -1813,6 +1820,7 @@ var requirejs, require, define, xpcUtil;
18131820

18141821
callGetModule(args);
18151822
}
1823+
context.defQueueMap = {};
18161824

18171825
//Do this after the cycle of callGetModule in case the result
18181826
//of those calls/init calls changes the registry.
@@ -2317,7 +2325,12 @@ var requirejs, require, define, xpcUtil;
23172325
//where the module name is not known until the script onload event
23182326
//occurs. If no context, use the global queue, and get it processed
23192327
//in the onscript load callback.
2320-
(context ? context.defQueue : globalDefQueue).push([name, deps, callback]);
2328+
if (context) {
2329+
context.defQueue.push([name, deps, callback]);
2330+
context.defQueueMap[name] = true;
2331+
} else {
2332+
globalDefQueue.push([name, deps, callback]);
2333+
}
23212334
};
23222335

23232336
define.amd = {
@@ -26059,7 +26072,8 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
2605926072
parse.parseNode = function (node, onMatch, fnExpScope) {
2606026073
var name, deps, cjsDeps, arg, factory, exp, refsDefine, bodyNode,
2606126074
args = node && node[argPropName],
26062-
callName = parse.hasRequire(node);
26075+
callName = parse.hasRequire(node),
26076+
isUmd = false;
2606326077

2606426078
if (callName === 'require' || callName === 'requirejs') {
2606526079
//A plain require/requirejs call
@@ -26091,6 +26105,13 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
2609126105
//Just the factory, no name or deps
2609226106
factory = name;
2609326107
name = deps = null;
26108+
} else if (name.type === 'Identifier' && args.length === 1 &&
26109+
hasProp(fnExpScope, name.name)) {
26110+
//define(e) where e is a UMD identifier for the factory
26111+
//function.
26112+
isUmd = true;
26113+
factory = name;
26114+
name = null;
2609426115
} else if (name.type !== 'Literal') {
2609526116
//An object literal, just null out
2609626117
name = deps = factory = null;
@@ -26127,7 +26148,7 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
2612726148
if (cjsDeps.length) {
2612826149
deps = cjsDeps;
2612926150
}
26130-
} else if (deps || factory) {
26151+
} else if (deps || (factory && !isUmd)) {
2613126152
//Does not match the shape of an AMD call.
2613226153
return;
2613326154
}
@@ -26772,6 +26793,8 @@ define('pragma', ['parse', 'logger'], function (parse, logger) {
2677226793
defineJQueryRegExp: /typeof\s+define\s*===?\s*["']function["']\s*&&\s*define\s*\.\s*amd\s*&&\s*define\s*\.\s*amd\s*\.\s*jQuery/g,
2677326794
defineHasRegExp: /typeof\s+define\s*==(=)?\s*['"]function['"]\s*&&\s*typeof\s+define\.amd\s*==(=)?\s*['"]object['"]\s*&&\s*define\.amd/g,
2677426795
defineTernaryRegExp: /typeof\s+define\s*===?\s*['"]function["']\s*&&\s*define\s*\.\s*amd\s*\?\s*define/,
26796+
defineExistsRegExp: /\s+typeof\s+define\s*!==?\s*['"]undefined["']\s*/,
26797+
defineExistsAndAmdRegExp: /typeof\s+define\s*!==?\s*['"]undefined["']\s*&&\s*define\s*\.\s*amd\s*/,
2677526798
amdefineRegExp: /if\s*\(\s*typeof define\s*\!==\s*'function'\s*\)\s*\{\s*[^\{\}]+amdefine[^\{\}]+\}/g,
2677626799

2677726800
removeStrict: function (contents, config) {
@@ -26798,6 +26821,10 @@ define('pragma', ['parse', 'logger'], function (parse, logger) {
2679826821
fileContents = fileContents.replace(pragma.defineHasRegExp,
2679926822
"typeof " + ns + ".define === 'function' && typeof " + ns + ".define.amd === 'object' && " + ns + ".define.amd");
2680026823

26824+
//Namespace async.js define use:
26825+
fileContents = fileContents.replace(pragma.defineExistsAndAmdRegExp,
26826+
"typeof " + ns + ".define !== 'undefined' && " + ns + ".define.amd");
26827+
2680126828
//Namespace define checks.
2680226829
//Do these ones last, since they are a subset of the more specific
2680326830
//checks above.
@@ -26807,6 +26834,8 @@ define('pragma', ['parse', 'logger'], function (parse, logger) {
2680726834
"typeof " + ns + ".define === 'function' && " + ns + ".define['amd']");
2680826835
fileContents = fileContents.replace(pragma.defineTypeFirstCheckRegExp,
2680926836
"'function' === typeof " + ns + ".define && " + ns + ".define.amd");
26837+
fileContents = fileContents.replace(pragma.defineExistsRegExp,
26838+
"typeof " + ns + ".define !== 'undefined'");
2681026839

2681126840
//Check for require.js with the require/define definitions
2681226841
if (pragma.apiDefRegExp.test(fileContents) &&
@@ -26994,6 +27023,7 @@ define('pragma', ['parse', 'logger'], function (parse, logger) {
2699427023

2699527024
return pragma;
2699627025
});
27026+
2699727027
if(env === 'browser') {
2699827028
/**
2699927029
* @license Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.

www/js/lib/require.js

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/** vim: et:ts=4:sw=4:sts=4
2-
* @license RequireJS 2.1.19 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
2+
* @license RequireJS 2.1.20 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
33
* Available via the MIT or new BSD license.
44
* see: http://github.com/jrburke/requirejs for details
55
*/
@@ -12,7 +12,7 @@ var requirejs, require, define;
1212
(function (global) {
1313
var req, s, head, baseElement, dataMain, src,
1414
interactiveScript, currentlyAddingScript, mainScript, subPath,
15-
version = '2.1.19',
15+
version = '2.1.20',
1616
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
1717
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
1818
jsSuffixRegExp = /\.js$/,
@@ -21,7 +21,6 @@ var requirejs, require, define;
2121
ostring = op.toString,
2222
hasOwn = op.hasOwnProperty,
2323
ap = Array.prototype,
24-
apsp = ap.splice,
2524
isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 'undefined' && window.document),
2625
isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
2726
//PS3 indicates loaded and complete, but need to wait for complete
@@ -554,11 +553,13 @@ var requirejs, require, define;
554553
function takeGlobalQueue() {
555554
//Push all the globalDefQueue items into the context's defQueue
556555
if (globalDefQueue.length) {
557-
//Array splice in the values since the context code has a
558-
//local var ref to defQueue, so cannot just reassign the one
559-
//on context.
560-
apsp.apply(defQueue,
561-
[defQueue.length, 0].concat(globalDefQueue));
556+
each(globalDefQueue, function(queueItem) {
557+
var id = queueItem[0];
558+
if (typeof id === 'string') {
559+
context.defQueueMap[id] = true;
560+
}
561+
defQueue.push(queueItem);
562+
});
562563
globalDefQueue = [];
563564
}
564565
}
@@ -845,7 +846,10 @@ var requirejs, require, define;
845846
factory = this.factory;
846847

847848
if (!this.inited) {
848-
this.fetch();
849+
// Only fetch if not already in the defQueue.
850+
if (!hasProp(context.defQueueMap, id)) {
851+
this.fetch();
852+
}
849853
} else if (this.error) {
850854
this.emit('error', this.error);
851855
} else if (!this.defining) {
@@ -1244,6 +1248,7 @@ var requirejs, require, define;
12441248
callGetModule(args);
12451249
}
12461250
}
1251+
context.defQueueMap = {};
12471252
}
12481253

12491254
context = {
@@ -1253,6 +1258,7 @@ var requirejs, require, define;
12531258
defined: defined,
12541259
urlFetched: urlFetched,
12551260
defQueue: defQueue,
1261+
defQueueMap: {},
12561262
Module: Module,
12571263
makeModuleMap: makeModuleMap,
12581264
nextTick: req.nextTick,
@@ -1502,6 +1508,7 @@ var requirejs, require, define;
15021508
defQueue.splice(i, 1);
15031509
}
15041510
});
1511+
delete context.defQueueMap[id];
15051512

15061513
if (mod) {
15071514
//Hold on to listeners in case the
@@ -1563,6 +1570,7 @@ var requirejs, require, define;
15631570

15641571
callGetModule(args);
15651572
}
1573+
context.defQueueMap = {};
15661574

15671575
//Do this after the cycle of callGetModule in case the result
15681576
//of those calls/init calls changes the registry.
@@ -2067,7 +2075,12 @@ var requirejs, require, define;
20672075
//where the module name is not known until the script onload event
20682076
//occurs. If no context, use the global queue, and get it processed
20692077
//in the onscript load callback.
2070-
(context ? context.defQueue : globalDefQueue).push([name, deps, callback]);
2078+
if (context) {
2079+
context.defQueue.push([name, deps, callback]);
2080+
context.defQueueMap[name] = true;
2081+
} else {
2082+
globalDefQueue.push([name, deps, callback]);
2083+
}
20712084
};
20722085

20732086
define.amd = {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy