Sha256: 7ab9697b65549cdd3c6c8c42530315a0db5005aeebdc024f0cffe1b1d03a3934

Contents?: true

Size: 716 Bytes

Versions: 3

Compression:

Stored size: 716 Bytes

Contents

require 'json'

module LicenseFinder
  class Bower < PackageManager
    def current_packages
      bower_output.map do |package|
        BowerPackage.new(package, logger: logger)
      end
    end

    def self.package_management_command
      'bower'
    end

    private

    def bower_output
      command = "#{Bower.package_management_command} list --json -l action --allow-root"
      stdout, stderr, status = Dir.chdir(project_path) { Cmd.run(command) }
      raise "Command '#{command}' failed to execute: #{stderr}" unless status.success?

      JSON(stdout)
        .fetch('dependencies', {})
        .values
    end

    def possible_package_paths
      [project_path.join('bower.json')]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
license_finder-4.0.2 lib/license_finder/package_managers/bower.rb
license_finder-4.0.1 lib/license_finder/package_managers/bower.rb
license_finder-3.1.1 lib/license_finder/package_managers/bower.rb