Skip to content
This repository was archived by the owner on Apr 4, 2025. It is now read-only.

Commit c91ef9e

Browse files
committed
fix(modules): Don't re-register modules we've seen before
When recursively tracking modules, we will hit a stack overflow if two modules depend on each other. Track modules we've seen and don't re-register them if we've seen them before. Fixes #200
1 parent a5cec66 commit c91ef9e

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

dist/hint.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1048,8 +1048,12 @@ module.exports = function(doms) {
10481048
},{"./getNgAppMod":11,"./inAttrsOrClasses":15,"./moduleData":16,"./storeDependencies":20}],22:[function(require,module,exports){
10491049
var storeDependencies = require('./storeDependencies');
10501050

1051+
var seen = [];
1052+
10511053
var storeUsedModules = module.exports = function(module, modules){
1052-
if(module) {
1054+
var name = module.name || module;
1055+
if(module && seen.indexOf(name) === -1) {
1056+
seen.push(name);
10531057
storeDependencies(module);
10541058
module.requires.forEach(function(modName) {
10551059
var mod = modules[modName];

src/modules/angular-hint-modules/storeUsedModules.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
var storeDependencies = require('./storeDependencies');
22

3+
var seen = [];
4+
35
var storeUsedModules = module.exports = function(module, modules){
4-
if(module) {
6+
var name = module.name || module;
7+
if(module && seen.indexOf(name) === -1) {
8+
seen.push(name);
59
storeDependencies(module);
610
module.requires.forEach(function(modName) {
711
var mod = modules[modName];

0 commit comments

Comments
 (0)