reviewer 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.alexignore +1 -0
  3. data/.github/workflows/main.yml +5 -3
  4. data/.reviewer.example.yml +20 -10
  5. data/.reviewer.future.yml +221 -0
  6. data/.reviewer.yml +45 -8
  7. data/.reviewer_stdout +0 -0
  8. data/.rubocop.yml +1 -0
  9. data/Gemfile.lock +29 -28
  10. data/LICENSE.txt +4 -20
  11. data/README.md +26 -7
  12. data/lib/reviewer/arguments/files.rb +14 -8
  13. data/lib/reviewer/arguments/keywords.rb +5 -2
  14. data/lib/reviewer/arguments/tags.rb +11 -4
  15. data/lib/reviewer/arguments.rb +11 -4
  16. data/lib/reviewer/batch.rb +41 -14
  17. data/lib/reviewer/command/string/env.rb +4 -0
  18. data/lib/reviewer/command/string/flags.rb +12 -1
  19. data/lib/reviewer/command/string.rb +12 -18
  20. data/lib/reviewer/command.rb +7 -32
  21. data/lib/reviewer/configuration.rb +8 -1
  22. data/lib/reviewer/conversions.rb +0 -11
  23. data/lib/reviewer/guidance.rb +9 -5
  24. data/lib/reviewer/history.rb +32 -1
  25. data/lib/reviewer/keywords/git/staged.rb +16 -0
  26. data/lib/reviewer/output/printer.rb +44 -0
  27. data/lib/reviewer/output/scrubber.rb +48 -0
  28. data/lib/reviewer/output/token.rb +85 -0
  29. data/lib/reviewer/output.rb +73 -43
  30. data/lib/reviewer/runner/strategies/captured.rb +157 -0
  31. data/lib/reviewer/runner/strategies/{verbose.rb → passthrough.rb} +13 -13
  32. data/lib/reviewer/runner.rb +71 -13
  33. data/lib/reviewer/shell/result.rb +22 -7
  34. data/lib/reviewer/shell/timer.rb +15 -0
  35. data/lib/reviewer/shell.rb +7 -11
  36. data/lib/reviewer/tool/settings.rb +12 -5
  37. data/lib/reviewer/tool.rb +25 -3
  38. data/lib/reviewer/version.rb +1 -1
  39. data/lib/reviewer.rb +11 -10
  40. data/reviewer.gemspec +9 -5
  41. data/structure.svg +1 -0
  42. metadata +34 -28
  43. data/.ruby-version +0 -1
  44. data/lib/reviewer/command/string/verbosity.rb +0 -51
  45. data/lib/reviewer/command/verbosity.rb +0 -65
  46. data/lib/reviewer/printer.rb +0 -25
  47. data/lib/reviewer/runner/strategies/quiet.rb +0 -90
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9223e406b7f957249c7d39ba4c56e3fbdabe323e52b270af076de0a530b51b9f
4
- data.tar.gz: afb2714ed785bd91b2fe3d3d7b6f75fa8826f9387609ba6eb21ed21960883e10
3
+ metadata.gz: 4269dc4784c9a22232bd47db41cff0bf7d57b023ee50dc5fc455a650fb138b2a
4
+ data.tar.gz: 73d9261188abd69db6aa23aa7db6f76a59696b1dac3e35eb1a5615e013b40354
5
5
  SHA512:
6
- metadata.gz: 7f56b586b5bea303b4dab387ba4c66535caf2f1cdbc0d8ff3b2a8e092b54d0a3bc340ae864a0ae90729bb89a2925294c51c8bab9476cb2a34f886b429efb3694
7
- data.tar.gz: 71da282037c2f26c339afe21ddb71ff0713ff7bf652bb0787f74df3b16bf12cd9aea86a7bf7625c0ee43d8d80e6d1e0ca03315e6cf9c1e8eee33cb6082415558
6
+ metadata.gz: 66894ea63a67d4964e93a5ab83ce92b95e0757d38af05a1587e136d0cc2d61fcf146d2c30534ce3f58aa4f08ed406e328ecad1293a617df73b2d1167c6146782
7
+ data.tar.gz: 0614f40cbd184e0e20aad58a8f4c320af3a5db358078cecdfac236047a0c85060b15b7dccbade7c599c4ebc030ea0eb4348d239fbbf3f25a48079f6f3a0464f7
data/.alexignore ADDED
@@ -0,0 +1 @@
1
+ CODE_OF_CONDUCT.md
@@ -1,12 +1,15 @@
1
- name: Ruby
1
+ name: Review
2
2
 
