bibliothecary 5.3.4 → 5.4.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/bibliothecary.gemspec +1 -1
- data/lib/bibliothecary/analyser.rb +20 -0
- data/lib/bibliothecary/parsers/bower.rb +0 -10
- data/lib/bibliothecary/parsers/cargo.rb +3 -3
- data/lib/bibliothecary/parsers/cpan.rb +0 -10
- data/lib/bibliothecary/parsers/dub.rb +1 -16
- data/lib/bibliothecary/parsers/elm.rb +1 -16
- data/lib/bibliothecary/parsers/haxelib.rb +18 -0
- data/lib/bibliothecary/parsers/meteor.rb +1 -16
- data/lib/bibliothecary/parsers/npm.rb +0 -10
- data/lib/bibliothecary/parsers/nuget.rb +1 -12
- data/lib/bibliothecary/parsers/packagist.rb +0 -10
- data/lib/bibliothecary/parsers/pub.rb +0 -10
- data/lib/bibliothecary/parsers/pypi.rb +1 -1
- data/lib/bibliothecary/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 55f3b8b100c7062b5bf99ae28ed96a3ec829d84b
|
|
4
|
+
data.tar.gz: c0335df69f289ad093a836bf594283a59e135928
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 030ed2e020f7d72a8ef1ea37ad5d709a080d04f7d8ee7b6fb36de87d1b6a583a0ce6235c777ce726f3b150be7b5b835e0a22bd8ac7c39a03669cfa9ac6d12f75
|
|
7
|
+
data.tar.gz: c16e95e0eec887b7972c56e02d91de4b62747d4bb89bf7e72826755cb42040073ed8686dc16989bc318596317554b463df9c283c821de20bdd160d506d488bb8
|
data/bibliothecary.gemspec
CHANGED
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
19
19
|
spec.require_paths = ["lib"]
|
|
20
20
|
|
|
21
|
-
spec.add_dependency "toml-rb", "~> 0
|
|
21
|
+
spec.add_dependency "toml-rb", "~> 1.0"
|
|
22
22
|
spec.add_dependency "librariesio-gem-parser"
|
|
23
23
|
spec.add_dependency "ox"
|
|
24
24
|
spec.add_dependency "typhoeus"
|
|
@@ -21,6 +21,26 @@ module Bibliothecary
|
|
|
21
21
|
self.name.to_s.split('::').last.downcase
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
def parse_json_runtime_manifest(file_contents)
|
|
25
|
+
JSON.parse(file_contents).fetch('dependencies',[]).map do |name, requirement|
|
|
26
|
+
{
|
|
27
|
+
name: name,
|
|
28
|
+
requirement: requirement,
|
|
29
|
+
type: 'runtime'
|
|
30
|
+
}
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def map_dependencies(hash, key, type)
|
|
35
|
+
hash.fetch(key,[]).map do |name, requirement|
|
|
36
|
+
{
|
|
37
|
+
name: name,
|
|
38
|
+
requirement: requirement,
|
|
39
|
+
type: type
|
|
40
|
+
}
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
24
44
|
def analyse(folder_path, file_list)
|
|
25
45
|
file_list.map do |path|
|
|
26
46
|
filename = path.gsub(folder_path, '').gsub(/^\//, '')
|
|
@@ -19,16 +19,6 @@ module Bibliothecary
|
|
|
19
19
|
map_dependencies(json, 'dependencies', 'runtime') +
|
|
20
20
|
map_dependencies(json, 'devDependencies', 'development')
|
|
21
21
|
end
|
|
22
|
-
|
|
23
|
-
def self.map_dependencies(hash, key, type)
|
|
24
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
25
|
-
{
|
|
26
|
-
name: name,
|
|
27
|
-
requirement: requirement,
|
|
28
|
-
type: type
|
|
29
|
-
}
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
22
|
end
|
|
33
23
|
end
|
|
34
24
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require 'toml'
|
|
1
|
+
require 'toml-rb'
|
|
2
2
|
|
|
3
3
|
module Bibliothecary
|
|
4
4
|
module Parsers
|
|
@@ -19,7 +19,7 @@ module Bibliothecary
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def self.parse_manifest(file_contents)
|
|
22
|
-
manifest =
|
|
22
|
+
manifest = TomlRB.parse(file_contents)
|
|
23
23
|
manifest.fetch('dependencies', []).map do |name, requirement|
|
|
24
24
|
if requirement.respond_to?(:fetch)
|
|
25
25
|
requirement = requirement['version'] or next
|
|
@@ -34,7 +34,7 @@ module Bibliothecary
|
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def self.parse_lockfile(file_contents)
|
|
37
|
-
manifest =
|
|
37
|
+
manifest = TomlRB.parse(file_contents)
|
|
38
38
|
manifest.fetch('package',[]).map do |dependency|
|
|
39
39
|
next if not dependency['source'] or not dependency['source'].start_with?('registry+')
|
|
40
40
|
{
|
|
@@ -30,16 +30,6 @@ module Bibliothecary
|
|
|
30
30
|
manifest = YAML.load file_contents
|
|
31
31
|
map_dependencies(manifest, 'requires', 'runtime')
|
|
32
32
|
end
|
|
33
|
-
|
|
34
|
-
def self.map_dependencies(hash, key, type)
|
|
35
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
36
|
-
{
|
|
37
|
-
name: name,
|
|
38
|
-
requirement: requirement,
|
|
39
|
-
type: type
|
|
40
|
-
}
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
33
|
end
|
|
44
34
|
end
|
|
45
35
|
end
|
|
@@ -10,7 +10,7 @@ module Bibliothecary
|
|
|
10
10
|
{
|
|
11
11
|
/^dub\.json$/ => {
|
|
12
12
|
kind: 'manifest',
|
|
13
|
-
parser: :
|
|
13
|
+
parser: :parse_json_runtime_manifest
|
|
14
14
|
},
|
|
15
15
|
/^dub\.sdl$/ => {
|
|
16
16
|
kind: 'manifest',
|
|
@@ -19,24 +19,9 @@ module Bibliothecary
|
|
|
19
19
|
}
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
def self.parse_manifest(file_contents)
|
|
23
|
-
manifest = JSON.parse(file_contents)
|
|
24
|
-
map_dependencies(manifest, 'dependencies', 'runtime')
|
|
25
|
-
end
|
|
26
|
-
|
|
27
22
|
def self.parse_sdl_manifest(manifest)
|
|
28
23
|
SdlParser.new(:runtime, manifest).dependencies
|
|
29
24
|
end
|
|
30
|
-
|
|
31
|
-
def self.map_dependencies(hash, key, type)
|
|
32
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
33
|
-
{
|
|
34
|
-
name: name,
|
|
35
|
-
requirement: requirement,
|
|
36
|
-
type: type
|
|
37
|
-
}
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
25
|
end
|
|
41
26
|
end
|
|
42
27
|
end
|
|
@@ -9,7 +9,7 @@ module Bibliothecary
|
|
|
9
9
|
{
|
|
10
10
|
/^elm-package\.json$|^elm_dependencies\.json$/ => {
|
|
11
11
|
kind: 'manifest',
|
|
12
|
-
parser: :
|
|
12
|
+
parser: :parse_json_runtime_manifest
|
|
13
13
|
},
|
|
14
14
|
/^elm-stuff\/exact-dependencies\.json$/ => {
|
|
15
15
|
kind: 'lockfile',
|
|
@@ -18,11 +18,6 @@ module Bibliothecary
|
|
|
18
18
|
}
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
def self.parse_json_manifest(file_contents)
|
|
22
|
-
manifest = JSON.parse file_contents
|
|
23
|
-
map_dependencies(manifest, 'dependencies', 'runtime')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
21
|
def self.parse_json_lock(file_contents)
|
|
27
22
|
manifest = JSON.parse file_contents
|
|
28
23
|
manifest.map do |name, requirement|
|
|
@@ -33,16 +28,6 @@ module Bibliothecary
|
|
|
33
28
|
}
|
|
34
29
|
end
|
|
35
30
|
end
|
|
36
|
-
|
|
37
|
-
def self.map_dependencies(hash, key, type)
|
|
38
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
39
|
-
{
|
|
40
|
-
name: name,
|
|
41
|
-
requirement: requirement,
|
|
42
|
-
type: type
|
|
43
|
-
}
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
31
|
end
|
|
47
32
|
end
|
|
48
33
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
|
|
3
|
+
module Bibliothecary
|
|
4
|
+
module Parsers
|
|
5
|
+
class Haxelib
|
|
6
|
+
include Bibliothecary::Analyser
|
|
7
|
+
|
|
8
|
+
def self.mapping
|
|
9
|
+
{
|
|
10
|
+
/^haxelib\.json$/ => {
|
|
11
|
+
kind: 'manifest',
|
|
12
|
+
parser: :parse_json_runtime_manifest
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -9,25 +9,10 @@ module Bibliothecary
|
|
|
9
9
|
{
|
|
10
10
|
/^versions\.json$/ => {
|
|
11
11
|
kind: 'manifest',
|
|
12
|
-
parser: :
|
|
12
|
+
parser: :parse_json_runtime_manifest
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
end
|
|
16
|
-
|
|
17
|
-
def self.parse_manifest(file_contents)
|
|
18
|
-
manifest = JSON.parse(file_contents)
|
|
19
|
-
map_dependencies(manifest, 'dependencies', 'runtime')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def self.map_dependencies(hash, key, type)
|
|
23
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
24
|
-
{
|
|
25
|
-
name: name,
|
|
26
|
-
requirement: requirement,
|
|
27
|
-
type: type
|
|
28
|
-
}
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
16
|
end
|
|
32
17
|
end
|
|
33
18
|
end
|
|
@@ -59,16 +59,6 @@ module Bibliothecary
|
|
|
59
59
|
return [] unless response.response_code == 200
|
|
60
60
|
JSON.parse(response.body)
|
|
61
61
|
end
|
|
62
|
-
|
|
63
|
-
def self.map_dependencies(hash, key, type)
|
|
64
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
65
|
-
{
|
|
66
|
-
name: name,
|
|
67
|
-
requirement: requirement,
|
|
68
|
-
type: type
|
|
69
|
-
}
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
62
|
end
|
|
73
63
|
end
|
|
74
64
|
end
|
|
@@ -10,7 +10,7 @@ module Bibliothecary
|
|
|
10
10
|
{
|
|
11
11
|
/Project\.json$/ => {
|
|
12
12
|
kind: 'manifest',
|
|
13
|
-
parser: :
|
|
13
|
+
parser: :parse_json_runtime_manifest
|
|
14
14
|
},
|
|
15
15
|
/Project\.lock\.json$/ => {
|
|
16
16
|
kind: 'lockfile',
|
|
@@ -35,17 +35,6 @@ module Bibliothecary
|
|
|
35
35
|
}
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def self.parse_project_json(file_contents)
|
|
39
|
-
manifest = JSON.parse file_contents
|
|
40
|
-
manifest.fetch('dependencies',[]).map do |name, requirement|
|
|
41
|
-
{
|
|
42
|
-
name: name,
|
|
43
|
-
requirement: requirement,
|
|
44
|
-
type: 'runtime'
|
|
45
|
-
}
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
38
|
def self.parse_project_lock_json(file_contents)
|
|
50
39
|
manifest = JSON.parse file_contents
|
|
51
40
|
manifest.fetch('libraries',[]).map do |name, _requirement|
|
|
@@ -34,16 +34,6 @@ module Bibliothecary
|
|
|
34
34
|
map_dependencies(manifest, 'require', 'runtime') +
|
|
35
35
|
map_dependencies(manifest, 'require-dev', 'development')
|
|
36
36
|
end
|
|
37
|
-
|
|
38
|
-
def self.map_dependencies(hash, key, type)
|
|
39
|
-
hash.fetch(key,[]).map do |name, requirement|
|
|
40
|
-
{
|
|
41
|
-
name: name,
|
|
42
|
-
requirement: requirement,
|
|
43
|
-
type: type
|
|
44
|
-
}
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
37
|
end
|
|
48
38
|
end
|
|
49
39
|
end
|
|
@@ -29,7 +29,7 @@ module Bibliothecary
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def self.parse_pipfile(file_contents)
|
|
32
|
-
manifest =
|
|
32
|
+
manifest = TomlRB.parse(file_contents)
|
|
33
33
|
map_dependencies(manifest['packages'], 'runtime') + map_dependencies(manifest['dev-packages'], 'develop')
|
|
34
34
|
end
|
|
35
35
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bibliothecary
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Nesbitt
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-07-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: toml-rb
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0
|
|
19
|
+
version: '1.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0
|
|
26
|
+
version: '1.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: librariesio-gem-parser
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -172,6 +172,7 @@ files:
|
|
|
172
172
|
- lib/bibliothecary/parsers/dub.rb
|
|
173
173
|
- lib/bibliothecary/parsers/elm.rb
|
|
174
174
|
- lib/bibliothecary/parsers/go.rb
|
|
175
|
+
- lib/bibliothecary/parsers/haxelib.rb
|
|
175
176
|
- lib/bibliothecary/parsers/hex.rb
|
|
176
177
|
- lib/bibliothecary/parsers/julia.rb
|
|
177
178
|
- lib/bibliothecary/parsers/maven.rb
|