diff --git a/src/lib/nodejs/ComponentLoader.coffee b/src/lib/nodejs/ComponentLoader.coffee index a2f60e9e0..848611bf6 100644 --- a/src/lib/nodejs/ComponentLoader.coffee +++ b/src/lib/nodejs/ComponentLoader.coffee @@ -21,7 +21,6 @@ log.pause() class ComponentLoader extends loader.ComponentLoader getModuleComponents: (moduleDef, callback) -> components = {} - @checked.push moduleDef.name depCount = _.keys(moduleDef.dependencies).length done = _.after depCount + 1, => @@ -30,10 +29,10 @@ class ComponentLoader extends loader.ComponentLoader # Handle sub-modules _.each moduleDef.dependencies, (def) => return done() unless def.name? - return done() unless @checked.indexOf(def.name) is -1 @getModuleComponents def, (depComponents) -> return done() if _.isEmpty depComponents - components[name] = cPath for name, cPath of depComponents + # Add component only if it hasn't been added before + components[name] ?= cPath for name, cPath of depComponents done() # No need for further processing for non-NoFlo projects