3
3
  on: [push,pull_request]
4
4
 
5
+ env:
6
+ CI: true
7
+
5
8
  jobs:
6
9
  build:
7
10
  strategy:
8
11
  matrix:
9
- ruby: [2.5.9, 2.6.8, 2.7.4, 3.0.2]
12
+ ruby: [2.5.9, 2.6.9, 2.7.5, 3.0.3]
10
13
  runs-on: ubuntu-latest
11
14
  steps:
12
15
  - uses: actions/checkout@v2
@@ -21,4 +24,3 @@ jobs:
21
24
  run: bundle exec ./exe/rvw tests
22
25
  - name: Multiple Command Review
23
26
  run: bundle exec ./exe/rvw bundle_audit tests
24
-
@@ -9,6 +9,7 @@
9
9
  # links:
10
10
  # home: // Optional. A link to the home page for the tool.
11
11
  # install: // Optional. A link to the installation instructions for the tool.
12
+ # usage: // Optional. A link to the general usage instructions for the tool.
12
13
  # ignore_syntax: // Optional. A link to the syntax for ignoring some rules for small sections of code.
13
14
  # disable_syntax: // Optional. A link to the syntax for disabling entire rules for a tool.
14
15
  # commands:
@@ -16,16 +17,22 @@
16
17
  # prepare: // Optional. Command to run prior to the review phase. ex. 'bundle exec bundle-audit update'
17
18
  # review: // Required. The only truly required field because this is the whole point.
18
19
  # format: // Optional. Command to auto-update rule violations when possible.
19
- # quiet_option: // Optional, but strongly suggested. Helps keep output under control when running multiple tools.
20
+ # serve: // Optional. Command to start a local server with reports generated by the tool.
21
+ # generate: // Optional. Command to generate artifacts from the tool for viewing separately.
20
22
  # max_exit_status: // Optional, defaults to 0. Some tools like Yarn Audit essentially won't return less than a 3. This specifies the threshold that's still considered passing.
21
- # files_flag: // Optional, defaults to '' (empty string). The name of the flag used to pass subsets of files to the command.
22
- # files_separator: // Optional, defaults to ' ' (single space). The character used to separate lists of files and directories.
23
+ # files:
24
+ # flag: // Optional, defaults to '' (empty string). The name of the flag used to pass subsets of files to the command.
25
+ # separator: // Optional, defaults to ' ' (single space). The character used to separate lists of files and directories.
23
26
  # env: // Optional. A way to specify necessary environment variables for the tools commands. The key is the variable name, and the value is, well, the value.
24
27
  # example_one: value // - The names will automatically be capitalized, so you can freely use lower-case here.
25
28
  # example_one: value // - Reviewer is smart enough to handle string values with spaces and automatically quote them.
26
29
  # flags: // Optional. A way to specify flags *only for the review command*. The key is the flag name, and the value is, well, the value.
27
30
  # example_one: value // - Reviewer is smart enough to handle single-letter (-f) and multi-letter (--format) flags.
28
31
  # example_two: value // - It's highly-recommended to use the longer-name format for flags when possible to serve as self-documentation.
32
+ # example_three: // - If the flag doesn't need or have a value, leaving it blank will translate it to a flag without a value.
33
+ # other: // Optional. A way to specify paramters that don't follow the standard flags conventions.
34
+ # description: value // - The key (ex. 'description') only serves as documentation and won't be used. Instead, the raw value will be applied
35
+
29
36
 
30
37
  # In practice, a configuration block would look something like the block below.
31
38
  tool-name-key:
@@ -43,11 +50,14 @@ tool-name-key:
43
50
  prepare: 'bundle exec tool update'
44
51
  review: 'bundle exec tool'
45
52
  format: 'bundle exec tool --format'
46
- quiet_option: '--quiet'
47
53
  max_exit_status: 1
48
- files_flag: 'files'
49
- files_separator: ','
50
- env:
51
- report: false
52
- flags:
53
- format: json
54
+ files:
55
+ flag: 'files'
56
+ separator: ','
57
+ env:
58
+ report: false
59
+ flags:
60
+ format: json
61
+ verbose:
62
+ other:
63
+ example: '--example | other'
@@ -0,0 +1,221 @@
1
+ # This represents the long-term vision for reviewer. It's a sort of documentation-driven design, but
2
+ # it's also heavily based on the initial exploration and iteration to determine what's possible and
3
+ # what's practical based on testing out a variety of command types and structures.
4
+
5
+ # Options for `rvw` command
6
+ # -c <file>, --config=<file>
7
+ # -f <file>,<file>..., --files=<file>,<file>...
8
+ # -t <tag>,<tag>..., --tags=<tag>,<tag>...
9
+ # -l <tool_key>,<tool_key>..., --tools=<tool_key>,<tool_key>...
10
+ # -c <command>, --command=<command>
11
+ # -k, --keywords
12
+ # -s, --settings
13
+ # -h, --help
14
+ # -v, --version
15
+ # <keyword>
16
+
17
+ # Implicit Keywords:
18
+ # - every <tag>
19
+ # - every <tool_key>
20
+ # - <tool_key>:settings
21
+ # - <tool_key>:links
22
+ # - every <tool_key>:<link>
23
+ # - <tool_key>:commands
24
+ # - every <tool_key>:<command>
25
+
26
+ # Reserved Keywords:
27
+ # - every link type
28
+ # - every command type
29
+ # - staged // currently staged git files
30
+ # - untracked // currently untracked git files
31
+ # - fresh // untracked files updated in last 5 minutes
32
+ # - fresh_15 // ... 15 minutes
33
+ # - fresh_30 // ... 30 minutes
34
+ # - fresh_60 // ... 60 minutes
35
+ # - stale // untracked files updated more than 5 minutes ago
36
+ # - stale_15 // ... 15 minutes
37
+ # - stale_30 // ... 30 minutes
38
+ # - stale_60 // ... 60 minutes
39
+ # - branch|diff // All files created or updated on the current branch
40
+ # - last_commit // All files created or updated in the last commit
41
+ # - current // alias for branch or diff?
42
+
43
+ # Command Examples:
44
+
45
+ # The Basics
46
+ # - rvw // runs :review command for all enabled tools
47
+ # - rvw <command> // runs <command> for all enabled tools (not disabled or solo)
48
+ # - rvw <keyword> // runs :review command for all enabled tools and translates the <keyword>
49
+ # - rvw <tag> // runs :review command for all enabled tools tagged with <tag>
50
+
51
+ # Tools
52
+ # - rvw <tool_key> // shortcut for `rvw <tool_key>:review`
53
+ # - rvw <tool_key>:<command> // runs <command> for <tool_key> in passthrough mode
54
+ # - rvw <tool_key>:<link> // opens the <link> via `open <link>` if present, otherwise, shares that it's not configured
55
+ # - rvw <tool_key>:settings // displays all settings for <tool_key>
56
+ # - rvw <tool_key>:commands // displays all configured commands for <tool_key>
57
+ # - rvw <tool_key>:links // displays all configured links for <tool_key>
58
+
59
+ # Combos
60
+ # - rvw <keyword> <tag> // ex. `rvw staged ruby` -> `rvw review staged ruby`
61
+ # - rvw <command> <tag> // ex. `rvw format ruby` -> `rvw format ruby`
62
+ # - rvw <command> <reserved_keyword> // ex. `rvw install ruby`
63
+ # - rvw <command> <reserved_keyword> <tag> // ex. `rvw format last_commit ruby`
64
+ # - rvw <command> <reserved_keyword> <tag> <tag> // ex. `rvw format last_commit ruby erb`
65
+
66
+ reviewer:
67
+ # Whether to run tools consecutively or in parallel if available
68
+ # :linear - It would suck if your first command is `bundle audit` and fails but 6 other tools
69
+ # are running in parallel but will take time to fail. So :linear with :stop as the behavior
70
+ # ensures you don't attepmt commands.
71
+ # :parallel - Reviewer will attempt to run commands on multiple threads/processors for more speed.
72
+ # Best used when groups of commands are not dependent on each other.
73
+ default_batch_mode: <:linear|:safe, :parallel|:fast>
74
+
75
+ # Fallback failure behavior for all commands where it isn't explicitly defined. Applies to
76
+ # linear runs independent of each other. So if you have two batches (ex. ruby, javascript), and
77
+ # one batch fails immediately, the remaining commands willn ot be run. But the other batch will
78
+ # safely continue independently.
79
+ # Optional. Defaults to :fast.
80
+ # :stop - Don't run any additional commands in that batch.
81
+ # :continue - Keep running the other commands.
82
+ default_command_failure_behavior_in_batch: <:stop, :continue>
83
+
84
+ # Fallback install behavior for all commands where it isn't explicitly defined.
85
+ # Maybe if the install command is present, `:auto` is implied?
86
+ # Optional. Defaults to :guidance.
87
+ # - :guidance shows the installation command and/or link for manual installation.
88
+ # - :auto attempts to automatically install if the command is missing
89
+ # - :skip quietly moves on without worrying about it
90
+ default_install_behavior: <:guidance, :auto, :skip>
91
+
92
+ # Fallback behavior for displaying results.
93
+ # Optional. Defaults to :full
94
+ # - :full - Re-run the command directly so you see the full output
95
+ # - :fast - Show the results, but potentially lose colorizing and some formatting
96
+ default_results_behavior: <:full, :fast, :timer>
97
+
98
+ # Fallback definition for determining whether a command is slow.
99
+ # Only used if :default_results_behavior is :timer
100
+ # Optional. Defaults to 10 seconds
101
+ default_slow_window: <integer seconds>
102
+
103
+ # Fallback defintion for determining whether a command needs to be prepped again.
104
+ # Optional. Defaults to 6 hours
105
+ default_prep_window: <integer hours>
106
+
107
+ # Primarily for debugging/improving performance of reviewer. But if low-level performance info is
108
+ # interesting, it can be enabled.
109
+ # Optional. Defaults to :min
110
+ # :min - Shows simply the total time for each command. Breaks out install/prep % if relevant.
111
+ timer_detail: <:min, :max>
112
+
113
+ # Custom-defined keywords for shortcuts
114
+ keywords:
115
+ # Compact version
116
+ mgc: 'format last_commit ruby erb'
117
+ # Long-form version of `mgc` (a little more self-documenting and explicit)
118
+ magic: '--command=format --keywords=last_commit --tags=ruby,erb'
119
+ # Long-form of `mgc` (most self-documentating and explicit)
120
+ magic:
121
+ - '--command=format'
122
+ - '--keywords=last_commit'
123
+ - '--tags=ruby,erb'
124
+
125
+ # The real core of the configuration for each individual tool.
126
+ tools:
127
+ <tool_key>: # Required. ex. 'rubocop', 'bundler-audit', etc.
128
+ status: <:enabled, :disabled, :solo> # Optional. Tools are enabled by default
129
+ name: # Optional. Defaults to <tool_key> capitalized
130
+ description: # Optional. Remind folks of the specific task this tool performs.
131
+ tags: [one, two, three] # Optional. For running groups of commands.
132
+ batch: # Optional. Only used if run in batch mode. ex. Run ruby commands on one thread and yarn commands on another.
133
+ install_behavior: <:auto, :guidance> # Optional. Defaults to Reviewer default.
134
+ failure_behavior: <:continue, :fast, :informative> # Optional
135
+ links:
136
+ home:
137
+ repo:
138
+ support:
139
+ install:
140
+ usage:
141
+ options:
142
+ syntax:
143
+ ignore:
144
+ disable:
145
+ files_syntax:
146
+ flag:
147
+ separator:
148
+ quotes:
149
+ shared_options: # Optional. Used for all commands.
150
+ prefix: 'bundle exec'
151
+ stale: <hours>
152
+ base: '<command>'
153
+ quiet: '--quiet'
154
+ max_exit_status:
155
+ flags:
156
+ <flag>: '<value>'
157
+ env:
158
+ <env_var>: '<value>'
159
+ raw:
160
+ - '<value>'
161
+ commands:
162
+ install:
163
+ desc:
164
+ stale:
165
+ prefix:
166
+ base:
167
+ quiet:
168
+ max_exit_status:
169
+ flags:
170
+ env:
171
+ raw:
172
+ prepare:
173
+ desc:
174
+ stale:
175
+ prefix:
176
+ base:
177
+ quiet:
178
+ max_exit_status:
179
+ flags:
180
+ env:
181
+ raw:
182
+ review:
183
+ desc:
184
+ stale:
185
+ prefix:
186
+ base:
187
+ quiet:
188
+ max_exit_status:
189
+ flags:
190
+ env:
191
+ raw:
192
+ format:
193
+ desc:
194
+ stale:
195
+ prefix:
196
+ base:
197
+ quiet:
198
+ max_exit_status:
199
+ flags:
200
+ env:
201
+ raw:
202
+ serve:
203
+ desc:
204
+ stale:
205
+ prefix:
206
+ base:
207
+ quiet:
208
+ max_exit_status:
209
+ flags:
210
+ env:
211
+ raw:
212
+ generate:
213
+ desc:
214
+ stale:
215
+ prefix:
216
+ base:
217
+ quiet:
218
+ max_exit_status:
219
+ flags:
220
+ env:
221
+ raw:
data/.reviewer.yml CHANGED
@@ -9,7 +9,6 @@ bundle_audit:
9
9
  install: 'bundle exec gem install bundler-audit'
10
10
  prepare: 'bundle exec bundle-audit update'
11
11
  review: 'bundle exec bundle-audit check --no-update'
12
- quiet_option: '--quiet'
13
12
 
14
13
  tests:
15
14
  name: Minitest
@@ -18,14 +17,14 @@ tests:
18
17
  links:
19
18
  home:
20
19
  commands:
21
- review: "bundle exec rake TESTOPTS='--seed=$SEED'"
22
- quiet_option: '--silent'
20
+ review: "bundle exec rake"
23
21
  reports:
24
22
  open_on_fail: true
25
23
  local_file: coverage/index.html
26
24
  local_uri: 'file:///Users/garrettdimon/Code/reviewer/coverage/index.html#_AllFiles'
27
25
  env:
28
- coverage: true
26
+ testopts: --seed=$SEED
27
+ # coverage: false
29
28
 
30
29
  reek:
31
30
  name: Reek
@@ -86,18 +85,56 @@ rubocop:
86
85
  install: 'bundle exec gem install rubocop'
87
86
  review: 'bundle exec rubocop --parallel'
88
87
  format: 'bundle exec rubocop --auto-correct'
89
- quiet_option: '--format q'
90
- files_flag: ''
91
- files_list_separator: ' '
88
+ files:
89
+ flag: ''
90
+ separator: ' '
92
91
  flags:
93
92
  color:
94
93
 
94
+
95
+ # The YARD Parser can also come in handy:
96
+ # https://yardoc.org/types
95
97
  inch:
98
+ disabled: true
96
99
  tags: [docs, ruby, dev]
97
100
  name: Inch
98
- description: Review Ruby Documentation
101
+ description: Review Ruby Documentation Quality
99
102
  links:
100
103
  home: https://rrrene.org/inch/
104
+ usage: https://www.rubydoc.info/gems/yard/file/docs/Tags.md
101
105
  commands:
102
106
  install: 'bundle exec gem install inch'
103
107
  review: 'bundle exec inch'
108
+
109
+
110
+ yard:
111
+ disabled: true
112
+ tags: [docs, ruby, dev]
113
+ name: Yard
114
+ description: Generates Documentation
115
+ links:
116
+ home: https://yardoc.org
117
+ usage: https://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md#using
118
+ install: https://github.com/lsegal/yard#installing
119
+ commands:
120
+ install: 'bundle exec gem install yard'
121
+ prepare: "yard doc 'lib/**/*.rb'"
122
+ review: 'yard stats'
123
+ serve: 'yard server --reload && open http://0.0.0.0:8808'
124
+ generate:
125
+ quiet_flag: '--quiet'
126
+
127
+
128
+ alex:
129
+ disabled: true
130
+ tags: [language, docs]
131
+ name: Yard
132
+ description: Generates Documentation
133
+ links:
134
+ home:
135
+ usage:
136
+ install:
137
+ commands:
138
+ install: 'yarn global add alex'
139
+ review: 'alex .'
140
+ quiet_flag: '--quiet'
data/.reviewer_stdout ADDED
Binary file
data/.rubocop.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  AllCops:
2
+ TargetRubyVersion: 2.5
2
3
  NewCops: enable
3
4
  UseCache: true
4
5
  CacheRootDirectory: './'
data/Gemfile.lock CHANGED
@@ -1,22 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- reviewer (0.1.4)
5
- colorize
4
+ reviewer (0.1.5)
5
+ rainbow
6
6
  slop
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
11
  ast (2.4.2)
