diff --git a/app-builder-bin/package.json b/app-builder-bin/package.json index 09fedba..601580d 100644 --- a/app-builder-bin/package.json +++ b/app-builder-bin/package.json @@ -16,4 +16,4 @@ "appimage", "icns" ] -} \ No newline at end of file +} diff --git a/pkg/node-modules/nodeModuleCollector.go b/pkg/node-modules/nodeModuleCollector.go index ea16332..eecb14a 100644 --- a/pkg/node-modules/nodeModuleCollector.go +++ b/pkg/node-modules/nodeModuleCollector.go @@ -104,7 +104,9 @@ func (t *Collector) processDependencies(list *map[string]string, nodeModuleDir s } if childDependency == nil { - unresolved = append(unresolved, name) + if !t.hasResolvedDependency(nodeModuleDir, name){ + unresolved = append(unresolved, name) + } } else { (*queue)[queueIndex] = childDependency correctOptionalState(isOptional, childDependency) @@ -147,7 +149,7 @@ func (t *Collector) processDependencies(list *map[string]string, nodeModuleDir s } if childDependency == nil { - hasUnresolved = true + hasUnresolved = !t.hasResolvedDependency(nodeModuleDir, name) } else { (*queue)[queueIndex] = childDependency correctOptionalState(isOptional, childDependency) @@ -179,6 +181,17 @@ func correctOptionalState(isOptional bool, childDependency *Dependency) { } } +func (t *Collector) hasResolvedDependency(parentNodeModuleDir string, name string) bool { + dependencyNameToDependency := t.NodeModuleDirToDependencyMap[parentNodeModuleDir] + if dependencyNameToDependency != nil { + dependency := (*dependencyNameToDependency)[name] + if dependency != nil { + return true + } + } + return false +} + // nil if already handled func (t *Collector) resolveDependency(parentNodeModuleDir string, name string) (*Dependency, error) { dependencyNameToDependency := t.NodeModuleDirToDependencyMap[parentNodeModuleDir]