Skip to content

Commit 3292638

Browse files
author
Mateusz Krzeszowiak
committed
Prevent leaking of variables to global scope
1 parent 87b7cba commit 3292638

File tree

2 files changed

+29
-26
lines changed

2 files changed

+29
-26
lines changed

lib/internal/Magento/Framework/RequireJs/Config.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -293,24 +293,26 @@ protected function getConfigFileName()
293293
*/
294294
public function getMinResolverCode()
295295
{
296-
$excludes = ['url.indexOf(baseUrl) === 0'];
296+
$excludes = ['url.indexOf(baseUrl)===0'];
297297
foreach ($this->minification->getExcludes('js') as $expression) {
298298
$excludes[] = '!url.match(/' . str_replace('/', '\/', $expression) . '/)';
299299
}
300300
$excludesCode = empty($excludes) ? 'true' : implode('&&', $excludes);
301301

302302
$result = <<<code
303-
var ctx = require.s.contexts._,
304-
origNameToUrl = ctx.nameToUrl,
305-
baseUrl = ctx.config.baseUrl;
306-
307-
ctx.nameToUrl = function() {
308-
var url = origNameToUrl.apply(ctx, arguments);
309-
if ({$excludesCode}) {
310-
url = url.replace(/(\.min)?\.js$/, '.min.js');
311-
}
312-
return url;
313-
};
303+
(function () {
304+
var ctx = require.s.contexts._,
305+
origNameToUrl = ctx.nameToUrl,
306+
baseUrl = ctx.config.baseUrl;
307+
308+
ctx.nameToUrl = function() {
309+
var url = origNameToUrl.apply(ctx, arguments);
310+
if ({$excludesCode}) {
311+
url = url.replace(/(\.min)?\.js$/, '.min.js');
312+
}
313+
return url;
314+
};
315+
})();
314316
315317
code;
316318

lib/internal/Magento/Framework/RequireJs/Test/Unit/ConfigTest.php

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ function ($file) {
137137
->willReturn(true);
138138

139139
$expected = <<<expected
140-
(function(require){
140+
(function(){
141141
(function() {
142142
file_one.js content
143143
require.config(config);
@@ -149,7 +149,7 @@ function ($file) {
149149
150150
151151
152-
})(require);
152+
})();
153153
expected;
154154

155155
$this->minifyAdapterMock
@@ -180,18 +180,19 @@ public function testGetMinResolverCode()
180180
->willReturnArgument(0);
181181

182182
$expected = <<<code
183-
var ctx = require.s.contexts._,
184-
origNameToUrl = ctx.nameToUrl,
185-
baseUrl = ctx.config.baseUrl;
186-
187-
ctx.nameToUrl = function() {
188-
var url = origNameToUrl.apply(ctx, arguments);
189-
if (url.indexOf(baseUrl) === 0&&!url.match(/\.min\./)) {
190-
url = url.replace(/(\.min)?\.js$/, '.min.js');
191-
}
192-
return url;
193-
};
194-
183+
(function () {
184+
var ctx = require.s.contexts._,
185+
origNameToUrl = ctx.nameToUrl,
186+
baseUrl = ctx.config.baseUrl;
187+
188+
ctx.nameToUrl = function() {
189+
var url = origNameToUrl.apply(ctx, arguments);
190+
if (url.indexOf(baseUrl)===0&&!url.match(/\.min\./)) {
191+
url = url.replace(/(\.min)?\.js$/, '.min.js');
192+
}
193+
return url;
194+
};
195+
})();
195196
code;
196197
$this->assertEquals($expected, $this->object->getMinResolverCode());
197198
}

0 commit comments

Comments
 (0)