danger-wcc 0.1.1 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c6061afcb81994d044747055b405da083c2a8f68
4
- data.tar.gz: 9113729ee91c5f20f20bcbdc7dc193c8767a4118
2
+ SHA256:
3
+ metadata.gz: a453b0e7855e187bb2b99a3e8dfae08ebea992ec6b3eb1a889698f2eba91bd1c
4
+ data.tar.gz: 01634fb5d565a326dc05c16a65e034b35725485a6ffbd154e9d816455e8a610e
5
5
  SHA512:
6
- metadata.gz: 1912d4617cea797c14e831c2fe0ba7669b85153944169f1345611eca4e4c4b6de6c3963f3735d6b1e1e51a76c29d2756534b59edbef3f15f0c56e2c78288ba3b
7
- data.tar.gz: cabc48b95b641fdc38a403e6587788d5268a2c6325ab9542252e203c7fbb4968961e1d2bce2e3210804c5b343732b6575eee311f53194187234aeae88caaaa49
6
+ metadata.gz: 27e81934539ed28e1cf93e8f8cd47f827d091306b346af3facce7eaf928831cacd93e80460b098a320dc6e4dcd0d78cb07496a6ecf4b5bae0e62e0fc4df4c518
7
+ data.tar.gz: 7eadba11fe6561c2cb0a263c4f2abee021c73c8bbab49583cd152195d530d51c486ecbd3da5d4b9b79aedf514bb0752cd8a7eafd4cd61c3fcca1d6496431376e
data/.circleci/config.yml CHANGED
@@ -2,7 +2,7 @@ version: 2
2
2
  jobs:
3
3
  build:
4
4
  docker:
5
- - image: circleci/ruby:2.3.3-node
5
+ - image: cimg/ruby:2.7.6-node
6
6
  environment:
7
7
  RAILS_ENV: test
8
8
  steps:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.3
