danger-wcc 0.0.6 → 0.1.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/danger-wcc.gemspec +1 -0
- data/lib/version.rb +1 -1
- data/lib/wcc/dependencies.rb +74 -0
- data/lib/wcc/dependencies/yarn_info.rb +83 -0
- data/lib/wcc/plugin.rb +8 -1
- data/lib/wcc/utils.rb +16 -4
- data/spec/fixtures/dependencies/package.json +112 -0
- data/spec/fixtures/dependencies/package.json.diff +28 -0
- data/spec/fixtures/dependencies/package.json_patch_bumps_minor.diff +13 -0
- data/spec/fixtures/dependencies/package.json_patch_bumps_minor.json +112 -0
- data/spec/fixtures/dependencies/yarn.lock +19609 -0
- data/spec/fixtures/dependencies/yarn.lock_patch_bumps_minor.lock +19614 -0
- data/spec/fixtures/dependencies/yarn_minor_version.diff +33 -0
- data/spec/fixtures/dependencies/yarn_minor_version.txt +1151 -0
- data/spec/fixtures/dependencies/yarn_old.txt +1152 -0
- data/spec/fixtures/dependencies/yarn_patch_bumps_minor.diff +28 -0
- data/spec/wcc/dependencies_spec.rb +95 -0
- data/spec/wcc/plugin_spec.rb +1 -1
- metadata +40 -2
@@ -0,0 +1,28 @@
|
|
1
|
+
diff --git a/spec/fixtures/dependencies/yarn_old.txt b/spec/fixtures/dependencies/yarn_old.txt
|
2
|
+
index 2fe9d0e..8ceb5eb 100644
|
3
|
+
--- a/spec/fixtures/dependencies/yarn_old.txt
|
4
|
+
+++ b/spec/fixtures/dependencies/yarn_old.txt
|
5
|
+
@@ -671,7 +671,7 @@ yarn list v1.22.4
|
6
|
+
├─ lodash.trimstart@4.5.1
|
7
|
+
├─ lodash.unescape@4.0.1
|
8
|
+
├─ lodash.uniq@4.5.0
|
9
|
+
-├─ lodash@4.17.15
|
10
|
+
+├─ lodash@4.18.1
|
11
|
+
├─ log-symbols@1.0.2
|
12
|
+
├─ log-update@1.0.2
|
13
|
+
├─ lolex@3.0.0
|
14
|
+
@@ -923,10 +923,10 @@ yarn list v1.22.4
|
15
|
+
├─ react-calendar@2.19.0
|
16
|
+
├─ react-dom@16.13.1
|
17
|
+
├─ react-infinite-scroller@1.2.2
|
18
|
+
-├─ react-instantsearch-core@5.3.2
|
19
|
+
-├─ react-instantsearch-dom@5.3.2
|
20
|
+
-├─ react-instantsearch-native@5.3.2
|
21
|
+
-├─ react-instantsearch@5.3.2
|
22
|
+
+├─ react-instantsearch-core@5.3.3
|
23
|
+
+├─ react-instantsearch-dom@5.3.3
|
24
|
+
+├─ react-instantsearch-native@5.3.3
|
25
|
+
+├─ react-instantsearch@5.3.3
|
26
|
+
├─ react-is@16.6.3
|
27
|
+
├─ react-lifecycles-compat@3.0.4
|
28
|
+
├─ react-property@1.0.1
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require File.expand_path('../spec_helper', __dir__)
|
4
|
+
|
5
|
+
module Danger
|
6
|
+
describe Danger::DangerWCC do
|
7
|
+
before do
|
8
|
+
@dangerfile = testing_dangerfile
|
9
|
+
@my_plugin = @dangerfile.wcc
|
10
|
+
@git = @dangerfile.git
|
11
|
+
@github = @dangerfile.github
|
12
|
+
|
13
|
+
allow(@github).to receive(:html_link) do |text|
|
14
|
+
"<a href=\"github_html_link\">#{text}</a>"
|
15
|
+
end
|
16
|
+
|
17
|
+
allow(File).to receive(:exist?).and_call_original
|
18
|
+
allow(File).to receive(:read).and_call_original
|
19
|
+
allow(File).to receive(:exist?).with('yarn.lock')
|
20
|
+
.and_return(true)
|
21
|
+
allow(File).to receive(:readlines).with('yarn.lock')
|
22
|
+
.and_return(load_fixture('dependencies/yarn.lock').split("\n"))
|
23
|
+
allow(File).to receive(:read).with('package.json')
|
24
|
+
.and_return(load_fixture('dependencies/package.json'))
|
25
|
+
end
|
26
|
+
|
27
|
+
describe 'yarn dependencies' do
|
28
|
+
let(:subject) { Danger::DangerWCC::Dependencies.new(@my_plugin) }
|
29
|
+
|
30
|
+
it 'Errors when minor version changes' do
|
31
|
+
allow(subject).to receive(:run_and_diff)
|
32
|
+
.with(/yarn list/)
|
33
|
+
.and_return(load_fixture('dependencies/yarn_minor_version.diff'))
|
34
|
+
allow(@git).to receive(:diff)
|
35
|
+
.and_return([
|
36
|
+
load_diff(
|
37
|
+
'spec/fixtures/dependencies/package.json',
|
38
|
+
'dependencies/package.json'
|
39
|
+
)
|
40
|
+
])
|
41
|
+
|
42
|
+
# act
|
43
|
+
subject.perform
|
44
|
+
|
45
|
+
expect(@dangerfile.violation_report[:errors])
|
46
|
+
.to eq([Violation.new(
|
47
|
+
'Dangerous change! react-instantsearch was updated '\
|
48
|
+
'from 5.3.2 to 5.7.0 without a corresponding '\
|
49
|
+
'change to package.json!',
|
50
|
+
false,
|
51
|
+
'yarn.lock',
|
52
|
+
15_613,
|
53
|
+
type: :error
|
54
|
+
)])
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'Errors when patch bump causes minor version changes' do
|
58
|
+
allow(File).to receive(:readlines).with('yarn.lock')
|
59
|
+
.and_return(
|
60
|
+
load_fixture('dependencies/yarn.lock_patch_bumps_minor.lock')
|
61
|
+
.split("\n")
|
62
|
+
)
|
63
|
+
|
64
|
+
allow(subject).to receive(:run_and_diff)
|
65
|
+
.with(/yarn list/)
|
66
|
+
.and_return(load_fixture('dependencies/yarn_patch_bumps_minor.diff'))
|
67
|
+
allow(@git).to receive(:diff)
|
68
|
+
.and_return(
|
69
|
+
[
|
70
|
+
load_diff(
|
71
|
+
'spec/fixtures/dependencies/'\
|
72
|
+
'package.json_patch_bumps_minor.json',
|
73
|
+
'dependencies/package.json_patch_bumps_minor'
|
74
|
+
)
|
75
|
+
]
|
76
|
+
)
|
77
|
+
|
78
|
+
# act
|
79
|
+
subject.perform
|
80
|
+
|
81
|
+
expect(@dangerfile.violation_report[:errors])
|
82
|
+
.to eq([Violation.new(
|
83
|
+
'Dangerous change! lodash was updated '\
|
84
|
+
'from 4.17.15 to 4.18.1 without a corresponding '\
|
85
|
+
'change to package.json!',
|
86
|
+
false,
|
87
|
+
'yarn.lock',
|
88
|
+
# make sure we pick out the right lodash! There's 3 of them.
|
89
|
+
12_111,
|
90
|
+
type: :error
|
91
|
+
)])
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
data/spec/wcc/plugin_spec.rb
CHANGED
@@ -17,7 +17,7 @@ module Danger
|
|
17
17
|
|
18
18
|
describe 'all' do
|
19
19
|
it 'runs all default and passes default options' do
|
20
|
-
%i[rubocop_exceptions flay todos brakeman].each do |check|
|
20
|
+
%i[rubocop_exceptions flay todos brakeman dependencies].each do |check|
|
21
21
|
expect(@my_plugin).to receive(check)
|
22
22
|
.with({})
|
23
23
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-wcc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Watermark Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '5'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '5'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: brakeman
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -279,6 +293,8 @@ files:
|
|
279
293
|
- lib/wcc/commit_lint/subject_words_check.rb
|
280
294
|
- lib/wcc/default.jshintrc
|
281
295
|
- lib/wcc/defaults.reek
|
296
|
+
- lib/wcc/dependencies.rb
|
297
|
+
- lib/wcc/dependencies/yarn_info.rb
|
282
298
|
- lib/wcc/github.rb
|
283
299
|
- lib/wcc/jshint.rb
|
284
300
|
- lib/wcc/plugin.rb
|
@@ -290,6 +306,16 @@ files:
|
|
290
306
|
- spec/fixtures/brakeman/b.tmp
|
291
307
|
- spec/fixtures/brakeman/brakeman.diff
|
292
308
|
- spec/fixtures/brakeman/brakeman.out
|
309
|
+
- spec/fixtures/dependencies/package.json
|
310
|
+
- spec/fixtures/dependencies/package.json.diff
|
311
|
+
- spec/fixtures/dependencies/package.json_patch_bumps_minor.diff
|
312
|
+
- spec/fixtures/dependencies/package.json_patch_bumps_minor.json
|
313
|
+
- spec/fixtures/dependencies/yarn.lock
|
314
|
+
- spec/fixtures/dependencies/yarn.lock_patch_bumps_minor.lock
|
315
|
+
- spec/fixtures/dependencies/yarn_minor_version.diff
|
316
|
+
- spec/fixtures/dependencies/yarn_minor_version.txt
|
317
|
+
- spec/fixtures/dependencies/yarn_old.txt
|
318
|
+
- spec/fixtures/dependencies/yarn_patch_bumps_minor.diff
|
293
319
|
- spec/fixtures/exception_context.diff
|
294
320
|
- spec/fixtures/exception_inline_disabled_rule.diff
|
295
321
|
- spec/fixtures/exception_insert_context.diff
|
@@ -319,6 +345,7 @@ files:
|
|
319
345
|
- spec/fixtures_helper.rb
|
320
346
|
- spec/spec_helper.rb
|
321
347
|
- spec/wcc/commit_lint_spec.rb
|
348
|
+
- spec/wcc/dependencies_spec.rb
|
322
349
|
- spec/wcc/github_spec.rb
|
323
350
|
- spec/wcc/jshint_spec.rb
|
324
351
|
- spec/wcc/plugin_spec.rb
|
@@ -356,6 +383,16 @@ test_files:
|
|
356
383
|
- spec/fixtures/brakeman/b.tmp
|
357
384
|
- spec/fixtures/brakeman/brakeman.diff
|
358
385
|
- spec/fixtures/brakeman/brakeman.out
|
386
|
+
- spec/fixtures/dependencies/package.json
|
387
|
+
- spec/fixtures/dependencies/package.json.diff
|
388
|
+
- spec/fixtures/dependencies/package.json_patch_bumps_minor.diff
|
389
|
+
- spec/fixtures/dependencies/package.json_patch_bumps_minor.json
|
390
|
+
- spec/fixtures/dependencies/yarn.lock
|
391
|
+
- spec/fixtures/dependencies/yarn.lock_patch_bumps_minor.lock
|
392
|
+
- spec/fixtures/dependencies/yarn_minor_version.diff
|
393
|
+
- spec/fixtures/dependencies/yarn_minor_version.txt
|
394
|
+
- spec/fixtures/dependencies/yarn_old.txt
|
395
|
+
- spec/fixtures/dependencies/yarn_patch_bumps_minor.diff
|
359
396
|
- spec/fixtures/exception_context.diff
|
360
397
|
- spec/fixtures/exception_inline_disabled_rule.diff
|
361
398
|
- spec/fixtures/exception_insert_context.diff
|
@@ -385,6 +422,7 @@ test_files:
|
|
385
422
|
- spec/fixtures_helper.rb
|
386
423
|
- spec/spec_helper.rb
|
387
424
|
- spec/wcc/commit_lint_spec.rb
|
425
|
+
- spec/wcc/dependencies_spec.rb
|
388
426
|
- spec/wcc/github_spec.rb
|
389
427
|
- spec/wcc/jshint_spec.rb
|
390
428
|
- spec/wcc/plugin_spec.rb
|