diff options
Diffstat (limited to 'lib/license/finder/ext/bower.rb')
| -rw-r--r-- | lib/license/finder/ext/bower.rb | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/lib/license/finder/ext/bower.rb b/lib/license/finder/ext/bower.rb index 9b302f6..c034568 100644 --- a/lib/license/finder/ext/bower.rb +++ b/lib/license/finder/ext/bower.rb @@ -1,33 +1,38 @@ # frozen_string_literal: true module LicenseFinder - class Bower < PackageManager - def prepare - shell.execute([ - :bower, - :install, - '--allow-root', - '--production', - '--verbose', - '--loglevel', - :debug - ], env: default_env) + class Bower + def possible_package_paths + [project_path.join('bower.json')] end - def current_packages - map_all(bower_output).flatten.compact + def prepare + within_project_path do + tool_box.install(tool: :nodejs, env: default_env) + shell.execute([ + :bower, + :install, + '--allow-root', + '--production', + '--verbose', + '--loglevel', + :debug + ], env: default_env) + end end - def possible_package_paths - [project_path.join('bower.json')] + def current_packages + within_project_path do + map_all(bower_output).flatten.compact + end end private def bower_output - stdout, _stderr, status = Dir.chdir(project_path) do - shell.execute([:bower, :list, '--json', '-l', 'action', '--allow-root'], env: default_env) - end + stdout, _stderr, status = shell.execute([ + :bower, :list, '--json', '-l', 'action', '--allow-root' + ], env: default_env) return {} unless status.success? JSON.parse(stdout) @@ -62,9 +67,5 @@ module LicenseFinder 'bower_directory' => ENV.fetch('bower_directory', vendor_path.join('bower_components')).to_s } end - - def vendor_path - Pathname.pwd.join('.gitlab', 'cache', 'vendor') - end end end |
