gemfilelint 0.2.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/main.yml +24 -13
- data/.rubocop.yml +11 -0
- data/CHANGELOG.md +31 -2
- data/CODE_OF_CONDUCT.md +1 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +21 -17
- data/LICENSE +1 -1
- data/README.md +37 -4
- data/Rakefile +5 -5
- data/bin/console +3 -3
- data/exe/gemfilelint +20 -4
- data/gemfilelint.gemspec +13 -13
- data/lib/gemfilelint/version.rb +1 -1
- data/lib/gemfilelint.rb +27 -23
- metadata +11 -11
- data/.mergify.yml +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a2060f4fc9182c112139acb209f01d2e33912b25508f0685f75b78733daad2b
|
4
|
+
data.tar.gz: bf61bd673a5163aecf6f1dd2d150379fc809ecdf6a9e0067ce62473e0cf2d657
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4130ead8d9a8b793b1cece83a2bfdae070225c5495370857acd5dc06adab2f4dae6af93bb74ee5dfe16415b82b8bc0d13887b6d6be5f0574e0e79c7fb3d58e42
|
7
|
+
data.tar.gz: c46f5cdaace8230cd21c1c1b981a42031db5a93bacc0f788e366a990b63bc35cb91033c8f38649820a52a670e8ffefeb9957fda699c9ed1a78c59d516a062e22
|
data/.github/workflows/main.yml
CHANGED
@@ -1,23 +1,34 @@
|
|
1
1
|
name: Main
|
2
|
-
on:
|
2
|
+
on:
|
3
|
+
- push
|
4
|
+
- pull_request_target
|
3
5
|
jobs:
|
4
6
|
ci:
|
5
7
|
name: CI
|
6
8
|
runs-on: ubuntu-latest
|
9
|
+
env:
|
10
|
+
CI: true
|
7
11
|
steps:
|
8
12
|
- uses: actions/checkout@master
|
9
13
|
- uses: ruby/setup-ruby@v1
|
10
14
|
with:
|
11
|
-
ruby-version:
|
12
|
-
|
15
|
+
ruby-version: 3.0
|
16
|
+
bundler-cache: true
|
17
|
+
- name: Lint and test
|
18
|
+
run: |
|
19
|
+
bundle exec rubocop --parallel
|
20
|
+
bundle exec rake test
|
21
|
+
automerge:
|
22
|
+
name: AutoMerge
|
23
|
+
needs: ci
|
24
|
+
runs-on: ubuntu-latest
|
25
|
+
if: github.event_name == 'pull_request_target' && (github.actor == github.repository_owner || github.actor == 'dependabot[bot]')
|
26
|
+
steps:
|
27
|
+
- uses: actions/github-script@v3
|
13
28
|
with:
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- run: bundle exec rubocop --parallel
|
21
|
-
- run: bundle exec rake test
|
22
|
-
env:
|
23
|
-
CI: true
|
29
|
+
script: |
|
30
|
+
github.pulls.merge({
|
31
|
+
owner: context.payload.repository.owner.login,
|
32
|
+
repo: context.payload.repository.name,
|
33
|
+
pull_number: context.payload.pull_request.number
|
34
|
+
})
|
data/.rubocop.yml
CHANGED
@@ -2,11 +2,22 @@ AllCops:
|
|
2
2
|
DisplayCopNames: true
|
3
3
|
DisplayStyleGuide: true
|
4
4
|
TargetRubyVersion: 2.7
|
5
|
+
NewCops: enable
|
6
|
+
SuggestExtensions: false
|
5
7
|
Exclude:
|
6
8
|
- 'vendor/**/*'
|
7
9
|
|
10
|
+
Gemspec/RequiredRubyVersion:
|
11
|
+
Enabled: false
|
12
|
+
|
8
13
|
Style/Documentation:
|
9
14
|
Enabled: false
|
10
15
|
|
16
|
+
Style/ExplicitBlockArgument:
|
17
|
+
Enabled: false
|
18
|
+
|
19
|
+
Style/StringLiterals:
|
20
|
+
EnforcedStyle: double_quotes
|
21
|
+
|
11
22
|
Style/StructInheritance:
|
12
23
|
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,30 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [0.4.0] - 2021-09-15
|
10
|
+
|
11
|
+
### Added
|
12
|
+
|
13
|
+
- Support the `--ignore` option for removing false positives from the lint run.
|
14
|
+
|
15
|
+
## [0.3.0] - 2021-03-29
|
16
|
+
|
17
|
+
### Changed
|
18
|
+
|
19
|
+
- Support the renamed rubygems source instance variable.
|
20
|
+
|
21
|
+
## [0.2.2] - 2020-04-23
|
22
|
+
|
23
|
+
### Changed
|
24
|
+
|
25
|
+
- Lower the threshold so we don't get so many false positives.
|
26
|
+
|
27
|
+
## [0.2.1] - 2020-02-24
|
28
|
+
|
29
|
+
### Changed
|
30
|
+
|
31
|
+
- Fix invocation when not specifying path to gemfile.
|
32
|
+
|
9
33
|
## [0.2.0] - 2020-02-20
|
10
34
|
|
11
35
|
### Added
|
@@ -18,5 +42,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
18
42
|
|
19
43
|
- 🎉 Initial release.
|
20
44
|
|
21
|
-
[unreleased]: https://github.com/
|
22
|
-
[0.
|
45
|
+
[unreleased]: https://github.com/kddnewton/gemfilelint/compare/v0.4.0...HEAD
|
46
|
+
[0.4.0]: https://github.com/kddnewton/gemfilelint/compare/v0.3.0...v0.4.0
|
47
|
+
[0.3.0]: https://github.com/kddnewton/gemfilelint/compare/v0.2.2...v0.3.0
|
48
|
+
[0.2.2]: https://github.com/kddnewton/gemfilelint/compare/v0.2.1...v0.2.2
|
49
|
+
[0.2.1]: https://github.com/kddnewton/gemfilelint/compare/v0.2.0...v0.2.1
|
50
|
+
[0.2.0]: https://github.com/kddnewton/gemfilelint/compare/v0.1.0...v0.2.0
|
51
|
+
[0.1.0]: https://github.com/kddnewton/gemfilelint/compare/935da5...v0.1.0
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
|
|
55
55
|
## Enforcement
|
56
56
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
-
reported by contacting the project team at
|
58
|
+
reported by contacting the project team at kddnewton@gmail.com. All
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,34 +1,38 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gemfilelint (0.
|
4
|
+
gemfilelint (0.4.0)
|
5
5
|
bundler
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
ast (2.4.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
ast (~> 2.4.0)
|
10
|
+
ast (2.4.2)
|
11
|
+
minitest (5.14.4)
|
12
|
+
parallel (1.21.0)
|
13
|
+
parser (3.0.2.0)
|
14
|
+
ast (~> 2.4.1)
|
16
15
|
rainbow (3.0.0)
|
17
|
-
rake (
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
rake (13.0.6)
|
17
|
+
regexp_parser (2.1.1)
|
18
|
+
rexml (3.2.5)
|
19
|
+
rubocop (1.21.0)
|
21
20
|
parallel (~> 1.10)
|
22
|
-
parser (>=
|
21
|
+
parser (>= 3.0.0.0)
|
23
22
|
rainbow (>= 2.2.2, < 4.0)
|
23
|
+
regexp_parser (>= 1.8, < 3.0)
|
24
24
|
rexml
|
25
|
+
rubocop-ast (>= 1.9.1, < 2.0)
|
25
26
|
ruby-progressbar (~> 1.7)
|
26
|
-
unicode-display_width (>= 1.4.0, <
|
27
|
-
|
28
|
-
|
27
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
28
|
+
rubocop-ast (1.11.0)
|
29
|
+
parser (>= 3.0.1.1)
|
30
|
+
ruby-progressbar (1.11.0)
|
31
|
+
unicode-display_width (2.1.0)
|
29
32
|
|
30
33
|
PLATFORMS
|
31
|
-
|
34
|
+
x86_64-darwin-19
|
35
|
+
x86_64-linux
|
32
36
|
|
33
37
|
DEPENDENCIES
|
34
38
|
gemfilelint!
|
@@ -37,4 +41,4 @@ DEPENDENCIES
|
|
37
41
|
rubocop
|
38
42
|
|
39
43
|
BUNDLED WITH
|
40
|
-
2.
|
44
|
+
2.2.15
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,21 @@
|
|
1
1
|
# Gemfile lint
|
2
2
|
|
3
|
-
|
3
|
+
[![Build Status](https://github.com/kddnewton/gemfilelint/workflows/Main/badge.svg)](https://github.com/kddnewton/gemfilelint/actions)
|
4
|
+
[![Gem Version](https://img.shields.io/gem/v/gemfilelint.svg)](https://github.com/kddnewton/gemfilelint)
|
5
|
+
|
6
|
+
Lint your Gemfile! This will find common spelling mistakes in gems and remote sources so that you don't accidentally download code from places that you don't mean to. For example, if you have a Gemfile with the contents:
|
7
|
+
|
8
|
+
```ruby
|
9
|
+
source 'https://rubyems.org'
|
10
|
+
|
11
|
+
gem 'rails'
|
12
|
+
gem 'puma'
|
13
|
+
gem 'pg'
|
14
|
+
```
|
15
|
+
|
16
|
+
You might not be able to see the immediate issue, but there's a typo in your source declaration. While this will generally be harmless, as it will likely error, it's also possible that someone could register that domain and provide gems with modified content to execute their own code on your production system.
|
17
|
+
|
18
|
+
`gemfilelint` is a utility that you can run against your Gemfile that will check all of your listed sources against known trusted sources and all of your listed gems against the most commonly downloaded gems according to rubygems. This can give you some peace of mind that if you make a spelling mistake you won't accidentally open yourself up to RCE without knowing it.
|
4
19
|
|
5
20
|
## Installation
|
6
21
|
|
@@ -20,7 +35,25 @@ Or install it yourself as:
|
|
20
35
|
|
21
36
|
## Usage
|
22
37
|
|
23
|
-
Run the `gemfilelint` executable either in the root of your repository
|
38
|
+
Run the `gemfilelint` executable either in the root of your repository:
|
39
|
+
|
40
|
+
```
|
41
|
+
$ bundle exec gemfilelint
|
42
|
+
```
|
43
|
+
|
44
|
+
Or run the executable pointing to any number of gemfiles:
|
45
|
+
|
46
|
+
```
|
47
|
+
$ bundle exec gemfilelint gemfiles/*.gemfile
|
48
|
+
```
|
49
|
+
|
50
|
+
### --ignore
|
51
|
+
|
52
|
+
If you're receiving false positives because you're using a gem that is named similarly to a very popular gem, then you can pass the `--ignore` option to the CLI. This should be a comma-delimited list of gem names that should be ignored when linting. For example:
|
53
|
+
|
54
|
+
```
|
55
|
+
$ bundle exec gemfilelint --ignore rr
|
56
|
+
```
|
24
57
|
|
25
58
|
## Development
|
26
59
|
|
@@ -30,7 +63,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
30
63
|
|
31
64
|
## Contributing
|
32
65
|
|
33
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
66
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/kddnewton/gemfilelint. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/kddnewton/gemfilelint/blob/master/CODE_OF_CONDUCT.md).
|
34
67
|
|
35
68
|
## License
|
36
69
|
|
@@ -38,4 +71,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
38
71
|
|
39
72
|
## Code of Conduct
|
40
73
|
|
41
|
-
Everyone interacting in the Gemfilelint project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
74
|
+
Everyone interacting in the Gemfilelint project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/kddnewton/gemfilelint/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rake/testtask"
|
5
5
|
|
6
6
|
Rake::TestTask.new(:test) do |t|
|
7
|
-
t.libs <<
|
8
|
-
t.libs <<
|
9
|
-
t.test_files = FileList[
|
7
|
+
t.libs << "test"
|
8
|
+
t.libs << "lib"
|
9
|
+
t.test_files = FileList["test/**/*_test.rb"]
|
10
10
|
end
|
11
11
|
|
12
12
|
task default: :test
|
data/bin/console
CHANGED
data/exe/gemfilelint
CHANGED
@@ -1,15 +1,31 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
$LOAD_PATH.unshift(File.expand_path(File.join(
|
5
|
-
require 'gemfilelint'
|
4
|
+
$LOAD_PATH.unshift(File.expand_path(File.join("..", "lib"), __dir__))
|
6
5
|
|
7
|
-
|
6
|
+
require "gemfilelint"
|
7
|
+
require "optparse"
|
8
8
|
|
9
|
+
options = {}
|
10
|
+
OptionParser.new do |opts|
|
11
|
+
opts.banner = "Usage: gemfilelint [options] [path/to/Gemfile]*"
|
12
|
+
|
13
|
+
opts.on("-i GEMS", "--ignore GEMS", "Ignore a comma-delimited list of false positives") do |ignore|
|
14
|
+
options[:ignore] = ignore.split(",").map(&:strip)
|
15
|
+
end
|
16
|
+
|
17
|
+
opts.on("-h", "--help", "Prints this help") do
|
18
|
+
puts opts
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
end.parse!
|
22
|
+
|
23
|
+
gemfiles = ARGV.any? ? ARGV : %w[./Gemfile]
|
9
24
|
invalid = gemfiles.reject { |gemfile| File.file?(gemfile) }
|
25
|
+
|
10
26
|
if invalid.any?
|
11
27
|
warn("Could not find a gemfile at: #{invalid.join(', ')}")
|
12
28
|
exit 2
|
13
29
|
end
|
14
30
|
|
15
|
-
exit Gemfilelint.lint(*gemfiles) ? 0 : 1
|
31
|
+
exit Gemfilelint.lint(*gemfiles, **options) ? 0 : 1
|
data/gemfilelint.gemspec
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "lib/gemfilelint/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
6
|
+
spec.name = "gemfilelint"
|
7
7
|
spec.version = Gemfilelint::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email = [
|
8
|
+
spec.authors = ["Kevin Newton"]
|
9
|
+
spec.email = ["kddnewton@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary =
|
12
|
-
spec.homepage =
|
13
|
-
spec.license =
|
11
|
+
spec.summary = "Lint your Gemfile!"
|
12
|
+
spec.homepage = "https://github.com/kddnewton/gemfilelint"
|
13
|
+
spec.license = "MIT"
|
14
14
|
|
15
15
|
spec.files = Dir.chdir(__dir__) do
|
16
16
|
`git ls-files -z`.split("\x0").reject do |f|
|
@@ -18,13 +18,13 @@ Gem::Specification.new do |spec|
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
spec.bindir =
|
21
|
+
spec.bindir = "exe"
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
-
spec.require_paths = [
|
23
|
+
spec.require_paths = ["lib"]
|
24
24
|
|
25
|
-
spec.add_dependency
|
25
|
+
spec.add_dependency "bundler"
|
26
26
|
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
27
|
+
spec.add_development_dependency "minitest"
|
28
|
+
spec.add_development_dependency "rake"
|
29
|
+
spec.add_development_dependency "rubocop"
|
30
30
|
end
|
data/lib/gemfilelint/version.rb
CHANGED
data/lib/gemfilelint.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "delegate"
|
4
|
+
require "logger"
|
5
5
|
|
6
|
-
require
|
7
|
-
require
|
6
|
+
require "bundler"
|
7
|
+
require "bundler/similarity_detector"
|
8
8
|
|
9
|
-
require
|
9
|
+
require "gemfilelint/version"
|
10
10
|
|
11
11
|
module Gemfilelint
|
12
12
|
class SpellChecker
|
@@ -20,7 +20,7 @@ module Gemfilelint
|
|
20
20
|
def correct(needle)
|
21
21
|
return [] if haystack.include?(needle)
|
22
22
|
|
23
|
-
detector.similar_words(needle)
|
23
|
+
detector.similar_words(needle, 2)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -52,8 +52,10 @@ module Gemfilelint
|
|
52
52
|
|
53
53
|
module Parser
|
54
54
|
class Valid < Struct.new(:path, :dsl)
|
55
|
-
def each_offense
|
55
|
+
def each_offense(ignore: [])
|
56
56
|
dependencies.each do |dependency|
|
57
|
+
next if ignore.include?(dependency)
|
58
|
+
|
57
59
|
yield dependency_offense_for(dependency)
|
58
60
|
end
|
59
61
|
|
@@ -77,11 +79,12 @@ module Gemfilelint
|
|
77
79
|
|
78
80
|
# Lol wut, there has got to be a better way to do this
|
79
81
|
def remotes
|
80
|
-
dsl
|
81
|
-
|
82
|
-
.instance_variable_get(:@rubygems_aggregate)
|
83
|
-
.
|
84
|
-
|
82
|
+
sources = dsl.instance_variable_get(:@sources)
|
83
|
+
rubygems =
|
84
|
+
sources.instance_variable_get(:@rubygems_aggregate) ||
|
85
|
+
sources.instance_variable_get(:@global_rubygems_source)
|
86
|
+
|
87
|
+
rubygems.remotes.map(&:to_s)
|
85
88
|
end
|
86
89
|
|
87
90
|
def remote_offense_for(uri)
|
@@ -93,7 +96,7 @@ module Gemfilelint
|
|
93
96
|
end
|
94
97
|
|
95
98
|
class Invalid < Struct.new(:path)
|
96
|
-
def each_offense
|
99
|
+
def each_offense(**)
|
97
100
|
yield Offenses::InvalidGemfile.new(path)
|
98
101
|
end
|
99
102
|
end
|
@@ -118,9 +121,10 @@ module Gemfilelint
|
|
118
121
|
|
119
122
|
using ANSIColor
|
120
123
|
|
121
|
-
attr_reader :logger
|
124
|
+
attr_reader :ignore, :logger
|
122
125
|
|
123
|
-
def initialize(logger: nil)
|
126
|
+
def initialize(ignore: [], logger: nil)
|
127
|
+
@ignore = ignore
|
124
128
|
@logger = logger || make_logger
|
125
129
|
end
|
126
130
|
|
@@ -133,9 +137,9 @@ module Gemfilelint
|
|
133
137
|
each_offense_for(paths) do |offense|
|
134
138
|
if offense
|
135
139
|
offenses << offense
|
136
|
-
logger.info(
|
140
|
+
logger.info("W".colorize(:magenta))
|
137
141
|
else
|
138
|
-
logger.info(
|
142
|
+
logger.info(".".colorize(:green))
|
139
143
|
end
|
140
144
|
end
|
141
145
|
|
@@ -155,14 +159,14 @@ module Gemfilelint
|
|
155
159
|
|
156
160
|
def each_offense_for(paths)
|
157
161
|
paths.each do |path|
|
158
|
-
Parser.for(path).each_offense do |offense|
|
162
|
+
Parser.for(path).each_offense(ignore: ignore) do |offense|
|
159
163
|
yield offense
|
160
164
|
end
|
161
165
|
end
|
162
166
|
end
|
163
167
|
|
164
168
|
def make_logger
|
165
|
-
Logger.new(
|
169
|
+
Logger.new($stdout).tap do |creating|
|
166
170
|
creating.level = :info
|
167
171
|
creating.formatter = ->(*, message) { message }
|
168
172
|
end
|
@@ -177,16 +181,16 @@ module Gemfilelint
|
|
177
181
|
def dependencies
|
178
182
|
@dependencies ||=
|
179
183
|
SpellChecker.new(
|
180
|
-
File.read(File.expand_path(
|
184
|
+
File.read(File.expand_path("gems.txt", __dir__)).split("\n")
|
181
185
|
)
|
182
186
|
end
|
183
187
|
|
184
188
|
def remotes
|
185
|
-
@remotes ||= SpellChecker.new([
|
189
|
+
@remotes ||= SpellChecker.new(["https://rubygems.org/"])
|
186
190
|
end
|
187
191
|
|
188
|
-
def lint(*paths, logger: nil)
|
189
|
-
Linter.new(logger: logger).lint(*paths)
|
192
|
+
def lint(*paths, ignore: [], logger: nil)
|
193
|
+
Linter.new(ignore: ignore, logger: logger).lint(*paths)
|
190
194
|
end
|
191
195
|
end
|
192
196
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemfilelint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Kevin
|
8
|
-
autorequire:
|
7
|
+
- Kevin Newton
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,17 +66,17 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
69
|
+
description:
|
70
70
|
email:
|
71
|
-
-
|
71
|
+
- kddnewton@gmail.com
|
72
72
|
executables:
|
73
73
|
- gemfilelint
|
74
74
|
extensions: []
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
+
- ".github/dependabot.yml"
|
77
78
|
- ".github/workflows/main.yml"
|
78
79
|
- ".gitignore"
|
79
|
-
- ".mergify.yml"
|
80
80
|
- ".rubocop.yml"
|
81
81
|
- CHANGELOG.md
|
82
82
|
- CODE_OF_CONDUCT.md
|
@@ -93,11 +93,11 @@ files:
|
|
93
93
|
- lib/gemfilelint.rb
|
94
94
|
- lib/gemfilelint/version.rb
|
95
95
|
- lib/gems.txt
|
96
|
-
homepage: https://github.com/
|
96
|
+
homepage: https://github.com/kddnewton/gemfilelint
|
97
97
|
licenses:
|
98
98
|
- MIT
|
99
99
|
metadata: {}
|
100
|
-
post_install_message:
|
100
|
+
post_install_message:
|
101
101
|
rdoc_options: []
|
102
102
|
require_paths:
|
103
103
|
- lib
|
@@ -112,8 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
112
|
- !ruby/object:Gem::Version
|
113
113
|
version: '0'
|
114
114
|
requirements: []
|
115
|
-
rubygems_version: 3.
|
116
|
-
signing_key:
|
115
|
+
rubygems_version: 3.2.3
|
116
|
+
signing_key:
|
117
117
|
specification_version: 4
|
118
118
|
summary: Lint your Gemfile!
|
119
119
|
test_files: []
|