12
- bundler-audit (0.8.0)
12
+ bundler-audit (0.9.0.1)
13
13
  bundler (>= 1.2.0, < 3)
14
14
  thor (~> 1.0)
15
- codecov (0.5.2)
15
+ codecov (0.6.0)
16
16
  simplecov (>= 0.15, < 0.22)
17
17
  coderay (1.1.3)
18
- colorize (0.8.1)
19
- dead_end (1.1.7)
20
18
  docile (1.4.0)
21
19
  erubis (2.7.0)
22
20
  flay (2.12.1)
@@ -35,45 +33,45 @@ GEM
35
33
  yard (~> 0.9.12)
36
34
  kwalify (0.7.2)
37
35
  method_source (1.0.0)
38
- minitest (5.14.4)
39
- minitest-color (0.0.2)
40
- minitest (~> 5)
41
- parallel (1.20.1)
42
- parser (3.0.2.0)
36
+ minitest (5.15.0)
37
+ minitest-heat (1.1.0)
38
+ minitest
39
+ parallel (1.21.0)
40
+ parser (3.0.3.2)
43
41
  ast (~> 2.4.1)
44
42
  path_expander (1.1.0)
45
43
  pry (0.14.1)
46
44
  coderay (~> 1.1)
47
45
  method_source (~> 1.0)
48
- psych (3.3.2)
46
+ psych (4.0.3)
47
+ stringio
49
48
  rainbow (3.0.0)
50
49
  rake (13.0.6)
51
- reek (6.0.5)
50
+ reek (6.0.6)
52
51
  kwalify (~> 0.7.0)
53
52
  parser (~> 3.0.0)
54
- psych (>= 3.1, < 5.0)
55
53
  rainbow (>= 2.0, < 4.0)
56
- regexp_parser (2.1.1)
54
+ regexp_parser (2.2.0)
57
55
  rexml (3.2.5)
58
- rubocop (1.18.4)
56
+ rubocop (1.23.0)
59
57
  parallel (~> 1.10)
60
58
  parser (>= 3.0.0.0)
61
59
  rainbow (>= 2.2.2, < 4.0)
62
60
  regexp_parser (>= 1.8, < 3.0)
63
61
  rexml
64
- rubocop-ast (>= 1.8.0, < 2.0)
62
+ rubocop-ast (>= 1.12.0, < 2.0)
65
63
  ruby-progressbar (~> 1.7)
66
64
  unicode-display_width (>= 1.4.0, < 3.0)
67
- rubocop-ast (1.8.0)
65
+ rubocop-ast (1.15.0)
68
66
  parser (>= 3.0.1.1)
69
- rubocop-minitest (0.14.0)
67
+ rubocop-minitest (0.17.0)
70
68
  rubocop (>= 0.90, < 2.0)
71
69
  rubocop-rake (0.6.0)
72
70
  rubocop (~> 1.0)
73
71
  ruby-progressbar (1.11.0)
74
- ruby_parser (3.16.0)
75
- sexp_processor (~> 4.15, >= 4.15.1)
76
- sexp_processor (4.15.3)
72
+ ruby_parser (3.18.1)
73
+ sexp_processor (~> 4.16)
74
+ sexp_processor (4.16.0)
77
75
  simplecov (0.21.2)
78
76
  docile (~> 1.1)
79
77
  simplecov-html (~> 0.11)
@@ -82,14 +80,17 @@ GEM
82
80
  simplecov_json_formatter (0.1.3)
83
81
  slop (4.9.1)
84
82
  sparkr (0.4.1)
83
+ stringio (3.0.1)
85
84
  sync (0.5.0)
86
85
  term-ansicolor (1.7.1)
87
86
  tins (~> 1.0)
88
87
  thor (1.1.0)
89
88
  tins (1.29.1)
90
89
  sync
91
- unicode-display_width (2.0.0)
92
- yard (0.9.26)
90
+ unicode-display_width (2.1.0)
91
+ webrick (1.7.0)
92
+ yard (0.9.27)
93
+ webrick (~> 1.7.0)
93
94
 
94
95
  PLATFORMS
95
96
  ruby
@@ -99,13 +100,12 @@ PLATFORMS
99
100
  DEPENDENCIES
100
101
  bundler-audit
101
102
  codecov
102
- dead_end
103
103
  flay
104
104
  flog
105
105
  inch
106
106
  minitest
107
- minitest-color
108
- psych (~> 3.3.2)
107
+ minitest-heat
108
+ psych
109
109
  rake (~> 13.0)
110
110
  reek
111
111
  reviewer!
@@ -113,6 +113,7 @@ DEPENDENCIES
113
113
  rubocop-minitest
114
114
  rubocop-rake
115
115
  simplecov
116
+ yard
116
117
 
117
118
  BUNDLED WITH
118
- 2.2.25
119
+ 2.2.33
data/LICENSE.txt CHANGED
@@ -1,21 +1,5 @@
1
- The MIT License (MIT)
1
+ Copyright (c) Garrett Dimon
2
2
 
3
- Copyright (c) 2021 Garrett Dimon
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
3
+ Reviewer is an Open Source project licensed under the terms of
4
+ the LGPLv3 license. Please see <http://www.gnu.org/licenses/lgpl-3.0.html>
5
+ for license text.
data/README.md CHANGED
@@ -1,18 +1,37 @@
1
+ # [Reviewer](https://github.com/garrettdimon/reviewer)
2
+ by [Garrett Dimon](https://garrettdimon.com)
1
3
 
2
- **Note:** As of August 4th, 2021, Reviewer is a work in progress. While it's working great reviewing its own code, it's not quite ready for wider usage.
4
+ ---
3
5
 
4
- [![Gem Version](https://badge.fury.io/rb/reviewer.svg)](https://badge.fury.io/rb/reviewer) [![Ruby](https://github.com/garrettdimon/reviewer/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/garrettdimon/reviewer/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/garrettdimon/reviewer/branch/main/graph/badge.svg?token=UuXUlQAA2e)](https://codecov.io/gh/garrettdimon/reviewer)
6
+ **Note:** As of December 2021, Reviewer is a work in progress. While it's working great reviewing its own code, it's not quite ready for wider usage. Once, it's ready, it will provide more helpful installation and usage details.
5
7
 
6
- # What is Reviewer?
8
+ ---
7
9
 
8
- *Reviewer reduces the friction of using multiple automated code review tools so you can use them more frequently and consistently.*
10
+ *With Reviewer, you can seamlessly use multiple automated code review tools with orders of magnitude less friction so you can use them more frequently and consistently.*
9
11
 
10
- For more detailed information, the [Wiki](https://github.com/garrettdimon/reviewer/wiki) is the best place to start. Or if you'd like the full story, you can go straight to the [Overview](https://github.com/garrettdimon/reviewer/wiki/Overview).
12
+ So instead of remembering and typing...
13
+ ```bash
14
+ $ yarn audit --level moderate
15
+ $ bundle exec bundle-audit check --no-update
16
+ $ bundle exec rubocop --parallel
17
+ $ bundle exec erblint --lint-all --enable-all-linters
18
+ $ yarn stylelint .
19
+ $ yarn eslint .
20
+ ```
21
+ ...you could just type...
22
+ ```
23
+ $ rvw
24
+ ```
11
25
 
12
- ## License
26
+ That's just the tip of the iceberg, though. For the full story on Reviewer's capabilities and benefits, the [Overview](https://github.com/garrettdimon/reviewer/wiki/Overview) is the best place to start. Or if you'd like to see how it's configured under the hood, the [Configuration Instructions](https://github.com/garrettdimon/reviewer/wiki/Configuration) go even deeper.
27
+
28
+ [![build](https://github.com/garrettdimon/reviewer/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/garrettdimon/reviewer/actions/workflows/main.yml)
29
+ [![coverage](https://img.shields.io/codecov/c/github/garrettdimon/reviewer?token=UuXUlQAA2e)](https://codecov.io/gh/garrettdimon/reviewer)
30
+ [![last commit](https://img.shields.io/github/last-commit/garrettdimon/reviewer/main)](https://github.com/garrettdimon/reviewer/commits/main)
31
+ [![gem version](https://img.shields.io/gem/v/reviewer)](https://rubygems.org/gems/reviewer)
13
32
 
33
+ ## License
14
34
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
15
35
 
16
36
  ## Code of Conduct
17
-
18
37
  Everyone interacting in the Reviewer project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/reviewer/blob/master/CODE_OF_CONDUCT.md).