1
+ 2.7.6
data/Gemfile.lock ADDED
@@ -0,0 +1,235 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ danger-wcc (0.1.4)
5
+ activesupport (>= 4)
6
+ danger-plugin-api (~> 1.0)
7
+ git_diff (~> 0.4)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activesupport (7.0.3)
13
+ concurrent-ruby (~> 1.0, >= 1.0.2)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ addressable (2.7.0)
18
+ public_suffix (>= 2.0.2, < 5.0)
19
+ ast (2.4.1)
20
+ axiom-types (0.1.1)
21
+ descendants_tracker (~> 0.0.4)
22
+ ice_nine (~> 0.11.0)
23
+ thread_safe (~> 0.3, >= 0.3.1)
24
+ brakeman (4.9.0)
25
+ claide (1.1.0)
26
+ claide-plugins (0.9.2)
27
+ cork
28
+ nap
29
+ open4 (~> 1.3)
30
+ codeclimate-engine-rb (0.4.1)
31
+ virtus (~> 1.0)
32
+ coderay (1.1.3)
33
+ coercible (1.0.0)
34
+ descendants_tracker (~> 0.0.1)
35
+ colored2 (3.1.2)
36
+ concurrent-ruby (1.1.10)
37
+ cork (0.3.0)
38
+ colored2 (~> 3.1)
39
+ crack (0.4.3)
40
+ safe_yaml (~> 1.0.0)
41
+ danger (8.6.1)
42
+ claide (~> 1.0)
43
+ claide-plugins (>= 0.9.2)
44
+ colored2 (~> 3.1)
45
+ cork (~> 0.1)
46
+ faraday (>= 0.9.0, < 2.0)
47
+ faraday-http-cache (~> 2.0)
48
+ git (~> 1.7)
49
+ kramdown (~> 2.3)
50
+ kramdown-parser-gfm (~> 1.0)
51
+ no_proxy_fix
52
+ octokit (~> 4.7)
53
+ terminal-table (>= 1, < 4)
54
+ danger-plugin-api (1.0.0)
55
+ danger (> 2.0)
56
+ descendants_tracker (0.0.4)
57
+ thread_safe (~> 0.3, >= 0.3.1)
58
+ diff-lcs (1.4.4)
59
+ equalizer (0.0.11)
60
+ erubis (2.7.0)
61
+ faraday (1.10.0)
62
+ faraday-em_http (~> 1.0)
63
+ faraday-em_synchrony (~> 1.0)
64
+ faraday-excon (~> 1.1)
65
+ faraday-httpclient (~> 1.0)
66
+ faraday-multipart (~> 1.0)
67
+ faraday-net_http (~> 1.0)
68
+ faraday-net_http_persistent (~> 1.0)
69
+ faraday-patron (~> 1.0)
70
+ faraday-rack (~> 1.0)
71
+ faraday-retry (~> 1.0)
72
+ ruby2_keywords (>= 0.0.4)
73
+ faraday-em_http (1.0.0)
74
+ faraday-em_synchrony (1.0.0)
75
+ faraday-excon (1.1.0)
76
+ faraday-http-cache (2.2.0)
77
+ faraday (>= 0.8)
78
+ faraday-httpclient (1.0.1)
79
+ faraday-multipart (1.0.3)
80
+ multipart-post (>= 1.2, < 3)
81
+ faraday-net_http (1.0.1)
82
+ faraday-net_http_persistent (1.2.0)
83
+ faraday-patron (1.0.0)
84
+ faraday-rack (1.0.0)
85
+ faraday-retry (1.0.3)
86
+ ffi (1.13.1)
87
+ flay (2.12.1)
88
+ erubis (~> 2.7.0)
89
+ path_expander (~> 1.0)
90
+ ruby_parser (~> 3.0)
91
+ sexp_processor (~> 4.0)
92
+ formatador (0.2.5)
93
+ git (1.11.0)
94
+ rchardet (~> 1.8)
95
+ git_diff (0.4.3)
96
+ guard (2.16.2)
97
+ formatador (>= 0.2.4)
98
+ listen (>= 2.7, < 4.0)
99
+ lumberjack (>= 1.0.12, < 2.0)
100
+ nenv (~> 0.1)
101
+ notiffany (~> 0.0)
102
+ pry (>= 0.9.12)
103
+ shellany (~> 0.0)
104
+ thor (>= 0.18.1)
105
+ guard-compat (1.2.1)
106
+ guard-rspec (4.7.3)
107
+ guard (~> 2.1)
108
+ guard-compat (~> 1.1)
109
+ rspec (>= 2.99.0, < 4.0)
110
+ guard-rubocop (1.3.0)
111
+ guard (~> 2.0)
112
+ rubocop (~> 0.20)
113
+ hashdiff (1.0.1)
114
+ i18n (1.10.0)
115
+ concurrent-ruby (~> 1.0)
116
+ ice_nine (0.11.2)
117
+ jaro_winkler (1.5.4)
118
+ kramdown (2.4.0)
119
+ rexml
120
+ kramdown-parser-gfm (1.1.0)
121
+ kramdown (~> 2.0)
122
+ kwalify (0.7.2)
123
+ listen (3.0.7)
124
+ rb-fsevent (>= 0.9.3)
125
+ rb-inotify (>= 0.9.7)
126
+ lumberjack (1.2.7)
127
+ method_source (1.0.0)
128
+ minitest (5.15.0)
129
+ multipart-post (2.1.1)
130
+ nap (1.1.0)
131
+ nenv (0.3.0)
132
+ no_proxy_fix (0.1.2)
133
+ notiffany (0.1.3)
134
+ nenv (~> 0.1)
135
+ shellany (~> 0.0)
136
+ octokit (4.22.0)
137
+ faraday (>= 0.9)
138
+ sawyer (~> 0.8.0, >= 0.5.3)
139
+ open4 (1.3.4)
140
+ parallel (1.19.2)
141
+ parser (2.7.1.4)
142
+ ast (~> 2.4.1)
143
+ path_expander (1.1.0)
144
+ pry (0.13.1)
145
+ coderay (~> 1.1)
146
+ method_source (~> 1.0)
147
+ psych (3.1.0)
148
+ public_suffix (4.0.5)
149
+ rainbow (3.0.0)
150
+ rake (10.5.0)
151
+ rb-fsevent (0.10.4)
152
+ rb-inotify (0.10.1)
153
+ ffi (~> 1.0)
154
+ rchardet (1.8.0)
155
+ reek (5.6.0)
156
+ codeclimate-engine-rb (~> 0.4.0)
157
+ kwalify (~> 0.7.0)
158
+ parser (>= 2.5.0.0, < 2.8, != 2.5.1.1)
159
+ psych (~> 3.1.0)
160
+ rainbow (>= 2.0, < 4.0)
161
+ rexml (3.2.4)
162
+ rspec (3.9.0)
163
+ rspec-core (~> 3.9.0)
164
+ rspec-expectations (~> 3.9.0)
165
+ rspec-mocks (~> 3.9.0)
166
+ rspec-core (3.9.2)
167
+ rspec-support (~> 3.9.3)
168
+ rspec-expectations (3.9.2)
169
+ diff-lcs (>= 1.2.0, < 2.0)
170
+ rspec-support (~> 3.9.0)
171
+ rspec-mocks (3.9.1)
172
+ diff-lcs (>= 1.2.0, < 2.0)
173
+ rspec-support (~> 3.9.0)
174
+ rspec-support (3.9.3)
175
+ rspec_junit_formatter (0.3.0)
176
+ rspec-core (>= 2, < 4, != 2.12.0)
177
+ rubocop (0.81.0)
178
+ jaro_winkler (~> 1.5.1)
179
+ parallel (~> 1.10)
180
+ parser (>= 2.7.0.1)
181
+ rainbow (>= 2.2.2, < 4.0)
182
+ rexml
183
+ ruby-progressbar (~> 1.7)
184
+ unicode-display_width (>= 1.4.0, < 2.0)
185
+ ruby-progressbar (1.10.1)
186
+ ruby2_keywords (0.0.5)
187
+ ruby_parser (3.14.2)
188
+ sexp_processor (~> 4.9)
189
+ safe_yaml (1.0.5)
190
+ sawyer (0.8.2)
191
+ addressable (>= 2.3.5)
192
+ faraday (> 0.8, < 2.0)
193
+ sexp_processor (4.15.0)
194
+ shellany (0.0.1)
195
+ terminal-table (3.0.2)
196
+ unicode-display_width (>= 1.1.1, < 3)
197
+ thor (1.0.1)
198
+ thread_safe (0.3.6)
199
+ tzinfo (2.0.4)
200
+ concurrent-ruby (~> 1.0)
201
+ unicode-display_width (1.7.0)
202
+ virtus (1.0.5)
203
+ axiom-types (~> 0.1)
204
+ coercible (~> 1.0)
205
+ descendants_tracker (~> 0.0, >= 0.0.3)
206
+ equalizer (~> 0.0, >= 0.0.9)
207
+ webmock (3.8.3)
208
+ addressable (>= 2.3.6)
209
+ crack (>= 0.3.2)
210
+ hashdiff (>= 0.4.0, < 2.0.0)
211
+ yard (0.9.25)
212
+
213
+ PLATFORMS
214
+ ruby
215
+
216
+ DEPENDENCIES
217
+ brakeman
218
+ bundler (~> 1.3)
219
+ danger-wcc!
220
+ flay
221
+ guard (~> 2.14)
222
+ guard-rspec (~> 4.7)
223
+ guard-rubocop (~> 1.3.0)
224
+ listen (= 3.0.7)
225
+ pry
226
+ rake (~> 10.0)
227
+ reek
228
+ rspec (~> 3.4)
229
+ rspec_junit_formatter (~> 0.3.0)
230
+ rubocop (~> 0.81)
231
+ webmock (~> 3.1)
232
+ yard
233
+
234
+ BUNDLED WITH
235
+ 1.17.3
data/danger-wcc.gemspec CHANGED
@@ -19,12 +19,14 @@ Gem::Specification.new do |spec|
19
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_runtime_dependency 'activesupport', '> 5'
23
- spec.add_runtime_dependency 'brakeman'
22
+ spec.add_runtime_dependency 'activesupport', '>= 4'
24
23
  spec.add_runtime_dependency 'danger-plugin-api', '~> 1.0'
