diff options
| author | mo khan <mo.khan@gmail.com> | 2020-05-19 12:07:27 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-05-19 12:07:27 -0600 |
| commit | ee7b5af4bd860f373cb3744329152f9c837f3cd1 (patch) | |
| tree | 89ee8f3d567f38eab25d676034c9cabea02a1b63 /lib | |
| parent | 0f1db0d60c61a6db1c5389fc0ddb2d984789b330 (diff) | |
Collect dependencies of dependencies in bower project
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/license/finder/ext/bower.rb | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/license/finder/ext/bower.rb b/lib/license/finder/ext/bower.rb index 3c6ba6f..53d5f5e 100644 --- a/lib/license/finder/ext/bower.rb +++ b/lib/license/finder/ext/bower.rb @@ -8,8 +8,8 @@ module LicenseFinder def current_packages bower_output.map do |bower_module| - map_from(bower_module) - end + map_all(bower_module) + end.flatten end def possible_package_paths @@ -28,28 +28,30 @@ module LicenseFinder json.fetch('dependencies', {}).values end - def map_from(bower_module) + def map_all(bower_module) + items = [] spec = bower_module.fetch('pkgMeta', {}) if spec.empty? endpoint = bower_module.fetch('endpoint', {}) - Package.new( + items << Package.new( endpoint['name'], endpoint['target'], - install_path: bower_module['canonicalDir'], + install_path: bower_module['canonicalDir'] ) else - Package.new( + items << Package.new( spec['name'], spec['version'], summary: spec['description'], description: spec['readme'], homepage: spec['homepage'], spec_licenses: Package.license_names_from_standard_spec(spec), - install_path: bower_module['canonicalDir'], + install_path: bower_module['canonicalDir'] ) end + + items + bower_module.fetch('dependencies', {}).values.map { |x| map_all(x) } end end end - |
