1
1
/**
2
- * requirejs-sandbox - v0.6.1-4 (build date: 07 /08/2014)
2
+ * requirejs-sandbox - v0.6.2-5 (build date: 08 /08/2014)
3
3
* https://github.com/a-ignatov-parc/requirejs-sandbox
4
4
* Sandbox manager for require.js allows user to run multiple apps without scope intersection issues
5
5
* Copyright (c) 2014 Anton Ignatov
@@ -1521,6 +1521,15 @@ define('sandbox-manager',[
1521
1521
success ( ) ;
1522
1522
}
1523
1523
} ,
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
+ } ,
1524
1533
unresolvedPatchesCount = 0 ,
1525
1534
preprocessPlugin ;
1526
1535
@@ -1582,6 +1591,25 @@ define('sandbox-manager',[
1582
1591
return sandbox ;
1583
1592
} ) ;
1584
1593
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
+
1585
1613
console . debug ( 'Creating "preprocess" plugin for sandbox require.js' ) ;
1586
1614
1587
1615
// Создаем инстанс плагина, с переданным контекстом.
@@ -1596,18 +1624,8 @@ define('sandbox-manager',[
1596
1624
// пользователю создаем обработчик который будет отлавливать момент
1597
1625
// загрузки + резолвинга и отслеживать нужные модули.
1598
1626
this . api . require . onResourceLoad = function ( context , map ) {
1599
- var module = context . defined [ map . id ] ,
1600
- moduleName = map . name ,
1601
- patch ;
1602
-
1603
1627
// Проверяем имя модуля и делаем его патч если необходимо.
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 ] ) ;
1611
1629
} ;
1612
1630
1613
1631
console . debug ( 'Checking for unresolved patches' ) ;
0 commit comments