25
- spec.add_runtime_dependency 'flay'
26
24
  spec.add_runtime_dependency 'git_diff', '~> 0.4'
27
- spec.add_runtime_dependency 'reek'
25
+
26
+ # Optional dependencies
27
+ spec.add_development_dependency 'brakeman'
28
+ spec.add_development_dependency 'flay'
29
+ spec.add_development_dependency 'reek'
28
30
 
29
31
  # General ruby development
30
32
  spec.add_development_dependency 'bundler', '~> 1.3'
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DangerWCC
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.4'
5
5
  end
@@ -6,9 +6,23 @@ class Danger::DangerWCC::Util
6
6
  @yarn_lock ||= File.readlines(@options[:lockfile] || 'yarn.lock')
7
7
  end
8
8
 
9
- def package_json_dependencies
9
+ def package_json_dependencies # rubocop:disable Metrics/AbcSize
10
10
  @package_json_dependencies ||=
11
- JSON.parse(File.read('package.json'))['dependencies']&.keys || []
11
+ begin
12
+ root = JSON.parse(File.read('package.json'))
13
+ (root['dependencies']&.keys || []).tap do |deps|
14
+ workspaces = root['workspaces']
15
+ next unless workspaces && !workspaces.empty?
16
+
17
+ # Add in deps from all workspaces
18
+ workspaces.each do |ws|
19
+ Dir.glob(File.join(ws, 'package.json')).each do |package_file|
20
+ d = JSON.parse(File.read(package_file))['dependencies']&.keys
21
+ deps.concat(d || [])
22
+ end
23
+ end
24
+ end
25
+ end
12
26
  end
