Skip to content

Commit 1b0d7e4

Browse files
authored
Merge pull request #28 from kratiahuja/master
Avoid double walking of all modules
2 parents d2cf267 + 03ded75 commit 1b0d7e4

File tree

1 file changed

+17
-22
lines changed

1 file changed

+17
-22
lines changed

addon/index.js

+17-22
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,26 @@ import Ember from 'ember';
33
export default function(app, prefix) {
44
var regex = new RegExp('^' + prefix + '\/((?:instance-)?initializers)\/');
55
var getKeys = (Object.keys || Ember.keys);
6+
var moduleNames = getKeys(requirejs._eak_seen);
67

7-
getKeys(requirejs._eak_seen).map(function (moduleName) {
8-
return {
9-
moduleName: moduleName,
10-
matches: regex.exec(moduleName)
11-
};
12-
})
13-
.filter(function(dep) {
14-
return dep.matches && dep.matches.length === 2;
15-
})
16-
.forEach(function(dep) {
17-
var moduleName = dep.moduleName;
8+
for (var i = 0; i < moduleNames.length; i++) {
9+
var moduleName = moduleNames[i];
10+
var matches = regex.exec(moduleName);
1811

19-
var module = require(moduleName, null, null, true);
20-
if (!module) { throw new Error(moduleName + ' must export an initializer.'); }
12+
if (matches && matches.length === 2) {
13+
var module = require(moduleName, null, null, true);
14+
if (!module) { throw new Error(moduleName + ' must export an initializer.'); }
2115

22-
var initializerType = Ember.String.camelize(dep.matches[1].substring(0, dep.matches[1].length - 1));
23-
var initializer = module['default'];
24-
if (!initializer.name) {
25-
var initializerName = moduleName.match(/[^\/]+\/?$/)[0];
26-
initializer.name = initializerName;
27-
}
16+
var initializerType = Ember.String.camelize(matches[1].substring(0, matches[1].length - 1));
17+
var initializer = module['default'];
18+
if (!initializer.name) {
19+
var initializerName = moduleName.match(/[^\/]+\/?$/)[0];
20+
initializer.name = initializerName;
21+
}
2822

29-
if (app[initializerType]) {
30-
app[initializerType](initializer);
23+
if (app[initializerType]) {
24+
app[initializerType](initializer);
25+
}
3126
}
32-
});
27+
}
3328
}

0 commit comments

Comments
 (0)