Compare commits
15 commits
Author | SHA1 | Date | |
---|---|---|---|
a8afb17e70 | |||
|
04c2430096 | ||
8bfdecec21 | |||
|
0af937edac | ||
e894f65f30 | |||
567198c182 | |||
604fe35be6 | |||
120bb4b79a | |||
|
8fa719df7a | ||
24f5c56ce7 | |||
aa72af8c5a | |||
40fe55854a | |||
|
672ad20150 | ||
d092c3650f | |||
6171a51720 |
9 changed files with 59 additions and 42 deletions
2
.github/workflows/rubocop.yml
vendored
2
.github/workflows/rubocop.yml
vendored
|
@ -12,8 +12,6 @@ on:
|
|||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ main ]
|
||||
schedule:
|
||||
- cron: '20 4 * * 5'
|
||||
|
||||
jobs:
|
||||
rubocop:
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
require:
|
||||
- rubocop-rake
|
||||
|
||||
AllCops:
|
||||
NewCops: enable
|
||||
TargetRubyVersion: 2.7
|
||||
|
|
6
Gemfile
6
Gemfile
|
@ -8,3 +8,9 @@ group :ci do
|
|||
gem 'code-scanning-rubocop'
|
||||
gem 'rspec_junit_formatter'
|
||||
end
|
||||
|
||||
|
||||
gem 'rake', '~> 13.0'
|
||||
gem 'rspec'
|
||||
gem 'rubocop', '~> 1.29'
|
||||
gem 'rubocop-rake', '~> 0.6'
|
||||
|
|
65
Gemfile.lock
65
Gemfile.lock
|
@ -10,47 +10,51 @@ GEM
|
|||
ast (2.4.2)
|
||||
code-scanning-rubocop (0.6.1)
|
||||
rubocop (~> 1.0)
|
||||
colorize (0.8.1)
|
||||
diff-lcs (1.5.0)
|
||||
parallel (1.22.1)
|
||||
parser (3.1.2.0)
|
||||
colorize (1.1.0)
|
||||
diff-lcs (1.5.1)
|
||||
json (2.7.2)
|
||||
language_server-protocol (3.17.0.3)
|
||||
parallel (1.25.1)
|
||||
parser (3.3.4.0)
|
||||
ast (~> 2.4.1)
|
||||
racc
|
||||
racc (1.8.1)
|
||||
rainbow (3.1.1)
|
||||
rake (13.0.6)
|
||||
regexp_parser (2.4.0)
|
||||
rexml (3.2.5)
|
||||
rspec (3.11.0)
|
||||
rspec-core (~> 3.11.0)
|
||||
rspec-expectations (~> 3.11.0)
|
||||
rspec-mocks (~> 3.11.0)
|
||||
rspec-core (3.11.0)
|
||||
rspec-support (~> 3.11.0)
|
||||
rspec-expectations (3.11.0)
|
||||
rake (13.2.1)
|
||||
regexp_parser (2.9.2)
|
||||
rexml (3.3.9)
|
||||
rspec (3.13.0)
|
||||
rspec-core (~> 3.13.0)
|
||||
rspec-expectations (~> 3.13.0)
|
||||
rspec-mocks (~> 3.13.0)
|
||||
rspec-core (3.13.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-expectations (3.13.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.11.0)
|
||||
rspec-mocks (3.11.1)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-mocks (3.13.1)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.11.0)
|
||||
rspec-support (3.11.0)
|
||||
rspec_junit_formatter (0.5.1)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-support (3.13.1)
|
||||
rspec_junit_formatter (0.6.0)
|
||||
rspec-core (>= 2, < 4, != 2.12.0)
|
||||
rubocop (1.29.1)
|
||||
rubocop (1.65.1)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (>= 3.17.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 3.1.0.0)
|
||||
parser (>= 3.3.0.2)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
regexp_parser (>= 2.4, < 3.0)
|
||||
rexml (>= 3.2.5, < 4.0)
|
||||
rubocop-ast (>= 1.17.0, < 2.0)
|
||||
rubocop-ast (>= 1.31.1, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.18.0)
|
||||
parser (>= 3.1.1.0)
|
||||
unicode-display_width (>= 2.4.0, < 3.0)
|
||||
rubocop-ast (1.31.3)
|
||||
parser (>= 3.3.1.0)
|
||||
rubocop-rake (0.6.0)
|
||||
rubocop (~> 1.0)
|
||||
rubocop-rspec (2.11.1)
|
||||
rubocop (~> 1.19)
|
||||
ruby-progressbar (1.11.0)
|
||||
unicode-display_width (2.1.0)
|
||||
ruby-progressbar (1.13.0)
|
||||
unicode-display_width (2.5.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
@ -63,7 +67,6 @@ DEPENDENCIES
|
|||
rspec_junit_formatter
|
||||
rubocop (~> 1.29)
|
||||
rubocop-rake (~> 0.6)
|
||||
rubocop-rspec
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
||||
|
|
13
README.md
13
README.md
|
@ -94,3 +94,16 @@ must read file content via `stdin`. Anything that the lint command outputs to
|
|||
option to tell it to read content from `stdin` instead of reading files from
|
||||
disk, and messages from `eslint` are redirected to `stderr` (using the `>&2`
|
||||
notation) so that you can see them.
|
||||
|
||||
### Why the Ruby port if there already is a fine Python implementation?
|
||||
|
||||
I don’t like Python ;)
|
||||
|
||||
But jokes aside, I am already setting up a Ruby environment (using [rbenv][]) for my
|
||||
projects to run [cocoapods][] and [fastlane][] and our git hooks. By using this port
|
||||
we don’t need to ensure to have python available as well.
|
||||
|
||||
|
||||
[rbenv]: https://github.com/rbenv/rbenv/
|
||||
[cocoapods]: https://cocoapods.org/
|
||||
[fastlane]: https://fastlane.tools/
|
||||
|
|
|
@ -17,7 +17,7 @@ parser = OptionParser.new do |opt|
|
|||
<<~DOC
|
||||
Shell command to format files, will run once per file. Occurrences of the placeholder `{}` will \
|
||||
be replaced with a path to the file being formatted. \
|
||||
(Example: "prettier --stdin-filepath \'{}\'")
|
||||
(Example: "prettier --stdin-filepath '{}'")
|
||||
DOC
|
||||
) do |o|
|
||||
parameters[:formatter] = o
|
||||
|
|
|
@ -19,12 +19,6 @@ Gem::Specification.new do |s|
|
|||
|
||||
s.add_dependency 'colorize'
|
||||
|
||||
s.add_development_dependency 'rake', '~> 13.0'
|
||||
s.add_development_dependency 'rspec'
|
||||
s.add_development_dependency 'rubocop', '~> 1.29'
|
||||
s.add_development_dependency 'rubocop-rake', '~> 0.6'
|
||||
s.add_development_dependency 'rubocop-rspec'
|
||||
|
||||
s.metadata = {
|
||||
'rubygems_mfa_required' => 'true'
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ module FormatStaged
|
|||
return false unless formatted.size == files.size
|
||||
|
||||
quiet = @verbose ? [] : ['--quiet']
|
||||
return !write || get_status('git', 'diff-index', '--cached', '--exit-code', *quiet, 'HEAD') != 0
|
||||
!write || get_status('git', 'diff-index', '--cached', '--exit-code', *quiet, 'HEAD') != 0
|
||||
end
|
||||
|
||||
def repo_root
|
||||
|
|
|
@ -132,7 +132,7 @@ describe FormatStaged do
|
|||
repo.set_content 'test.test', 'a=b'
|
||||
repo.stage 'test.test'
|
||||
|
||||
expect(repo.run_formatter write: false).to be_truthy
|
||||
expect(repo.run_formatter(write: false)).to be_truthy
|
||||
expect(repo.get_content('test.test')).to eq 'a=b'
|
||||
expect(repo.get_staged('test.test')).to eq 'a=b'
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue