usedby 0.4.1 → 0.5.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/README.md +17 -51
- data/lib/usedby/cli.rb +25 -5
- data/lib/usedby/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '08bffb7fcf4031b05950ca7575df9c788e1e6f588c9456233e38e4421e8ff9f4'
|
|
4
|
+
data.tar.gz: 61cc80ee5a51e964511ba496148386de9b33fed134f2374ccfcea48fd0480d19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 148599e01faae245036e694fd0beda4a2d428d81f5f624af7fd45f8595fc9be7d39adc81796f461c4de2b2917f1cc5e557d8bc4a941c4610245b77f6027b4cd5
|
|
7
|
+
data.tar.gz: 22f66d1ee3dccef243e9109488b7f68515c0e8218ad8aab5be3acc0aa513fe990faea8130f15c455a186652340a544a85ca54ef41a2914e7020d27be7b6babf1
|
data/README.md
CHANGED
|
@@ -19,12 +19,12 @@ gem install usedby
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
|
-
usedby GITHUB_ORGANIZATION [--direct] [--gems GEM1,GEM2,GEM3]
|
|
22
|
+
usedby GITHUB_ORGANIZATION [--direct] [--gems GEM1,GEM2,GEM3] [--order gems|projects]
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
You will be securely prompted for a [GitHub Personal Access Token](https://github.com/settings/tokens).
|
|
26
26
|
|
|
27
|
-
For example, running `usedby rails --
|
|
27
|
+
For example, running `usedby rails --gems railties,rake --order gems` produces output
|
|
28
28
|
like the following:
|
|
29
29
|
|
|
30
30
|
```json
|
|
@@ -35,65 +35,31 @@ like the following:
|
|
|
35
35
|
],
|
|
36
36
|
"4.0.0": [
|
|
37
37
|
"prototype-rails/Gemfile.lock"
|
|
38
|
-
],
|
|
39
|
-
"4.2.1": [
|
|
40
|
-
"rails-perftest/Gemfile.lock"
|
|
41
|
-
],
|
|
42
|
-
"4.2.10": [
|
|
43
|
-
"rails-docs-server/test/fixtures/releases/v4.2.10/Gemfile.lock"
|
|
44
|
-
],
|
|
45
|
-
"5.1.1": [
|
|
46
|
-
"actioncable-examples/Gemfile.lock"
|
|
47
|
-
],
|
|
48
|
-
"5.2.1": [
|
|
49
|
-
"rails_fast_attributes/Gemfile.lock"
|
|
50
|
-
],
|
|
51
|
-
"5.2.2": [
|
|
52
|
-
"globalid/Gemfile.lock"
|
|
53
|
-
],
|
|
54
|
-
"6.0.1": [
|
|
55
|
-
"webpacker/Gemfile.lock"
|
|
56
|
-
],
|
|
57
|
-
"6.0.2.1": [
|
|
58
|
-
"rails-contributors/Gemfile.lock"
|
|
59
|
-
],
|
|
60
|
-
"6.1.0.alpha": [
|
|
61
|
-
"rails/Gemfile.lock"
|
|
62
38
|
]
|
|
63
39
|
},
|
|
64
40
|
"rake": {
|
|
65
41
|
"0.9.2.2": [
|
|
66
|
-
"commands/Gemfile.lock",
|
|
67
|
-
"etagger/Gemfile.lock",
|
|
68
42
|
"routing_concerns/Gemfile.lock"
|
|
69
43
|
],
|
|
70
44
|
"10.1.0": [
|
|
71
45
|
"prototype-rails/Gemfile.lock"
|
|
72
|
-
],
|
|
73
|
-
"10.4.2": [
|
|
74
|
-
"jquery-ujs/Gemfile.lock",
|
|
75
|
-
"rails-perftest/Gemfile.lock"
|
|
76
|
-
],
|
|
77
|
-
"10.5.0": [
|
|
78
|
-
"rails_fast_attributes/Gemfile.lock",
|
|
79
|
-
"record_tag_helper/Gemfile.lock"
|
|
80
|
-
],
|
|
81
|
-
"12.0.0": [
|
|
82
|
-
"actioncable-examples/Gemfile.lock",
|
|
83
|
-
"rails-docs-server/test/fixtures/releases/v4.2.10/Gemfile.lock",
|
|
84
|
-
"rails-dom-testing/Gemfile.lock"
|
|
85
|
-
],
|
|
86
|
-
"12.3.2": [
|
|
87
|
-
"globalid/Gemfile.lock"
|
|
88
|
-
],
|
|
89
|
-
"13.0.0": [
|
|
90
|
-
"webpacker/Gemfile.lock"
|
|
91
|
-
],
|
|
92
|
-
"13.0.1": [
|
|
93
|
-
"rails-contributors/Gemfile.lock",
|
|
94
|
-
"rails/Gemfile.lock"
|
|
95
46
|
]
|
|
96
47
|
}
|
|
97
48
|
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
On the other hand, running `usedby rails --gems railties,rake --order projects` produces output
|
|
52
|
+
like the following:
|
|
98
53
|
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"prototype-rails": {
|
|
57
|
+
"railties": "4.0.0.beta",
|
|
58
|
+
"rake": "10.1.0"
|
|
59
|
+
},
|
|
60
|
+
"routing_concerns": {
|
|
61
|
+
"railties": "4.0.0.beta",
|
|
62
|
+
"rake": "0.9.2.2"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
99
65
|
```
|
data/lib/usedby/cli.rb
CHANGED
|
@@ -5,6 +5,7 @@ require 'io/console'
|
|
|
5
5
|
require 'json'
|
|
6
6
|
require 'optparse'
|
|
7
7
|
|
|
8
|
+
require 'bundler'
|
|
8
9
|
require 'octokit'
|
|
9
10
|
|
|
10
11
|
require 'usedby/version_ranges_intersection'
|
|
@@ -20,7 +21,6 @@ module Usedby
|
|
|
20
21
|
Usage: usedby [options] GITHUB_ORGANIZATION
|
|
21
22
|
USAGE
|
|
22
23
|
|
|
23
|
-
|
|
24
24
|
def run
|
|
25
25
|
parse_options
|
|
26
26
|
if ARGV.size != 1
|
|
@@ -48,7 +48,12 @@ module Usedby
|
|
|
48
48
|
merge!(gems, process_gemspec(content, "#{gemspec.repository.name}/#{gemspec.path}"))
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
case @options[:order]
|
|
52
|
+
when 'projects'
|
|
53
|
+
output_projects gems
|
|
54
|
+
else
|
|
55
|
+
output_gems gems
|
|
56
|
+
end
|
|
52
57
|
|
|
53
58
|
0
|
|
54
59
|
end
|
|
@@ -162,7 +167,7 @@ module Usedby
|
|
|
162
167
|
end
|
|
163
168
|
end
|
|
164
169
|
|
|
165
|
-
def
|
|
170
|
+
def output_gems(gems)
|
|
166
171
|
sorted_gems = {}
|
|
167
172
|
gems.sort.each do |gem, versions|
|
|
168
173
|
sorted_gems[gem] = {}
|
|
@@ -173,6 +178,19 @@ module Usedby
|
|
|
173
178
|
puts JSON.pretty_generate(sorted_gems)
|
|
174
179
|
end
|
|
175
180
|
|
|
181
|
+
def output_projects(gems)
|
|
182
|
+
sorted_projects = {}
|
|
183
|
+
gems.sort.each do |gem, versions|
|
|
184
|
+
versions.sort.each do |version, projects|
|
|
185
|
+
projects.sort.each do |project|
|
|
186
|
+
sorted_projects[project] ||= {}
|
|
187
|
+
sorted_projects[project][gem] = version_ranges_to_s(version)
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
puts JSON.pretty_generate(sorted_projects.sort.to_h)
|
|
192
|
+
end
|
|
193
|
+
|
|
176
194
|
def parse_options
|
|
177
195
|
@options = { direct: false, ignore_paths: [] }
|
|
178
196
|
OptionParser.new do |config|
|
|
@@ -183,14 +201,16 @@ module Usedby
|
|
|
183
201
|
end
|
|
184
202
|
config.on('-i', '--ignore-file [FILEPATH]',
|
|
185
203
|
'Ignore projects included in file.') do |ignore_file|
|
|
186
|
-
|
|
187
204
|
build_ignore_paths(@options[:ignore_paths], ignore_file)
|
|
188
205
|
end
|
|
189
206
|
config.on('-g', '--gems [GEM1,GEM2,GEM3]',
|
|
190
207
|
'Consider only given gems.') do |gems|
|
|
191
|
-
|
|
192
208
|
@options[:gems] = gems.split(',')
|
|
193
209
|
end
|
|
210
|
+
config.on('-o', '--order gems|projects',
|
|
211
|
+
'Order by gems or projects.') do |order|
|
|
212
|
+
@options[:order] = order
|
|
213
|
+
end
|
|
194
214
|
config.version = Usedby::VERSION
|
|
195
215
|
end.parse!
|
|
196
216
|
end
|
data/lib/usedby/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: usedby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- AppFolio, Inc.
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-02-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
@@ -75,7 +75,7 @@ homepage: https://github.com/appfolio/usedby
|
|
|
75
75
|
licenses:
|
|
76
76
|
- BSD-2-Clause
|
|
77
77
|
metadata: {}
|
|
78
|
-
post_install_message:
|
|
78
|
+
post_install_message:
|
|
79
79
|
rdoc_options: []
|
|
80
80
|
require_paths:
|
|
81
81
|
- lib
|
|
@@ -90,8 +90,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
90
90
|
- !ruby/object:Gem::Version
|
|
91
91
|
version: '0'
|
|
92
92
|
requirements: []
|
|
93
|
-
rubygems_version: 3.1.
|
|
94
|
-
signing_key:
|
|
93
|
+
rubygems_version: 3.1.6
|
|
94
|
+
signing_key:
|
|
95
95
|
specification_version: 4
|
|
96
96
|
summary: Discover all dependents of ruby gems across a github organization.
|
|
97
97
|
test_files: []
|