13
27
 
14
28
  def package_json_changes
@@ -48,15 +48,14 @@ class Danger::DangerWCC < Danger::Plugin
48
48
  warning = line.content.match(DEDUPE_REGEXP)
49
49
  return unless warning
50
50
 
51
- pkg, semver, wanted, got = warning.captures
51
+ pkg, _semver, wanted, got = warning.captures
52
52
 
53
53
  idx = yarn_info.find_index_in_lockfile(
54
54
  pkg, got
55
55
  )
56
56
  msg = <<~HEREDOC
57
57
  You have an opportunity to deduplicate "#{pkg}".
58
- It wants #{semver} and could unify with #{wanted}, but instead #{got}
59
- was installed alongside it.
58
+ It's using #{got} but could use the existing version #{wanted}.
60
59
 
61
60
  You can fix this by running :
62
61
  `npx yarn-deduplicate -s fewer --packages "#{pkg}"`
@@ -22,6 +22,7 @@ module Danger
22
22
  .and_return(load_fixture('dependencies/yarn.lock').split("\n"))
23
23
  allow(File).to receive(:read).with('package.json')
24
24
  .and_return(load_fixture('dependencies/package.json'))
25
+ allow(Dir).to receive(:glob).and_return([])
25
26
  end
26
27
 
27
28
  describe 'yarn dependencies' do
@@ -40,8 +40,8 @@ module Danger
40
40
  expect(warnings[0].message)
41
41
  .to include('You have an opportunity to deduplicate "@babel/core".')
42
42
  expect(warnings[0].message)
43
- .to include('It wants >=7.1.0 and could unify with 7.12.10,'\
44
- ' but instead 7.4.0')
43
+ .to include('It\'s using 7.4.0 but could use the existing version '\
44
+ '7.12.10.')
45
45
  expect(warnings[0].message)
46
46
  .to include('npx yarn-deduplicate -s fewer --packages "@babel/core"')
47
47
  expect(warnings[0].file).to eq('yarn.lock')
metadata CHANGED
@@ -1,65 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-wcc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watermark Dev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-11 00:00:00.000000000 Z
11
+ date: 2022-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5'
19
+ version: '4'
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: '5'
26
+ version: '4'
27
27
  - !ruby/object:Gem::Dependency
28
- name: brakeman
28
+ name: danger-plugin-api
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: danger-plugin-api
42
+ name: git_diff
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: '0.4'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: '0.4'
55
55
  - !ruby/object:Gem::Dependency
56
- name: flay
56
+ name: brakeman
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- type: :runtime
62
+ type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -67,19 +67,19 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: git_diff
70
+ name: flay
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '0.4'
76
- type: :runtime
75
+ version: '0'
76
+ type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '0.4'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: reek
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -87,7 +87,7 @@ dependencies:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
- type: :runtime
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
@@ -276,6 +276,7 @@ files:
276
276
  - ".travis.yml"
277
277
  - Dangerfile
278
278
  - Gemfile
279
+ - Gemfile.lock
279
280
  - Guardfile
280
281
  - LICENSE
281
282
  - README.md
@@ -369,7 +370,7 @@ homepage: https://github.com/watermarkchurch/danger-wcc
369
370
  licenses:
370
371
  - Apache-2.0
371
372
  metadata: {}
372
- post_install_message:
373
+ post_install_message:
373
374
  rdoc_options: []
374
375
  require_paths:
375
376
  - lib
@@ -384,9 +385,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
384
385
  - !ruby/object:Gem::Version
385
386
  version: '0'
386
387
  requirements: []
387
- rubyforge_project:
388
- rubygems_version: 2.5.2
389
- signing_key:
388
+ rubygems_version: 3.1.6
389
+ signing_key:
390
390
  specification_version: 4
391
391
  summary: A Danger plugin for Watermark Church custom rules.
392
392
  test_files: