overcommit 0.46.0 → 0.47.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/overcommit +1 -0
- data/config/default.yml +53 -7
- data/lib/overcommit.rb +2 -0
- data/lib/overcommit/command_splitter.rb +2 -0
- data/lib/overcommit/configuration.rb +6 -4
- data/lib/overcommit/configuration_loader.rb +1 -1
- data/lib/overcommit/configuration_validator.rb +22 -14
- data/lib/overcommit/exceptions.rb +2 -0
- data/lib/overcommit/git_config.rb +2 -0
- data/lib/overcommit/git_repo.rb +2 -0
- data/lib/overcommit/git_version.rb +2 -0
- data/lib/overcommit/hook/base.rb +6 -4
- data/lib/overcommit/hook/commit_msg/base.rb +2 -0
- data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +2 -0
- data/lib/overcommit/hook/commit_msg/empty_message.rb +2 -0
- data/lib/overcommit/hook/commit_msg/gerrit_change_id.rb +2 -0
- data/lib/overcommit/hook/commit_msg/hard_tabs.rb +2 -0
- data/lib/overcommit/hook/commit_msg/message_format.rb +2 -0
- data/lib/overcommit/hook/commit_msg/russian_novel.rb +2 -0
- data/lib/overcommit/hook/commit_msg/single_line_subject.rb +2 -0
- data/lib/overcommit/hook/commit_msg/spell_check.rb +2 -0
- data/lib/overcommit/hook/commit_msg/text_width.rb +2 -0
- data/lib/overcommit/hook/commit_msg/trailing_period.rb +2 -0
- data/lib/overcommit/hook/post_checkout/base.rb +2 -0
- data/lib/overcommit/hook/post_checkout/bower_install.rb +2 -0
- data/lib/overcommit/hook/post_checkout/bundle_install.rb +2 -0
- data/lib/overcommit/hook/post_checkout/composer_install.rb +2 -0
- data/lib/overcommit/hook/post_checkout/index_tags.rb +2 -0
- data/lib/overcommit/hook/post_checkout/npm_install.rb +2 -0
- data/lib/overcommit/hook/post_checkout/submodule_status.rb +2 -0
- data/lib/overcommit/hook/post_checkout/yarn_install.rb +2 -0
- data/lib/overcommit/hook/post_commit/base.rb +2 -0
- data/lib/overcommit/hook/post_commit/bower_install.rb +2 -0
- data/lib/overcommit/hook/post_commit/bundle_install.rb +2 -0
- data/lib/overcommit/hook/post_commit/commitplease.rb +2 -0
- data/lib/overcommit/hook/post_commit/composer_install.rb +2 -0
- data/lib/overcommit/hook/post_commit/git_guilt.rb +2 -0
- data/lib/overcommit/hook/post_commit/index_tags.rb +2 -0
- data/lib/overcommit/hook/post_commit/npm_install.rb +2 -0
- data/lib/overcommit/hook/post_commit/submodule_status.rb +2 -0
- data/lib/overcommit/hook/post_commit/yarn_install.rb +2 -0
- data/lib/overcommit/hook/post_merge/base.rb +2 -0
- data/lib/overcommit/hook/post_merge/bower_install.rb +2 -0
- data/lib/overcommit/hook/post_merge/bundle_install.rb +2 -0
- data/lib/overcommit/hook/post_merge/composer_install.rb +2 -0
- data/lib/overcommit/hook/post_merge/index_tags.rb +2 -0
- data/lib/overcommit/hook/post_merge/npm_install.rb +2 -0
- data/lib/overcommit/hook/post_merge/submodule_status.rb +2 -0
- data/lib/overcommit/hook/post_merge/yarn_install.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/base.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/bower_install.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/bundle_install.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/composer_install.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/index_tags.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/npm_install.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/submodule_status.rb +2 -0
- data/lib/overcommit/hook/post_rewrite/yarn_install.rb +2 -0
- data/lib/overcommit/hook/pre_commit/author_email.rb +2 -0
- data/lib/overcommit/hook/pre_commit/author_name.rb +2 -0
- data/lib/overcommit/hook/pre_commit/base.rb +2 -0
- data/lib/overcommit/hook/pre_commit/broken_symlinks.rb +2 -0
- data/lib/overcommit/hook/pre_commit/bundle_audit.rb +2 -0
- data/lib/overcommit/hook/pre_commit/bundle_check.rb +2 -1
- data/lib/overcommit/hook/pre_commit/bundle_outdated.rb +2 -0
- data/lib/overcommit/hook/pre_commit/case_conflicts.rb +2 -0
- data/lib/overcommit/hook/pre_commit/chamber_compare.rb +2 -0
- data/lib/overcommit/hook/pre_commit/chamber_security.rb +2 -0
- data/lib/overcommit/hook/pre_commit/chamber_verification.rb +3 -1
- data/lib/overcommit/hook/pre_commit/coffee_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/cook_style.rb +35 -0
- data/lib/overcommit/hook/pre_commit/credo.rb +2 -0
- data/lib/overcommit/hook/pre_commit/css_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/dogma.rb +2 -0
- data/lib/overcommit/hook/pre_commit/es_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/execute_permissions.rb +2 -0
- data/lib/overcommit/hook/pre_commit/fasterer.rb +2 -0
- data/lib/overcommit/hook/pre_commit/fix_me.rb +2 -0
- data/lib/overcommit/hook/pre_commit/flay.rb +2 -0
- data/lib/overcommit/hook/pre_commit/foodcritic.rb +2 -0
- data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +2 -0
- data/lib/overcommit/hook/pre_commit/go_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/go_vet.rb +2 -0
- data/lib/overcommit/hook/pre_commit/hadolint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/haml_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/hard_tabs.rb +2 -0
- data/lib/overcommit/hook/pre_commit/hlint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/html_hint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/html_tidy.rb +2 -0
- data/lib/overcommit/hook/pre_commit/image_optim.rb +2 -0
- data/lib/overcommit/hook/pre_commit/java_checkstyle.rb +2 -0
- data/lib/overcommit/hook/pre_commit/js_hint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/js_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/jscs.rb +2 -0
- data/lib/overcommit/hook/pre_commit/jsl.rb +2 -0
- data/lib/overcommit/hook/pre_commit/json_syntax.rb +2 -0
- data/lib/overcommit/hook/pre_commit/kt_lint.rb +19 -0
- data/lib/overcommit/hook/pre_commit/license_finder.rb +2 -0
- data/lib/overcommit/hook/pre_commit/license_header.rb +2 -0
- data/lib/overcommit/hook/pre_commit/line_endings.rb +2 -0
- data/lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb +2 -0
- data/lib/overcommit/hook/pre_commit/mdl.rb +2 -0
- data/lib/overcommit/hook/pre_commit/merge_conflicts.rb +2 -0
- data/lib/overcommit/hook/pre_commit/nginx_test.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pep257.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pep8.rb +2 -0
- data/lib/overcommit/hook/pre_commit/php_cs.rb +2 -0
- data/lib/overcommit/hook/pre_commit/php_cs_fixer.rb +2 -0
- data/lib/overcommit/hook/pre_commit/php_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/php_stan.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pronto.rb +2 -0
- data/lib/overcommit/hook/pre_commit/puppet_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/puppet_metadata_json_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pycodestyle.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pydocstyle.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pyflakes.rb +2 -0
- data/lib/overcommit/hook/pre_commit/pylint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/python_flake8.rb +2 -0
- data/lib/overcommit/hook/pre_commit/rails_best_practices.rb +2 -0
- data/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb +2 -0
- data/lib/overcommit/hook/pre_commit/rake_target.rb +2 -0
- data/lib/overcommit/hook/pre_commit/reek.rb +2 -0
- data/lib/overcommit/hook/pre_commit/rst_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/rubo_cop.rb +2 -0
- data/lib/overcommit/hook/pre_commit/ruby_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/scalariform.rb +2 -0
- data/lib/overcommit/hook/pre_commit/scalastyle.rb +2 -0
- data/lib/overcommit/hook/pre_commit/scss_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/semi_standard.rb +2 -0
- data/lib/overcommit/hook/pre_commit/shell_check.rb +2 -0
- data/lib/overcommit/hook/pre_commit/slim_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/sqlint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/standard.rb +2 -0
- data/lib/overcommit/hook/pre_commit/stylelint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/swift_lint.rb +19 -0
- data/lib/overcommit/hook/pre_commit/terraform_format.rb +19 -0
- data/lib/overcommit/hook/pre_commit/trailing_whitespace.rb +2 -0
- data/lib/overcommit/hook/pre_commit/travis_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/ts_lint.rb +14 -4
- data/lib/overcommit/hook/pre_commit/vint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/w3c_css.rb +2 -0
- data/lib/overcommit/hook/pre_commit/w3c_html.rb +2 -0
- data/lib/overcommit/hook/pre_commit/xml_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/xml_syntax.rb +2 -0
- data/lib/overcommit/hook/pre_commit/yaml_lint.rb +2 -0
- data/lib/overcommit/hook/pre_commit/yaml_syntax.rb +2 -0
- data/lib/overcommit/hook/pre_commit/yard_coverage.rb +2 -0
- data/lib/overcommit/hook/pre_commit/yarn_check.rb +1 -1
- data/lib/overcommit/hook/pre_push/base.rb +2 -0
- data/lib/overcommit/hook/pre_push/brakeman.rb +2 -0
- data/lib/overcommit/hook/pre_push/cargo_test.rb +2 -0
- data/lib/overcommit/hook/pre_push/minitest.rb +2 -0
- data/lib/overcommit/hook/pre_push/php_unit.rb +2 -0
- data/lib/overcommit/hook/pre_push/protected_branches.rb +2 -0
- data/lib/overcommit/hook/pre_push/pytest.rb +2 -0
- data/lib/overcommit/hook/pre_push/python_nose.rb +2 -0
- data/lib/overcommit/hook/pre_push/r_spec.rb +2 -0
- data/lib/overcommit/hook/pre_push/rake_target.rb +2 -0
- data/lib/overcommit/hook/pre_push/test_unit.rb +2 -0
- data/lib/overcommit/hook/pre_rebase/base.rb +2 -0
- data/lib/overcommit/hook/pre_rebase/merged_commits.rb +2 -0
- data/lib/overcommit/hook/prepare_commit_msg/base.rb +25 -0
- data/lib/overcommit/hook/prepare_commit_msg/replace_branch.rb +52 -0
- data/lib/overcommit/hook/shared/bower_install.rb +2 -0
- data/lib/overcommit/hook/shared/bundle_install.rb +2 -0
- data/lib/overcommit/hook/shared/composer_install.rb +2 -0
- data/lib/overcommit/hook/shared/index_tags.rb +2 -0
- data/lib/overcommit/hook/shared/npm_install.rb +2 -0
- data/lib/overcommit/hook/shared/rake_target.rb +2 -0
- data/lib/overcommit/hook/shared/submodule_status.rb +2 -0
- data/lib/overcommit/hook/shared/yarn_install.rb +2 -0
- data/lib/overcommit/hook_context.rb +2 -0
- data/lib/overcommit/hook_context/base.rb +2 -0
- data/lib/overcommit/hook_context/commit_msg.rb +2 -0
- data/lib/overcommit/hook_context/post_checkout.rb +2 -0
- data/lib/overcommit/hook_context/post_commit.rb +2 -0
- data/lib/overcommit/hook_context/post_merge.rb +2 -0
- data/lib/overcommit/hook_context/post_rewrite.rb +2 -0
- data/lib/overcommit/hook_context/pre_commit.rb +4 -1
- data/lib/overcommit/hook_context/pre_push.rb +2 -0
- data/lib/overcommit/hook_context/pre_rebase.rb +2 -0
- data/lib/overcommit/hook_context/prepare_commit_msg.rb +34 -0
- data/lib/overcommit/hook_context/run_all.rb +2 -0
- data/lib/overcommit/hook_loader/base.rb +2 -0
- data/lib/overcommit/hook_loader/built_in_hook_loader.rb +2 -0
- data/lib/overcommit/hook_loader/plugin_hook_loader.rb +2 -0
- data/lib/overcommit/hook_runner.rb +2 -0
- data/lib/overcommit/hook_signer.rb +2 -0
- data/lib/overcommit/installer.rb +2 -0
- data/lib/overcommit/interrupt_handler.rb +2 -0
- data/lib/overcommit/logger.rb +3 -1
- data/lib/overcommit/os.rb +2 -0
- data/lib/overcommit/printer.rb +2 -0
- data/lib/overcommit/subprocess.rb +2 -0
- data/lib/overcommit/utils.rb +3 -1
- data/lib/overcommit/utils/file_utils.rb +2 -0
- data/lib/overcommit/utils/messages_utils.rb +2 -0
- data/lib/overcommit/version.rb +1 -1
- data/template-dir/hooks/commit-msg +1 -0
- data/template-dir/hooks/overcommit-hook +1 -0
- data/template-dir/hooks/post-checkout +1 -0
- data/template-dir/hooks/post-commit +1 -0
- data/template-dir/hooks/post-merge +1 -0
- data/template-dir/hooks/post-rewrite +1 -0
- data/template-dir/hooks/pre-commit +1 -0
- data/template-dir/hooks/pre-push +1 -0
- data/template-dir/hooks/pre-rebase +1 -0
- data/template-dir/hooks/prepare-commit-msg +116 -0
- metadata +11 -4
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Overcommit::Hook::PreCommit
|
4
|
+
# Runs `ktlint` against modified Kotlin files.
|
5
|
+
# @see https://github.com/shyiko/ktlint
|
6
|
+
class KtLint < Base
|
7
|
+
MESSAGE_REGEX = /((?<file>[^:]+):(?<line>\d+):(\d+):(?<message>.+))/
|
8
|
+
|
9
|
+
def run
|
10
|
+
result = execute(command, args: applicable_files)
|
11
|
+
return :pass if result.success?
|
12
|
+
|
13
|
+
extract_messages(
|
14
|
+
result.stdout.split("\n").grep(MESSAGE_REGEX),
|
15
|
+
MESSAGE_REGEX
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Overcommit::Hook::PreCommit
|
4
|
+
# Runs `swiftlint lint` against modified Swift files.
|
5
|
+
# @see https://github.com/realm/SwiftLint
|
6
|
+
class SwiftLint < Base
|
7
|
+
MESSAGE_REGEX = /^(?<file>(?:\w:)?[^:]+):(?<line>\d+)[^ ]* (?<type>[^ ]+):(?<message>.*)/
|
8
|
+
|
9
|
+
def run
|
10
|
+
result = execute(command, args: applicable_files)
|
11
|
+
return :pass if result.success?
|
12
|
+
|
13
|
+
extract_messages(
|
14
|
+
result.stdout.split("\n").grep(MESSAGE_REGEX),
|
15
|
+
MESSAGE_REGEX
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Overcommit::Hook::PreCommit
|
4
|
+
# Runs 'terraform fmt' against any modified *.tf files.
|
5
|
+
#
|
6
|
+
# @see https://www.terraform.io/docs/commands/fmt.html
|
7
|
+
class TerraformFormat < Base
|
8
|
+
def run
|
9
|
+
messages = []
|
10
|
+
applicable_files.each do |f|
|
11
|
+
result = execute(command, args: [f])
|
12
|
+
unless result.success?
|
13
|
+
messages << Overcommit::Hook::Message.new(:error, f, nil, "violation found in #{f}")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
messages
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,17 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Overcommit::Hook::PreCommit
|
2
4
|
# Runs `tslint` against modified TypeScript files.
|
3
5
|
# @see http://palantir.github.io/tslint/
|
4
6
|
class TsLint < Base
|
7
|
+
# example message:
|
8
|
+
# "src/file/anotherfile.ts[298, 1]: exceeds maximum line length of 140"
|
9
|
+
# or
|
10
|
+
# "ERROR: src/AccountController.ts[4, 28]: expected call-signature to have a typedef"
|
11
|
+
MESSAGE_REGEX = /^(?<type>.+: )?(?<file>.+?(?=\[))[^\d]+(?<line>\d+).*?/
|
12
|
+
|
5
13
|
def run
|
6
14
|
result = execute(command, args: applicable_files)
|
7
15
|
output = result.stdout.chomp
|
8
16
|
return :pass if result.success? && output.empty?
|
9
17
|
|
10
|
-
|
11
|
-
|
18
|
+
output_lines = output.split("\n").map(&:strip).reject(&:empty?)
|
19
|
+
type_categorizer = ->(type) { type.nil? || type.include?('ERROR') ? :error : :warning }
|
20
|
+
|
12
21
|
extract_messages(
|
13
|
-
|
14
|
-
|
22
|
+
output_lines,
|
23
|
+
MESSAGE_REGEX,
|
24
|
+
type_categorizer
|
15
25
|
)
|
16
26
|
end
|
17
27
|
end
|