Skip to content

Commit bb816dd

Browse files
0.6.2 release
1 parent d84bceb commit bb816dd

File tree

3 files changed

+33
-15
lines changed

3 files changed

+33
-15
lines changed

build/requirejs-sandbox.js

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* requirejs-sandbox - v0.6.1-4 (build date: 07/08/2014)
2+
* requirejs-sandbox - v0.6.2-5 (build date: 08/08/2014)
33
* https://github.com/a-ignatov-parc/requirejs-sandbox
44
* Sandbox manager for require.js allows user to run multiple apps without scope intersection issues
55
* Copyright (c) 2014 Anton Ignatov
@@ -1521,6 +1521,15 @@ define('sandbox-manager',[
15211521
success();
15221522
}
15231523
},
1524+
applyPatch = function(moduleName, module) {
1525+
for (var i = 0, length = patchList.length, patch; i < length; i++) {
1526+
patch = patchList[i];
1527+
1528+
if (patch.name == moduleName) {
1529+
patchModule(module || sandbox[patch.shimName], patch);
1530+
}
1531+
}
1532+
},
15241533
unresolvedPatchesCount = 0,
15251534
preprocessPlugin;
15261535

@@ -1582,6 +1591,25 @@ define('sandbox-manager',[
15821591
return sandbox;
15831592
});
15841593

1594+
// Модуль `patch` предназначен для ручного патчинга окружения, когда
1595+
// автоматический режим не возможен.
1596+
this.api.define('patch', function() {
1597+
return function(name, module) {
1598+
var list = name;
1599+
1600+
if (typeof(list) === 'string') {
1601+
list = {};
1602+
list[name] = module;
1603+
}
1604+
1605+
for (var key in list) {
1606+
if (list.hasOwnProperty(key)) {
1607+
applyPatch(key, list[key]);
1608+
}
1609+
}
1610+
};
1611+
});
1612+
15851613
console.debug('Creating "preprocess" plugin for sandbox require.js');
15861614

15871615
// Создаем инстанс плагина, с переданным контекстом.
@@ -1596,18 +1624,8 @@ define('sandbox-manager',[
15961624
// пользователю создаем обработчик который будет отлавливать момент
15971625
// загрузки + резолвинга и отслеживать нужные модули.
15981626
this.api.require.onResourceLoad = function(context, map) {
1599-
var module = context.defined[map.id],
1600-
moduleName = map.name,
1601-
patch;
1602-
16031627
// Проверяем имя модуля и делаем его патч если необходимо.
1604-
for (var i = 0, length = patchList.length; i < length; i++) {
1605-
patch = patchList[i];
1606-
1607-
if (patch.name == moduleName) {
1608-
patchModule(module || sandbox[patch.shimName], patchList[i]);
1609-
}
1610-
}
1628+
applyPatch(map.name, context.defined[map.id]);
16111629
};
16121630

16131631
console.debug('Checking for unresolved patches');

0 commit comments

Comments
 (0)