git-lint 8.8.0 → 9.0.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
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +13 -13
- data/git-lint.gemspec +13 -13
- data/lib/git/lint/analyzer.rb +2 -2
- data/lib/git/lint/analyzers/abstract.rb +1 -1
- data/lib/git/lint/analyzers/commit_author_capitalization.rb +1 -1
- data/lib/git/lint/analyzers/commit_author_email.rb +1 -1
- data/lib/git/lint/analyzers/commit_author_name.rb +1 -1
- data/lib/git/lint/analyzers/commit_body_word_repeat.rb +1 -1
- data/lib/git/lint/analyzers/commit_signature.rb +1 -1
- data/lib/git/lint/analyzers/commit_subject_word_repeat.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_collaborator_capitalization.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_collaborator_email.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_collaborator_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_collaborator_name.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_format_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_format_value.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_issue_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_issue_value.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_milestone_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_milestone_value.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_reviewer_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_reviewer_value.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_signer_capitalization.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_signer_email.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_signer_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_signer_name.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_tracker_key.rb +1 -1
- data/lib/git/lint/analyzers/commit_trailer_tracker_value.rb +1 -1
- data/lib/git/lint/cli/actions/analyze/branch.rb +1 -1
- data/lib/git/lint/cli/actions/analyze/commit.rb +1 -1
- data/lib/git/lint/cli/actions/hook.rb +1 -1
- data/lib/git/lint/cli/shell.rb +1 -1
- data/lib/git/lint/commits/hosts/circle_ci.rb +1 -1
- data/lib/git/lint/commits/hosts/git_hub_action.rb +1 -1
- data/lib/git/lint/commits/hosts/local.rb +1 -1
- data/lib/git/lint/commits/hosts/netlify_ci.rb +1 -1
- data/lib/git/lint/commits/loader.rb +1 -1
- data/lib/git/lint/configuration/defaults.yml +1 -1
- data/lib/git/lint/{import.rb → dependencies.rb} +1 -1
- data/lib/git/lint/reporters/branch.rb +1 -1
- data/lib/git/lint/reporters/style.rb +1 -1
- data/lib/git/lint/validators/repeated_word.rb +9 -8
- data.tar.gz.sig +0 -0
- metadata +27 -34
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c9e795b44dd0b5c94a68acf79031dc4bda39b3ad8901734a3e52f9b6442f56fd
|
|
4
|
+
data.tar.gz: c921178b395af033f4bbbfb0be7fa6c0e1a534cf5cd5262e3949fd32e213f4da
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b2ffe9cdcc0b0428d34de0ba74c047a7c600ce5b5904346bf0fe7a615a172b7ac45df9972738e7fb9b5bba004d5396ffcc468c7f397cf5a1b613f842cdef8eea
|
|
7
|
+
data.tar.gz: 627b8c26a1673a893b7561191664763e976b3e227b5d9a00d3d23f6a9bd68f209e0d4864dcb5176bea8c1a6e012561c204a95c5d47729c7c4f8c9016e3a4e75d
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/README.adoc
CHANGED
|
@@ -82,7 +82,7 @@ Running Git Lint...
|
|
|
82
82
|
83dbad531d84a184e55cbb38c5b2a4e5fa5bcaee (Brooke Kuhlmann, 0 seconds ago): This is a bogus commit message that is also terribly long and will word wrap.
|
|
83
83
|
Commit Body Presence Warning. Use minimum of 1 line (non-empty).
|
|
84
84
|
Commit Subject Length Error. Use 72 characters or less.
|
|
85
|
-
Commit Subject Prefix Error. Use: /
|
|
85
|
+
Commit Subject Prefix Error. Use: /Added /, /Updated /, /Fixed /, /Removed /, or /Refactored /.
|
|
86
86
|
Commit Subject Suffix Error. Avoid: /\./, /\?/, /\!/.
|
|
87
87
|
|
|
88
88
|
1 commit inspected. 4 issues detected (1 warning, 3 errors).
|
|
@@ -118,20 +118,20 @@ commits:
|
|
|
118
118
|
enabled: true
|
|
119
119
|
severity: error
|
|
120
120
|
includes:
|
|
121
|
-
- "\\-"
|
|
122
121
|
- "\\*"
|
|
122
|
+
- "\\-"
|
|
123
123
|
bullet_delimiter:
|
|
124
124
|
enabled: true
|
|
125
125
|
severity: error
|
|
126
126
|
includes:
|
|
127
|
-
- "\\-"
|
|
128
127
|
- "\\*"
|
|
128
|
+
- "\\-"
|
|
129
129
|
bullet_only:
|
|
130
130
|
enabled: true
|
|
131
131
|
severity: error
|
|
132
132
|
includes:
|
|
133
|
-
- "\\-"
|
|
134
133
|
- "\\*"
|
|
134
|
+
- "\\-"
|
|
135
135
|
leading_line:
|
|
136
136
|
enabled: true
|
|
137
137
|
severity: warn
|
|
@@ -182,8 +182,8 @@ commits:
|
|
|
182
182
|
enabled: true
|
|
183
183
|
severity: error
|
|
184
184
|
excludes:
|
|
185
|
-
- "(f|F)ix(es|ed)?\\s\\#\\d+"
|
|
186
185
|
- "(c|C)lose(s|d)?\\s\\#\\d+"
|
|
186
|
+
- "(f|F)ix(es|ed)?\\s\\#\\d+"
|
|
187
187
|
- "(r|R)esolve(s|d)?\\s\\#\\d+"
|
|
188
188
|
word_repeat:
|
|
189
189
|
enabled: true
|
|
@@ -203,18 +203,18 @@ commits:
|
|
|
203
203
|
severity: error
|
|
204
204
|
delimiter: " "
|
|
205
205
|
includes:
|
|
206
|
-
- Fixed
|
|
207
206
|
- Added
|
|
208
207
|
- Updated
|
|
208
|
+
- Fixed
|
|
209
209
|
- Removed
|
|
210
210
|
- Refactored
|
|
211
211
|
suffix:
|
|
212
212
|
enabled: true
|
|
213
213
|
severity: error
|
|
214
214
|
excludes:
|
|
215
|
+
- "\\!"
|
|
215
216
|
- "\\."
|
|
216
217
|
- "\\?"
|
|
217
|
-
- "\\!"
|
|
218
218
|
word_repeat:
|
|
219
219
|
enabled: true
|
|
220
220
|
severity: error
|
|
@@ -651,6 +651,12 @@ Automatically ignores _fixup!_ or _squash!_ commit prefixes when calculating sub
|
|
|
651
651
|
Ensures each commit subject uses consistent prefixes that explain _what_ is being committed. The
|
|
652
652
|
`includes` are _case sensitive_ and default to the following prefixes:
|
|
653
653
|
|
|
654
|
+
* *Added* - Identifies what was added. The commit should be as small as possible and consist of
|
|
655
|
+
implementation and spec. Otherwise, it might be a change to an existing file which adds new
|
|
656
|
+
behavior.
|
|
657
|
+
* *Updated* - Identifies what was updated. The commit should be as small as possible and _not add
|
|
658
|
+
or fix_ existing behavior. This can sometimes be a grey area but is typically reserved for updates
|
|
659
|
+
to documentation, code comments, dependencies, etc.
|
|
654
660
|
* *Fixed* - Identifies what was fixed. The commit should be as small as possible and consist of
|
|
655
661
|
changes to implementation and spec only. In some cases this might be a single line change. The
|
|
656
662
|
important point is the change is applied to existing code which corrects behavior that wasn't
|
|
@@ -658,12 +664,6 @@ Ensures each commit subject uses consistent prefixes that explain _what_ is bein
|
|
|
658
664
|
* *Removed* - Identifies what was removed. The commit should be as small as possible and consist
|
|
659
665
|
only of removed lines/files from the existing implementation. This might also mean breaking
|
|
660
666
|
changes requiring the publishing of a _major_ version release in the future.
|
|
661
|
-
* *Added* - Identifies what was added. The commit should be as small as possible and consist of
|
|
662
|
-
implementation and spec. Otherwise, it might be a change to an existing file which adds new
|
|
663
|
-
behavior.
|
|
664
|
-
* *Updated* - Identifies what was updated. The commit should be as small as possible and _not add
|
|
665
|
-
or fix_ existing behavior. This can sometimes be a grey area but is typically reserved for updates
|
|
666
|
-
to documentation, code comments, dependencies, etc.
|
|
667
667
|
* *Refactored* - Identifies what was refactored.
|
|
668
668
|
link:https://thoughtbot.com/blog/lets-not-misuse-refactoring[_Refactoring is for changing code
|
|
669
669
|
structure without changing observable behavior_]. The commit should be as small as possible and
|
data/git-lint.gemspec
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |spec|
|
|
4
4
|
spec.name = "git-lint"
|
|
5
|
-
spec.version = "
|
|
5
|
+
spec.version = "9.0.0"
|
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
|
8
8
|
spec.homepage = "https://alchemists.io/projects/git-lint"
|
|
@@ -22,20 +22,20 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.signing_key = Gem.default_key_path
|
|
23
23
|
spec.cert_chain = [Gem.default_cert_path]
|
|
24
24
|
|
|
25
|
-
spec.required_ruby_version = "
|
|
26
|
-
spec.add_dependency "cogger", "~> 0
|
|
27
|
-
spec.add_dependency "containable", "~> 0
|
|
28
|
-
spec.add_dependency "core", "~>
|
|
25
|
+
spec.required_ruby_version = "~> 3.4"
|
|
26
|
+
spec.add_dependency "cogger", "~> 1.0"
|
|
27
|
+
spec.add_dependency "containable", "~> 1.0"
|
|
28
|
+
spec.add_dependency "core", "~> 2.0"
|
|
29
29
|
spec.add_dependency "dry-monads", "~> 1.6"
|
|
30
30
|
spec.add_dependency "dry-schema", "~> 1.13"
|
|
31
|
-
spec.add_dependency "etcher", "~>
|
|
32
|
-
spec.add_dependency "gitt", "~>
|
|
33
|
-
spec.add_dependency "infusible", "~>
|
|
34
|
-
spec.add_dependency "refinements", "~>
|
|
35
|
-
spec.add_dependency "runcom", "~>
|
|
36
|
-
spec.add_dependency "sod", "~> 0
|
|
37
|
-
spec.add_dependency "spek", "~>
|
|
38
|
-
spec.add_dependency "tone", "~>
|
|
31
|
+
spec.add_dependency "etcher", "~> 3.0"
|
|
32
|
+
spec.add_dependency "gitt", "~> 4.0"
|
|
33
|
+
spec.add_dependency "infusible", "~> 4.0"
|
|
34
|
+
spec.add_dependency "refinements", "~> 13.0"
|
|
35
|
+
spec.add_dependency "runcom", "~> 12.0"
|
|
36
|
+
spec.add_dependency "sod", "~> 1.0"
|
|
37
|
+
spec.add_dependency "spek", "~> 4.0"
|
|
38
|
+
spec.add_dependency "tone", "~> 2.0"
|
|
39
39
|
spec.add_dependency "zeitwerk", "~> 2.7"
|
|
40
40
|
|
|
41
41
|
spec.bindir = "exe"
|
data/lib/git/lint/analyzer.rb
CHANGED
|
@@ -4,7 +4,7 @@ module Git
|
|
|
4
4
|
module Lint
|
|
5
5
|
# Runs all analyzers.
|
|
6
6
|
class Analyzer
|
|
7
|
-
include
|
|
7
|
+
include Dependencies[:settings]
|
|
8
8
|
|
|
9
9
|
ANALYZERS = [
|
|
10
10
|
Analyzers::CommitAuthorCapitalization,
|
|
@@ -83,7 +83,7 @@ module Git
|
|
|
83
83
|
settings.to_h
|
|
84
84
|
.select { |key, value| key.end_with?("enabled") && value == true }
|
|
85
85
|
.keys
|
|
86
|
-
.map { |key| key.to_s.sub
|
|
86
|
+
.map { |key| key.to_s.sub("commits_", "commit_").delete_suffix! "_enabled" }
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
def load_analyzer commit, id
|
|
@@ -8,7 +8,7 @@ module Git
|
|
|
8
8
|
module Analyzers
|
|
9
9
|
# An abstract class which provides basic functionality for all analyzers to inherit from.
|
|
10
10
|
class Abstract
|
|
11
|
-
include
|
|
11
|
+
include Dependencies[:settings, :environment]
|
|
12
12
|
|
|
13
13
|
using Refinements::String
|
|
14
14
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes author name for proper capitalization.
|
|
7
7
|
class CommitAuthorCapitalization < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[validator: "validators.capitalization"]
|
|
9
9
|
|
|
10
10
|
def valid? = validator.call commit.author_name
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes author email address for proper format.
|
|
7
7
|
class CommitAuthorEmail < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[validator: "validators.email"]
|
|
9
9
|
|
|
10
10
|
def valid? = validator.call commit.author_email
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes author name for minimum parts of name.
|
|
7
7
|
class CommitAuthorName < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[validator: "validators.name"]
|
|
9
9
|
|
|
10
10
|
def valid? = validator.call(commit.author_name, minimum:)
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit body for repeated words.
|
|
7
7
|
class CommitBodyWordRepeat < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[validator: "validators.repeated_word"]
|
|
9
9
|
|
|
10
10
|
def valid? = commit.body_lines.all? { |line| !invalid_line? line }
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit signature validity.
|
|
7
7
|
class CommitSignature < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[sanitizer: "sanitizers.signature"]
|
|
9
9
|
|
|
10
10
|
def valid?
|
|
11
11
|
sanitizer.call(commit.signature).match?(/\A#{Regexp.union filter_list}\Z/)
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit subject for repeated words.
|
|
7
7
|
class CommitSubjectWordRepeat < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[validator: "validators.repeated_word"]
|
|
9
9
|
|
|
10
10
|
def valid? = validator.call(commit.subject).empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer collaborator name capitalization.
|
|
7
7
|
class CommitTrailerCollaboratorCapitalization < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[
|
|
9
9
|
setting: "trailers.collaborator",
|
|
10
10
|
parser: "parsers.person",
|
|
11
11
|
validator: "validators.capitalization"
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer collaborator email address format.
|
|
7
7
|
class CommitTrailerCollaboratorEmail < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[
|
|
9
9
|
setting: "trailers.collaborator",
|
|
10
10
|
parser: "parsers.person",
|
|
11
11
|
validator: "validators.email"
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer collaborator key usage.
|
|
7
7
|
class CommitTrailerCollaboratorKey < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.collaborator"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer collaborator name construction.
|
|
7
7
|
class CommitTrailerCollaboratorName < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[
|
|
9
9
|
setting: "trailers.collaborator",
|
|
10
10
|
parser: "parsers.person",
|
|
11
11
|
validator: "validators.name"
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer format key usage.
|
|
7
7
|
class CommitTrailerFormatKey < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.format"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer milestone key usage.
|
|
7
7
|
class CommitTrailerMilestoneKey < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.milestone"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer milestone value.
|
|
7
7
|
class CommitTrailerMilestoneValue < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.milestone"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer reviwer key usage.
|
|
7
7
|
class CommitTrailerReviewerKey < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.reviewer"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer reviewer value.
|
|
7
7
|
class CommitTrailerReviewerValue < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.reviewer"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer signer name capitalization.
|
|
7
7
|
class CommitTrailerSignerCapitalization < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[
|
|
9
9
|
setting: "trailers.signer",
|
|
10
10
|
parser: "parsers.person",
|
|
11
11
|
validator: "validators.capitalization"
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer signer key usage.
|
|
7
7
|
class CommitTrailerSignerKey < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.signer"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer tracker key usage.
|
|
7
7
|
class CommitTrailerTrackerKey < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.tracker"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ module Git
|
|
|
5
5
|
module Analyzers
|
|
6
6
|
# Analyzes commit trailer tracker value.
|
|
7
7
|
class CommitTrailerTrackerValue < Abstract
|
|
8
|
-
include
|
|
8
|
+
include Dependencies[setting: "trailers.tracker"]
|
|
9
9
|
|
|
10
10
|
def valid? = affected_commit_trailers.empty?
|
|
11
11
|
|
|
@@ -9,7 +9,7 @@ module Git
|
|
|
9
9
|
module Analyze
|
|
10
10
|
# Handles analyze action for single commit SHA
|
|
11
11
|
class Commit < Sod::Action
|
|
12
|
-
include
|
|
12
|
+
include Dependencies[:git, :logger, :kernel, :io]
|
|
13
13
|
|
|
14
14
|
description "Analyze specific commits."
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@ module Git
|
|
|
9
9
|
module Actions
|
|
10
10
|
# Handles unsaved Git commit action.
|
|
11
11
|
class Hook < Sod::Action
|
|
12
|
-
include
|
|
12
|
+
include Dependencies[:git, :logger, :kernel, :io]
|
|
13
13
|
|
|
14
14
|
description "Hook for analyzing unsaved commits."
|
|
15
15
|
|
data/lib/git/lint/cli/shell.rb
CHANGED
|
@@ -7,7 +7,7 @@ module Git
|
|
|
7
7
|
module CLI
|
|
8
8
|
# The main Command Line Interface (CLI) object.
|
|
9
9
|
class Shell
|
|
10
|
-
include
|
|
10
|
+
include Dependencies[:defaults_path, :xdg_config, :specification]
|
|
11
11
|
|
|
12
12
|
def initialize(context: Sod::Context, dsl: Sod, **)
|
|
13
13
|
super(**)
|
|
@@ -6,7 +6,7 @@ module Git
|
|
|
6
6
|
module Hosts
|
|
7
7
|
# Provides Netlify CI feature branch information.
|
|
8
8
|
class NetlifyCI
|
|
9
|
-
include
|
|
9
|
+
include Dependencies[:git, :environment]
|
|
10
10
|
|
|
11
11
|
def call
|
|
12
12
|
git.call("remote", "add", "-f", "origin", environment["REPOSITORY_URL"])
|
|
@@ -15,8 +15,13 @@ module Git
|
|
|
15
15
|
| # Or.
|
|
16
16
|
(?<=\s)\w+ # Match word with leading space.
|
|
17
17
|
/x,
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
exclude: /
|
|
19
|
+
( # Conditional start.
|
|
20
|
+
`.+` # Code blocks.
|
|
21
|
+
| # Or.
|
|
22
|
+
\d+\. # Digits followed by periods.
|
|
23
|
+
) # Conditional end.
|
|
24
|
+
/x
|
|
20
25
|
}.freeze
|
|
21
26
|
|
|
22
27
|
def initialize patterns: PATTERNS
|
|
@@ -35,15 +40,11 @@ module Git
|
|
|
35
40
|
end
|
|
36
41
|
end
|
|
37
42
|
|
|
38
|
-
def parse content
|
|
39
|
-
content.gsub(code_block_pattern, "").gsub(version_pattern, "").scan word_pattern
|
|
40
|
-
end
|
|
43
|
+
def parse(content) = content.gsub(exclude_pattern, "").scan word_pattern
|
|
41
44
|
|
|
42
45
|
def word_pattern = patterns.fetch :word
|
|
43
46
|
|
|
44
|
-
def
|
|
45
|
-
|
|
46
|
-
def version_pattern = patterns.fetch :version
|
|
47
|
+
def exclude_pattern = patterns.fetch :exclude
|
|
47
48
|
end
|
|
48
49
|
end
|
|
49
50
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: git-lint
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 9.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brooke Kuhlmann
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain:
|
|
11
10
|
- |
|
|
@@ -35,7 +34,7 @@ cert_chain:
|
|
|
35
34
|
3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
|
|
36
35
|
gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
|
|
37
36
|
-----END CERTIFICATE-----
|
|
38
|
-
date: 2024-
|
|
37
|
+
date: 2024-12-27 00:00:00.000000000 Z
|
|
39
38
|
dependencies:
|
|
40
39
|
- !ruby/object:Gem::Dependency
|
|
41
40
|
name: cogger
|
|
@@ -43,42 +42,42 @@ dependencies:
|
|
|
43
42
|
requirements:
|
|
44
43
|
- - "~>"
|
|
45
44
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '0
|
|
45
|
+
version: '1.0'
|
|
47
46
|
type: :runtime
|
|
48
47
|
prerelease: false
|
|
49
48
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
49
|
requirements:
|
|
51
50
|
- - "~>"
|
|
52
51
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0
|
|
52
|
+
version: '1.0'
|
|
54
53
|
- !ruby/object:Gem::Dependency
|
|
55
54
|
name: containable
|
|
56
55
|
requirement: !ruby/object:Gem::Requirement
|
|
57
56
|
requirements:
|
|
58
57
|
- - "~>"
|
|
59
58
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0
|
|
59
|
+
version: '1.0'
|
|
61
60
|
type: :runtime
|
|
62
61
|
prerelease: false
|
|
63
62
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
63
|
requirements:
|
|
65
64
|
- - "~>"
|
|
66
65
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0
|
|
66
|
+
version: '1.0'
|
|
68
67
|
- !ruby/object:Gem::Dependency
|
|
69
68
|
name: core
|
|
70
69
|
requirement: !ruby/object:Gem::Requirement
|
|
71
70
|
requirements:
|
|
72
71
|
- - "~>"
|
|
73
72
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '
|
|
73
|
+
version: '2.0'
|
|
75
74
|
type: :runtime
|
|
76
75
|
prerelease: false
|
|
77
76
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
77
|
requirements:
|
|
79
78
|
- - "~>"
|
|
80
79
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
80
|
+
version: '2.0'
|
|
82
81
|
- !ruby/object:Gem::Dependency
|
|
83
82
|
name: dry-monads
|
|
84
83
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -113,112 +112,112 @@ dependencies:
|
|
|
113
112
|
requirements:
|
|
114
113
|
- - "~>"
|
|
115
114
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
115
|
+
version: '3.0'
|
|
117
116
|
type: :runtime
|
|
118
117
|
prerelease: false
|
|
119
118
|
version_requirements: !ruby/object:Gem::Requirement
|
|
120
119
|
requirements:
|
|
121
120
|
- - "~>"
|
|
122
121
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '
|
|
122
|
+
version: '3.0'
|
|
124
123
|
- !ruby/object:Gem::Dependency
|
|
125
124
|
name: gitt
|
|
126
125
|
requirement: !ruby/object:Gem::Requirement
|
|
127
126
|
requirements:
|
|
128
127
|
- - "~>"
|
|
129
128
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '
|
|
129
|
+
version: '4.0'
|
|
131
130
|
type: :runtime
|
|
132
131
|
prerelease: false
|
|
133
132
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
133
|
requirements:
|
|
135
134
|
- - "~>"
|
|
136
135
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: '
|
|
136
|
+
version: '4.0'
|
|
138
137
|
- !ruby/object:Gem::Dependency
|
|
139
138
|
name: infusible
|
|
140
139
|
requirement: !ruby/object:Gem::Requirement
|
|
141
140
|
requirements:
|
|
142
141
|
- - "~>"
|
|
143
142
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '
|
|
143
|
+
version: '4.0'
|
|
145
144
|
type: :runtime
|
|
146
145
|
prerelease: false
|
|
147
146
|
version_requirements: !ruby/object:Gem::Requirement
|
|
148
147
|
requirements:
|
|
149
148
|
- - "~>"
|
|
150
149
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: '
|
|
150
|
+
version: '4.0'
|
|
152
151
|
- !ruby/object:Gem::Dependency
|
|
153
152
|
name: refinements
|
|
154
153
|
requirement: !ruby/object:Gem::Requirement
|
|
155
154
|
requirements:
|
|
156
155
|
- - "~>"
|
|
157
156
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: '
|
|
157
|
+
version: '13.0'
|
|
159
158
|
type: :runtime
|
|
160
159
|
prerelease: false
|
|
161
160
|
version_requirements: !ruby/object:Gem::Requirement
|
|
162
161
|
requirements:
|
|
163
162
|
- - "~>"
|
|
164
163
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: '
|
|
164
|
+
version: '13.0'
|
|
166
165
|
- !ruby/object:Gem::Dependency
|
|
167
166
|
name: runcom
|
|
168
167
|
requirement: !ruby/object:Gem::Requirement
|
|
169
168
|
requirements:
|
|
170
169
|
- - "~>"
|
|
171
170
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
171
|
+
version: '12.0'
|
|
173
172
|
type: :runtime
|
|
174
173
|
prerelease: false
|
|
175
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
176
175
|
requirements:
|
|
177
176
|
- - "~>"
|
|
178
177
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '
|
|
178
|
+
version: '12.0'
|
|
180
179
|
- !ruby/object:Gem::Dependency
|
|
181
180
|
name: sod
|
|
182
181
|
requirement: !ruby/object:Gem::Requirement
|
|
183
182
|
requirements:
|
|
184
183
|
- - "~>"
|
|
185
184
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '0
|
|
185
|
+
version: '1.0'
|
|
187
186
|
type: :runtime
|
|
188
187
|
prerelease: false
|
|
189
188
|
version_requirements: !ruby/object:Gem::Requirement
|
|
190
189
|
requirements:
|
|
191
190
|
- - "~>"
|
|
192
191
|
- !ruby/object:Gem::Version
|
|
193
|
-
version: '0
|
|
192
|
+
version: '1.0'
|
|
194
193
|
- !ruby/object:Gem::Dependency
|
|
195
194
|
name: spek
|
|
196
195
|
requirement: !ruby/object:Gem::Requirement
|
|
197
196
|
requirements:
|
|
198
197
|
- - "~>"
|
|
199
198
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: '
|
|
199
|
+
version: '4.0'
|
|
201
200
|
type: :runtime
|
|
202
201
|
prerelease: false
|
|
203
202
|
version_requirements: !ruby/object:Gem::Requirement
|
|
204
203
|
requirements:
|
|
205
204
|
- - "~>"
|
|
206
205
|
- !ruby/object:Gem::Version
|
|
207
|
-
version: '
|
|
206
|
+
version: '4.0'
|
|
208
207
|
- !ruby/object:Gem::Dependency
|
|
209
208
|
name: tone
|
|
210
209
|
requirement: !ruby/object:Gem::Requirement
|
|
211
210
|
requirements:
|
|
212
211
|
- - "~>"
|
|
213
212
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: '
|
|
213
|
+
version: '2.0'
|
|
215
214
|
type: :runtime
|
|
216
215
|
prerelease: false
|
|
217
216
|
version_requirements: !ruby/object:Gem::Requirement
|
|
218
217
|
requirements:
|
|
219
218
|
- - "~>"
|
|
220
219
|
- !ruby/object:Gem::Version
|
|
221
|
-
version: '
|
|
220
|
+
version: '2.0'
|
|
222
221
|
- !ruby/object:Gem::Dependency
|
|
223
222
|
name: zeitwerk
|
|
224
223
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -233,7 +232,6 @@ dependencies:
|
|
|
233
232
|
- - "~>"
|
|
234
233
|
- !ruby/object:Gem::Version
|
|
235
234
|
version: '2.7'
|
|
236
|
-
description:
|
|
237
235
|
email:
|
|
238
236
|
- brooke@alchemists.io
|
|
239
237
|
executables:
|
|
@@ -303,10 +301,10 @@ files:
|
|
|
303
301
|
- lib/git/lint/configuration/model.rb
|
|
304
302
|
- lib/git/lint/configuration/trailer.rb
|
|
305
303
|
- lib/git/lint/container.rb
|
|
304
|
+
- lib/git/lint/dependencies.rb
|
|
306
305
|
- lib/git/lint/errors/base.rb
|
|
307
306
|
- lib/git/lint/errors/severity.rb
|
|
308
307
|
- lib/git/lint/errors/sha.rb
|
|
309
|
-
- lib/git/lint/import.rb
|
|
310
308
|
- lib/git/lint/kit/filter_list.rb
|
|
311
309
|
- lib/git/lint/rake/register.rb
|
|
312
310
|
- lib/git/lint/reporters/branch.rb
|
|
@@ -330,16 +328,12 @@ metadata:
|
|
|
330
328
|
label: Git Lint
|
|
331
329
|
rubygems_mfa_required: 'true'
|
|
332
330
|
source_code_uri: https://github.com/bkuhlmann/git-lint
|
|
333
|
-
post_install_message:
|
|
334
331
|
rdoc_options: []
|
|
335
332
|
require_paths:
|
|
336
333
|
- lib
|
|
337
334
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
338
335
|
requirements:
|
|
339
|
-
- - "
|
|
340
|
-
- !ruby/object:Gem::Version
|
|
341
|
-
version: '3.3'
|
|
342
|
-
- - "<="
|
|
336
|
+
- - "~>"
|
|
343
337
|
- !ruby/object:Gem::Version
|
|
344
338
|
version: '3.4'
|
|
345
339
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
@@ -348,8 +342,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
348
342
|
- !ruby/object:Gem::Version
|
|
349
343
|
version: '0'
|
|
350
344
|
requirements: []
|
|
351
|
-
rubygems_version: 3.
|
|
352
|
-
signing_key:
|
|
345
|
+
rubygems_version: 3.6.2
|
|
353
346
|
specification_version: 4
|
|
354
347
|
summary: A command line interface for linting Git commits.
|
|
355
348
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|