bibliothecary 2.0.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bibliothecary/analyser.rb +3 -4
- data/lib/bibliothecary/parsers/bower.rb +2 -1
- data/lib/bibliothecary/parsers/cargo.rb +3 -1
- data/lib/bibliothecary/parsers/carthage.rb +4 -1
- data/lib/bibliothecary/parsers/clojars.rb +2 -1
- data/lib/bibliothecary/parsers/cocoapods.rb +5 -1
- data/lib/bibliothecary/parsers/cpan.rb +3 -1
- data/lib/bibliothecary/parsers/cran.rb +2 -1
- data/lib/bibliothecary/parsers/dub.rb +3 -1
- data/lib/bibliothecary/parsers/elm.rb +3 -1
- data/lib/bibliothecary/parsers/go.rb +5 -1
- data/lib/bibliothecary/parsers/hex.rb +3 -1
- data/lib/bibliothecary/parsers/julia.rb +2 -1
- data/lib/bibliothecary/parsers/maven.rb +4 -1
- data/lib/bibliothecary/parsers/meteor.rb +2 -1
- data/lib/bibliothecary/parsers/npm.rb +3 -1
- data/lib/bibliothecary/parsers/nuget.rb +6 -1
- data/lib/bibliothecary/parsers/packagist.rb +3 -1
- data/lib/bibliothecary/parsers/pub.rb +3 -1
- data/lib/bibliothecary/parsers/pypi.rb +3 -1
- data/lib/bibliothecary/parsers/rubygems.rb +4 -1
- data/lib/bibliothecary/parsers/shard.rb +3 -1
- data/lib/bibliothecary/parsers/swift.rb +2 -1
- data/lib/bibliothecary/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60ded5383ce5a7bada9d7b788054561d3650bfa1
|
4
|
+
data.tar.gz: d3e9d85d474bc948e058c32247dbf9f4437eb460
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfc6d270640ef048b4a89e97721215c569313e12604ac7ef060d7d1159a44c90dc79808887f5e9e93a9a81c09a791fd70d5bd302822a7ac1c94d8d9dc5cca998
|
7
|
+
data.tar.gz: 485ce2afbb07fd363656eaecd59bd35fe6706a350d0ad754813f1d7ae732ad152bfe69eacc027741b7dabc78e2ab814ffd675a0a6199852715fa53ec0594f0d0
|
@@ -10,15 +10,14 @@ module Bibliothecary
|
|
10
10
|
|
11
11
|
def analyse(folder_path, file_list)
|
12
12
|
file_list.map do |path|
|
13
|
-
file_contents = File.open(path).read
|
14
13
|
filename = path.gsub(folder_path, '').gsub(/^\//, '')
|
15
|
-
analyse_file(filename,
|
14
|
+
analyse_file(filename, path)
|
16
15
|
end.compact
|
17
16
|
end
|
18
17
|
|
19
|
-
def analyse_file(filename,
|
18
|
+
def analyse_file(filename, path)
|
20
19
|
begin
|
21
|
-
dependencies = parse(filename,
|
20
|
+
dependencies = parse(filename, path)
|
22
21
|
if dependencies.any?
|
23
22
|
{
|
24
23
|
platform: platform_name,
|
@@ -5,8 +5,9 @@ module Bibliothecary
|
|
5
5
|
class Bower
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^bower\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
else
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Cargo
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/Cargo\.toml$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
toml = TOML.parse(file_contents)
|
11
12
|
parse_manifest(toml)
|
12
13
|
elsif filename.match(/Cargo\.lock$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
toml = TOML.parse(file_contents)
|
14
16
|
parse_lockfile(toml)
|
15
17
|
else
|
@@ -3,12 +3,15 @@ module Bibliothecary
|
|
3
3
|
class Carthage
|
4
4
|
include Bibliothecary::Analyser
|
5
5
|
|
6
|
-
def self.parse(filename,
|
6
|
+
def self.parse(filename, path)
|
7
7
|
if filename.match(/^Cartfile$/)
|
8
|
+
file_contents = File.open(path).read
|
8
9
|
parse_cartfile(file_contents)
|
9
10
|
elsif filename.match(/^Cartfile\.private$/)
|
11
|
+
file_contents = File.open(path).read
|
10
12
|
parse_cartfile_private(file_contents)
|
11
13
|
elsif filename.match(/^Cartfile\.resolved$/)
|
14
|
+
file_contents = File.open(path).read
|
12
15
|
parse_cartfile_resolved(file_contents)
|
13
16
|
else
|
14
17
|
[]
|
@@ -6,8 +6,9 @@ module Bibliothecary
|
|
6
6
|
class Clojars
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^project\.clj$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
parse_manifest(file_contents)
|
12
13
|
else
|
13
14
|
[]
|
@@ -9,17 +9,21 @@ module Bibliothecary
|
|
9
9
|
NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'.freeze
|
10
10
|
NAME_VERSION_4 = /^ {4}#{NAME_VERSION}$/
|
11
11
|
|
12
|
-
def self.parse(filename,
|
12
|
+
def self.parse(filename, path)
|
13
13
|
if filename.match(/^Podfile$/)
|
14
|
+
file_contents = File.open(path).read
|
14
15
|
manifest = Gemnasium::Parser.send(:podfile, file_contents)
|
15
16
|
parse_manifest(manifest)
|
16
17
|
elsif filename.match(/^[A-Za-z0-9_-]+\.podspec$/)
|
18
|
+
file_contents = File.open(path).read
|
17
19
|
manifest = Gemnasium::Parser.send(:podspec, file_contents)
|
18
20
|
parse_manifest(manifest)
|
19
21
|
elsif filename.match(/^Podfile\.lock$/)
|
22
|
+
file_contents = File.open(path).read
|
20
23
|
manifest = YAML.load file_contents
|
21
24
|
parse_podfile_lock(manifest)
|
22
25
|
elsif filename.match(/^[A-Za-z0-9_-]+\.podspec.json$/)
|
26
|
+
file_contents = File.open(path).read
|
23
27
|
json = JSON.parse(file_contents)
|
24
28
|
parse_json_manifest(json)
|
25
29
|
else
|
@@ -6,11 +6,13 @@ module Bibliothecary
|
|
6
6
|
class CPAN
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^META\.json$/i)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
json = JSON.parse file_contents
|
12
13
|
parse_json_manifest(json)
|
13
14
|
elsif filename.match(/^META\.yml$/i)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
yaml = YAML.load file_contents
|
15
17
|
parse_yaml_manifest(yaml)
|
16
18
|
else
|
@@ -7,8 +7,9 @@ module Bibliothecary
|
|
7
7
|
|
8
8
|
REQUIRE_REGEXP = /([a-zA-Z0-9\-_\.]+)\s?\(?([><=\s\d\.,]+)?\)?/
|
9
9
|
|
10
|
-
def self.parse(filename,
|
10
|
+
def self.parse(filename, path)
|
11
11
|
if filename.match(/^DESCRIPTION$/i)
|
12
|
+
file_contents = File.open(path).read
|
12
13
|
control = DebControl::ControlFileBase.parse(file_contents)
|
13
14
|
parse_description(control)
|
14
15
|
else
|
@@ -6,11 +6,13 @@ module Bibliothecary
|
|
6
6
|
class Dub
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^dub\.json$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
json = JSON.parse(file_contents)
|
12
13
|
parse_manifest(json)
|
13
14
|
elsif filename.match(/^dub\.sdl$/)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
parse_sdl_manifest(file_contents)
|
15
17
|
else
|
16
18
|
[]
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Elm
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^elm-package\.json$|^elm_dependencies\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse file_contents
|
11
12
|
parse_json_manifest(json)
|
12
13
|
elsif filename.match(/^elm-stuff\/exact-dependencies\.json$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
json = JSON.parse file_contents
|
14
16
|
parse_json_lock(json)
|
15
17
|
else
|
@@ -6,17 +6,21 @@ module Bibliothecary
|
|
6
6
|
class Go
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/^glide\.yaml$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
yaml = YAML.load file_contents
|
12
13
|
parse_glide_yaml(yaml)
|
13
14
|
elsif filename.match(/^glide\.lock$/)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
yaml = YAML.load file_contents
|
15
17
|
parse_glide_lockfile(yaml)
|
16
18
|
elsif filename.match(/^Godeps\/Godeps\.json$/)
|
19
|
+
file_contents = File.open(path).read
|
17
20
|
json = JSON.parse file_contents
|
18
21
|
parse_godep_json(json)
|
19
22
|
elsif filename.match(/^vendor\/manifest$/)
|
23
|
+
file_contents = File.open(path).read
|
20
24
|
json = JSON.parse file_contents
|
21
25
|
parse_gb_manifest(json)
|
22
26
|
else
|
@@ -5,10 +5,12 @@ module Bibliothecary
|
|
5
5
|
class Hex
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^mix\.exs$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
parse_mix(file_contents)
|
11
12
|
elsif filename.match(/^mix\.lock$/)
|
13
|
+
file_contents = File.open(path).read
|
12
14
|
parse_mix_lock(file_contents)
|
13
15
|
else
|
14
16
|
[]
|
@@ -3,8 +3,9 @@ module Bibliothecary
|
|
3
3
|
class Julia
|
4
4
|
include Bibliothecary::Analyser
|
5
5
|
|
6
|
-
def self.parse(filename,
|
6
|
+
def self.parse(filename, path)
|
7
7
|
if filename.match(/^REQUIRE$/i)
|
8
|
+
file_contents = File.open(path).read
|
8
9
|
parse_require(file_contents)
|
9
10
|
else
|
10
11
|
[]
|
@@ -5,14 +5,17 @@ module Bibliothecary
|
|
5
5
|
class Maven
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/ivy\.xml$/i)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
xml = Ox.parse file_contents
|
11
12
|
parse_ivy_manifest(xml)
|
12
13
|
elsif filename.match(/pom\.xml$/i)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
xml = Ox.parse file_contents
|
14
16
|
parse_pom_manifest(xml)
|
15
17
|
elsif filename.match(/build.gradle$/i)
|
18
|
+
file_contents = File.open(path).read
|
16
19
|
parse_gradle(file_contents)
|
17
20
|
else
|
18
21
|
[]
|
@@ -5,8 +5,9 @@ module Bibliothecary
|
|
5
5
|
class Meteor
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^versions\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
else
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class NPM
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/package\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
elsif filename.match(/npm-shrinkwrap\.json$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
json = JSON.parse(file_contents)
|
14
16
|
parse_shrinkwrap(json)
|
15
17
|
else
|
@@ -6,20 +6,25 @@ module Bibliothecary
|
|
6
6
|
class Nuget
|
7
7
|
include Bibliothecary::Analyser
|
8
8
|
|
9
|
-
def self.parse(filename,
|
9
|
+
def self.parse(filename, path)
|
10
10
|
if filename.match(/Project\.json$/)
|
11
|
+
file_contents = File.open(path).read
|
11
12
|
json = JSON.parse file_contents
|
12
13
|
parse_project_json(json)
|
13
14
|
elsif filename.match(/Project\.lock\.json$/)
|
15
|
+
file_contents = File.open(path).read
|
14
16
|
json = JSON.parse file_contents
|
15
17
|
parse_project_lock_json(json)
|
16
18
|
elsif filename.match(/packages\.config$/)
|
19
|
+
file_contents = File.open(path).read
|
17
20
|
xml = Ox.parse file_contents
|
18
21
|
parse_packages_config(xml)
|
19
22
|
elsif filename.match(/^[A-Za-z0-9_-]+\.nuspec$/)
|
23
|
+
file_contents = File.open(path).read
|
20
24
|
xml = Ox.parse file_contents
|
21
25
|
parse_nuspec(xml)
|
22
26
|
elsif filename.match(/paket\.lock$/)
|
27
|
+
file_contents = File.open(path).read
|
23
28
|
parse_paket_lock(file_contents.split("\n"))
|
24
29
|
else
|
25
30
|
[]
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Packagist
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^composer\.json$/)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
json = JSON.parse(file_contents)
|
11
12
|
parse_manifest(json)
|
12
13
|
elsif filename.match(/^composer\.lock$/)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
json = JSON.parse(file_contents)
|
14
16
|
parse_lockfile(json)
|
15
17
|
else
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Pub
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^pubspec\.yaml$/i)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
yaml = YAML.load file_contents
|
11
12
|
parse_yaml_manifest(yaml)
|
12
13
|
elsif filename.match(/^pubspec\.lock$/i)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
yaml = YAML.load file_contents
|
14
16
|
parse_yaml_lockfile(yaml)
|
15
17
|
else
|
@@ -7,11 +7,13 @@ module Bibliothecary
|
|
7
7
|
REQUIRE_REGEXP = /([a-zA-Z0-9]+[a-zA-Z0-9\-_\.]+)([><=\d\.,]+)?/
|
8
8
|
REQUIREMENTS_REGEXP = /^#{REQUIRE_REGEXP}/
|
9
9
|
|
10
|
-
def self.parse(filename,
|
10
|
+
def self.parse(filename, path)
|
11
11
|
is_valid_requirements_file = is_requirements_file(filename)
|
12
12
|
if is_valid_requirements_file
|
13
|
+
file_contents = File.open(path).read
|
13
14
|
parse_requirements_txt(file_contents)
|
14
15
|
elsif filename.match(/setup\.py$/)
|
16
|
+
file_contents = File.open(path).read
|
15
17
|
parse_setup_py(file_contents)
|
16
18
|
else
|
17
19
|
[]
|
@@ -8,14 +8,17 @@ module Bibliothecary
|
|
8
8
|
NAME_VERSION = '(?! )(.*?)(?: \(([^-]*)(?:-(.*))?\))?'.freeze
|
9
9
|
NAME_VERSION_4 = /^ {4}#{NAME_VERSION}$/
|
10
10
|
|
11
|
-
def self.parse(filename,
|
11
|
+
def self.parse(filename, path)
|
12
12
|
if filename.match(/^Gemfile$|^gems\.rb$/)
|
13
|
+
file_contents = File.open(path).read
|
13
14
|
manifest = Gemnasium::Parser.send(:gemfile, file_contents)
|
14
15
|
parse_manifest(manifest)
|
15
16
|
elsif filename.match(/[A-Za-z0-9_-]+\.gemspec$/)
|
17
|
+
file_contents = File.open(path).read
|
16
18
|
manifest = Gemnasium::Parser.send(:gemspec, file_contents)
|
17
19
|
parse_manifest(manifest)
|
18
20
|
elsif filename.match(/^Gemfile\.lock$|^gems\.locked$/)
|
21
|
+
file_contents = File.open(path).read
|
19
22
|
parse_gemfile_lock(file_contents)
|
20
23
|
else
|
21
24
|
[]
|
@@ -5,11 +5,13 @@ module Bibliothecary
|
|
5
5
|
class Shard
|
6
6
|
include Bibliothecary::Analyser
|
7
7
|
|
8
|
-
def self.parse(filename,
|
8
|
+
def self.parse(filename, path)
|
9
9
|
if filename.match(/^shard\.yml$/i)
|
10
|
+
file_contents = File.open(path).read
|
10
11
|
yaml = YAML.load file_contents
|
11
12
|
parse_yaml_manifest(yaml)
|
12
13
|
elsif filename.match(/^shard\.lock$/i)
|
14
|
+
file_contents = File.open(path).read
|
13
15
|
yaml = YAML.load file_contents
|
14
16
|
parse_yaml_lockfile(yaml)
|
15
17
|
else
|
@@ -3,8 +3,9 @@ module Bibliothecary
|
|
3
3
|
class Swift
|
4
4
|
include Bibliothecary::Analyser
|
5
5
|
|
6
|
-
def self.parse(filename,
|
6
|
+
def self.parse(filename, path)
|
7
7
|
if filename.match(/^Package\.swift$/i)
|
8
|
+
file_contents = File.open(path).read
|
8
9
|
parse_package_swift(file_contents)
|
9
10
|
else
|
10
11
|
[]
|