pre-commit 0.16.3 → 0.17.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/README.md +10 -0
- data/lib/plugins/pre_commit/checks/debugger.rb +1 -1
- data/lib/plugins/pre_commit/checks/gemfile_path.rb +4 -0
- data/lib/pre-commit/cli.rb +5 -0
- data/lib/pre-commit/installer.rb +1 -0
- data/lib/pre-commit/runner.rb +2 -1
- data/lib/pre-commit/utils/staged_files.rb +35 -9
- metadata +31 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7c3a12b035bf764791d70ec6cb4fba9fd3778d6
|
4
|
+
data.tar.gz: ec677fe164684322255b950dd125571c202dcd72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 025a3bc6ada1545472d509af763ae76151c7506fe417165392cdea1589b349a7b3cd3e9a2a77ff43f904ac4761528b83d5c5ddedb62ce97c953c6a4ee1125663
|
7
|
+
data.tar.gz: b7891532e91f04eda649a830e341ceab2ef01c7f831119be762e88241357c30efaa22789b0f480777a7aea83aad08acb16b5a2f31af6eb10f65bf7c4a84b3447
|
data/README.md
CHANGED
@@ -87,6 +87,16 @@ Example `config/pre_commit.yml`:
|
|
87
87
|
- :tabs
|
88
88
|
```
|
89
89
|
|
90
|
+
## Running test manually
|
91
|
+
|
92
|
+
This functionality was added in version `0.17.0`
|
93
|
+
|
94
|
+
```bash
|
95
|
+
pre-commit run # run on the files added to index not yet commited
|
96
|
+
pre-commit run all # run on all files in current directory
|
97
|
+
pre-commit run <file-list> # run on the list of files, patterns not supported
|
98
|
+
```
|
99
|
+
|
90
100
|
## Configuration providers
|
91
101
|
|
92
102
|
`pre-commit` comes with 4 configuration providers:
|
data/lib/pre-commit/cli.rb
CHANGED
@@ -31,6 +31,11 @@ module PreCommit
|
|
31
31
|
args.empty? # return status, it's ok if user requested help
|
32
32
|
end
|
33
33
|
|
34
|
+
def execute_run(*args)
|
35
|
+
require 'pre-commit/runner'
|
36
|
+
PreCommit::Runner.new.run(*args)
|
37
|
+
end
|
38
|
+
|
34
39
|
def execute_install(key = nil, *args)
|
35
40
|
PreCommit::Installer.new(key).install
|
36
41
|
end
|
data/lib/pre-commit/installer.rb
CHANGED
data/lib/pre-commit/runner.rb
CHANGED
@@ -2,18 +2,26 @@ module PreCommit
|
|
2
2
|
module Utils
|
3
3
|
module StagedFiles
|
4
4
|
|
5
|
-
def
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
File.directory?(f) ||
|
11
|
-
size > 1_000_000 ||
|
12
|
-
(size > 20 && binary?(f))
|
13
|
-
end
|
5
|
+
def set_staged_files(*args)
|
6
|
+
case args[0].to_s
|
7
|
+
when "all" then staged_files_all
|
8
|
+
when "" then staged_files
|
9
|
+
else staged_files=args
|
14
10
|
end
|
15
11
|
end
|
16
12
|
|
13
|
+
def staged_files=(args)
|
14
|
+
@staged_files = args
|
15
|
+
end
|
16
|
+
|
17
|
+
def staged_files
|
18
|
+
@staged_files ||= filter_files(staged_from_git)
|
19
|
+
end
|
20
|
+
|
21
|
+
def staged_files_all
|
22
|
+
@staged_files = filter_files(staged_from_dir)
|
23
|
+
end
|
24
|
+
|
17
25
|
private
|
18
26
|
# from https://github.com/djberg96/ptools/blob/master/lib/ptools.rb#L90
|
19
27
|
def binary?(file)
|
@@ -21,6 +29,24 @@ module PreCommit
|
|
21
29
|
((s.size - s.grep(" ".."~").size) / s.size.to_f) > 0.30
|
22
30
|
end
|
23
31
|
|
32
|
+
def filter_files(files)
|
33
|
+
files.reject do |f|
|
34
|
+
File.directory?(f) ||
|
35
|
+
(
|
36
|
+
size = File.size(f)
|
37
|
+
size > 1_000_000 || (size > 20 && binary?(f))
|
38
|
+
)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def staged_from_git
|
43
|
+
`git diff --cached --name-only --diff-filter=ACM`.split(/\n/)
|
44
|
+
end
|
45
|
+
|
46
|
+
def staged_from_dir
|
47
|
+
Dir["**/*"]
|
48
|
+
end
|
49
|
+
|
24
50
|
end
|
25
51
|
end
|
26
52
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pre-commit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shajith Chacko, Josh Lubaway
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pluginator
|
@@ -16,30 +16,30 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: guard
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: guard
|
42
|
+
name: guard-minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
@@ -53,47 +53,61 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '4.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '4.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: minitest
|
70
|
+
name: minitest-reporters
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
89
|
+
version: '10.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
96
|
+
version: '10.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.23'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.23'
|
97
111
|
description: A git pre-commit hook written in ruby with a few more tricks up its sleeve
|
98
112
|
email: dontneedmoreemail@example.com
|
99
113
|
executables:
|