overcommit 0.67.1 → 0.68.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/config/default.yml +14 -0
- data/lib/overcommit/hook/pre_commit/scalastyle.rb +1 -1
- data/lib/overcommit/hook/pre_commit/solargraph.rb +48 -0
- data/lib/overcommit/version.rb +1 -1
- data/template-dir/hooks/commit-msg +0 -1
- data/template-dir/hooks/overcommit-hook +0 -1
- data/template-dir/hooks/post-checkout +0 -1
- data/template-dir/hooks/post-commit +0 -1
- data/template-dir/hooks/post-merge +0 -1
- data/template-dir/hooks/post-rewrite +0 -1
- data/template-dir/hooks/pre-commit +0 -1
- data/template-dir/hooks/pre-push +0 -1
- data/template-dir/hooks/pre-rebase +0 -1
- data/template-dir/hooks/prepare-commit-msg +0 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57b026be0de6f8992a7959d366a7c131025b1de64e442d5fdbf3e73481501645
|
4
|
+
data.tar.gz: 17e3e01c75287dcfac05d6e8b8114db2aa772cd407efed388bd68674714ff46c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a0f34b82082e8b20eb23c7cb77066d2a2f6135d38b8a700c247f014100c2bd6f4ab6f0e0ff14517e219891eafa54a4d0bf4796604971d91d5125e2435d17e11
|
7
|
+
data.tar.gz: a7f96cef415b1722d62f4cede3af1808005c16f892095ea1ff7f420eef00bd448dad778fc699c5e4360dab1f21847cd892375187c2a6ad8ef1d14944573a5d1a
|
data/config/default.yml
CHANGED
@@ -799,6 +799,20 @@ PreCommit:
|
|
799
799
|
install_command: 'gem install slim_lint'
|
800
800
|
include: '**/*.slim'
|
801
801
|
|
802
|
+
Solargraph:
|
803
|
+
enabled: false
|
804
|
+
description: 'Typecheck with Solargraph'
|
805
|
+
requires_files: true
|
806
|
+
required_executable: 'solargraph'
|
807
|
+
install_command: 'gem install solargraph'
|
808
|
+
flags: ['typecheck', '--level', 'strong']
|
809
|
+
include: '**/*.rb'
|
810
|
+
exclude:
|
811
|
+
- 'spec/**/*.rb'
|
812
|
+
- 'test/**/*.rb'
|
813
|
+
- 'vendor/**/*.rb'
|
814
|
+
- '.bundle/**/*.rb'
|
815
|
+
|
802
816
|
Sorbet:
|
803
817
|
enabled: false
|
804
818
|
description: 'Analyze with Sorbet'
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'overcommit'
|
4
|
+
require 'overcommit/hook/pre_commit/base'
|
5
|
+
|
6
|
+
module Overcommit
|
7
|
+
module Hook
|
8
|
+
module PreCommit
|
9
|
+
# Runs `solargraph typecheck` against any modified Ruby files.
|
10
|
+
#
|
11
|
+
# @see https://github.com/castwide/solargraph
|
12
|
+
class Solargraph < Base
|
13
|
+
MESSAGE_REGEX = /^\s*(?<file>(?:\w:)?[^:]+):(?<line>\d+) - /.freeze
|
14
|
+
|
15
|
+
def run
|
16
|
+
result = execute(command, args: applicable_files)
|
17
|
+
return :pass if result.success?
|
18
|
+
|
19
|
+
stderr_lines = remove_harmless_glitches(result.stderr)
|
20
|
+
violation_lines = result.stdout.split("\n").grep(MESSAGE_REGEX)
|
21
|
+
if violation_lines.empty?
|
22
|
+
if stderr_lines.empty?
|
23
|
+
[:fail, 'Solargraph failed to run']
|
24
|
+
else
|
25
|
+
# let's feed it stderr so users see the errors
|
26
|
+
extract_messages(stderr_lines, MESSAGE_REGEX)
|
27
|
+
end
|
28
|
+
else
|
29
|
+
extract_messages(violation_lines, MESSAGE_REGEX)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
# @param stderr [String]
|
36
|
+
#
|
37
|
+
# @return [Array<String>]
|
38
|
+
def remove_harmless_glitches(stderr)
|
39
|
+
stderr.split("\n").reject do |line|
|
40
|
+
line.include?('[WARN]') ||
|
41
|
+
line.include?('warning: parser/current is loading') ||
|
42
|
+
line.include?('Please see https://github.com/whitequark')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/overcommit/version.rb
CHANGED
data/template-dir/hooks/pre-push
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: overcommit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.68.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shane da Silva
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-30 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: childprocess
|
@@ -209,6 +209,7 @@ files:
|
|
209
209
|
- lib/overcommit/hook/pre_commit/semi_standard.rb
|
210
210
|
- lib/overcommit/hook/pre_commit/shell_check.rb
|
211
211
|
- lib/overcommit/hook/pre_commit/slim_lint.rb
|
212
|
+
- lib/overcommit/hook/pre_commit/solargraph.rb
|
212
213
|
- lib/overcommit/hook/pre_commit/sorbet.rb
|
213
214
|
- lib/overcommit/hook/pre_commit/sqlint.rb
|
214
215
|
- lib/overcommit/hook/pre_commit/standard.rb
|