Class: Gurney::Source::Npm
Constant Summary collapse
- SUPPORTED_LOCKFILE_VERSIONS =
[2, 3].freeze
Instance Method Summary collapse
- #dependencies ⇒ Object
-
#initialize(package_lock_json:) ⇒ Npm
constructor
A new instance of Npm.
- #present? ⇒ Boolean
Constructor Details
#initialize(package_lock_json:) ⇒ Npm
Returns a new instance of Npm.
10 11 12 |
# File 'lib/gurney/source/npm.rb', line 10 def initialize(package_lock_json:) @package_lock_json = package_lock_json end |
Instance Method Details
#dependencies ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/gurney/source/npm.rb', line 18 def dependencies if present? parsed_lock = JSON.parse(@package_lock_json) if SUPPORTED_LOCKFILE_VERSIONS.include?(parsed_lock['lockfileVersion']) extract_dependencies(parsed_lock) else puts "package-lock.json: Lockfile version #{parsed_lock['lockfileVersion']} is unsupported. No npm dependencies reported.".yellow [] end end rescue JSON::ParserError => e raise Gurney::Error.new("Invalid package-lock.json format: #{e.}") end |
#present? ⇒ Boolean
14 15 16 |
# File 'lib/gurney/source/npm.rb', line 14 def present? !@package_lock_json&.empty? end |