overcommit-jeygeethanmedia 0.53.1
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 +7 -0
- data/bin/overcommit +50 -0
- data/config/default.yml +1356 -0
- data/config/starter.yml +33 -0
- data/lib/overcommit.rb +26 -0
- data/lib/overcommit/cli.rb +223 -0
- data/lib/overcommit/command_splitter.rb +146 -0
- data/lib/overcommit/configuration.rb +350 -0
- data/lib/overcommit/configuration_loader.rb +96 -0
- data/lib/overcommit/configuration_validator.rb +186 -0
- data/lib/overcommit/constants.rb +12 -0
- data/lib/overcommit/exceptions.rb +52 -0
- data/lib/overcommit/git_config.rb +22 -0
- data/lib/overcommit/git_repo.rb +286 -0
- data/lib/overcommit/git_version.rb +17 -0
- data/lib/overcommit/hook/base.rb +294 -0
- data/lib/overcommit/hook/commit_msg/base.rb +14 -0
- data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +25 -0
- data/lib/overcommit/hook/commit_msg/empty_message.rb +12 -0
- data/lib/overcommit/hook/commit_msg/gerrit_change_id.rb +22 -0
- data/lib/overcommit/hook/commit_msg/hard_tabs.rb +17 -0
- data/lib/overcommit/hook/commit_msg/message_format.rb +31 -0
- data/lib/overcommit/hook/commit_msg/russian_novel.rb +16 -0
- data/lib/overcommit/hook/commit_msg/single_line_subject.rb +16 -0
- data/lib/overcommit/hook/commit_msg/spell_check.rb +45 -0
- data/lib/overcommit/hook/commit_msg/text_width.rb +56 -0
- data/lib/overcommit/hook/commit_msg/trailing_period.rb +16 -0
- data/lib/overcommit/hook/post_checkout/base.rb +22 -0
- data/lib/overcommit/hook/post_checkout/bower_install.rb +13 -0
- data/lib/overcommit/hook/post_checkout/bundle_install.rb +13 -0
- data/lib/overcommit/hook/post_checkout/composer_install.rb +13 -0
- data/lib/overcommit/hook/post_checkout/index_tags.rb +12 -0
- data/lib/overcommit/hook/post_checkout/npm_install.rb +13 -0
- data/lib/overcommit/hook/post_checkout/submodule_status.rb +12 -0
- data/lib/overcommit/hook/post_checkout/yarn_install.rb +13 -0
- data/lib/overcommit/hook/post_commit/base.rb +12 -0
- data/lib/overcommit/hook/post_commit/bower_install.rb +13 -0
- data/lib/overcommit/hook/post_commit/bundle_install.rb +13 -0
- data/lib/overcommit/hook/post_commit/commitplease.rb +16 -0
- data/lib/overcommit/hook/post_commit/composer_install.rb +13 -0
- data/lib/overcommit/hook/post_commit/git_guilt.rb +43 -0
- data/lib/overcommit/hook/post_commit/index_tags.rb +12 -0
- data/lib/overcommit/hook/post_commit/npm_install.rb +13 -0
- data/lib/overcommit/hook/post_commit/submodule_status.rb +12 -0
- data/lib/overcommit/hook/post_commit/yarn_install.rb +13 -0
- data/lib/overcommit/hook/post_merge/base.rb +12 -0
- data/lib/overcommit/hook/post_merge/bower_install.rb +13 -0
- data/lib/overcommit/hook/post_merge/bundle_install.rb +13 -0
- data/lib/overcommit/hook/post_merge/composer_install.rb +13 -0
- data/lib/overcommit/hook/post_merge/index_tags.rb +12 -0
- data/lib/overcommit/hook/post_merge/npm_install.rb +13 -0
- data/lib/overcommit/hook/post_merge/submodule_status.rb +12 -0
- data/lib/overcommit/hook/post_merge/yarn_install.rb +13 -0
- data/lib/overcommit/hook/post_rewrite/base.rb +12 -0
- data/lib/overcommit/hook/post_rewrite/bower_install.rb +13 -0
- data/lib/overcommit/hook/post_rewrite/bundle_install.rb +13 -0
- data/lib/overcommit/hook/post_rewrite/composer_install.rb +13 -0
- data/lib/overcommit/hook/post_rewrite/index_tags.rb +19 -0
- data/lib/overcommit/hook/post_rewrite/npm_install.rb +13 -0
- data/lib/overcommit/hook/post_rewrite/submodule_status.rb +12 -0
- data/lib/overcommit/hook/post_rewrite/yarn_install.rb +13 -0
- data/lib/overcommit/hook/pre_commit/author_email.rb +26 -0
- data/lib/overcommit/hook/pre_commit/author_name.rb +25 -0
- data/lib/overcommit/hook/pre_commit/base.rb +19 -0
- data/lib/overcommit/hook/pre_commit/berksfile_check.rb +24 -0
- data/lib/overcommit/hook/pre_commit/broken_symlinks.rb +17 -0
- data/lib/overcommit/hook/pre_commit/bundle_audit.rb +24 -0
- data/lib/overcommit/hook/pre_commit/bundle_check.rb +32 -0
- data/lib/overcommit/hook/pre_commit/bundle_outdated.rb +25 -0
- data/lib/overcommit/hook/pre_commit/case_conflicts.rb +27 -0
- data/lib/overcommit/hook/pre_commit/chamber_compare.rb +43 -0
- data/lib/overcommit/hook/pre_commit/chamber_security.rb +15 -0
- data/lib/overcommit/hook/pre_commit/chamber_verification.rb +36 -0
- data/lib/overcommit/hook/pre_commit/code_spell_check.rb +36 -0
- data/lib/overcommit/hook/pre_commit/coffee_lint.rb +35 -0
- data/lib/overcommit/hook/pre_commit/cook_style.rb +35 -0
- data/lib/overcommit/hook/pre_commit/credo.rb +27 -0
- data/lib/overcommit/hook/pre_commit/css_lint.rb +26 -0
- data/lib/overcommit/hook/pre_commit/dogma.rb +33 -0
- data/lib/overcommit/hook/pre_commit/es_lint.rb +38 -0
- data/lib/overcommit/hook/pre_commit/execute_permissions.rb +76 -0
- data/lib/overcommit/hook/pre_commit/fasterer.rb +25 -0
- data/lib/overcommit/hook/pre_commit/file_size.rb +47 -0
- data/lib/overcommit/hook/pre_commit/fix_me.rb +17 -0
- data/lib/overcommit/hook/pre_commit/flay.rb +38 -0
- data/lib/overcommit/hook/pre_commit/foodcritic.rb +149 -0
- data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +26 -0
- data/lib/overcommit/hook/pre_commit/ginkgo_focus.rb +23 -0
- data/lib/overcommit/hook/pre_commit/go_fmt.rb +17 -0
- data/lib/overcommit/hook/pre_commit/go_lint.rb +29 -0
- data/lib/overcommit/hook/pre_commit/go_vet.rb +24 -0
- data/lib/overcommit/hook/pre_commit/golangci_lint.rb +21 -0
- data/lib/overcommit/hook/pre_commit/hadolint.rb +27 -0
- data/lib/overcommit/hook/pre_commit/haml_lint.rb +23 -0
- data/lib/overcommit/hook/pre_commit/hard_tabs.rb +15 -0
- data/lib/overcommit/hook/pre_commit/hlint.rb +34 -0
- data/lib/overcommit/hook/pre_commit/html_hint.rb +23 -0
- data/lib/overcommit/hook/pre_commit/html_tidy.rb +30 -0
- data/lib/overcommit/hook/pre_commit/image_optim.rb +28 -0
- data/lib/overcommit/hook/pre_commit/java_checkstyle.rb +27 -0
- data/lib/overcommit/hook/pre_commit/js_hint.rb +23 -0
- data/lib/overcommit/hook/pre_commit/js_lint.rb +22 -0
- data/lib/overcommit/hook/pre_commit/jscs.rb +27 -0
- data/lib/overcommit/hook/pre_commit/jsl.rb +28 -0
- data/lib/overcommit/hook/pre_commit/json_syntax.rb +21 -0
- data/lib/overcommit/hook/pre_commit/kt_lint.rb +19 -0
- data/lib/overcommit/hook/pre_commit/license_finder.rb +14 -0
- data/lib/overcommit/hook/pre_commit/license_header.rb +48 -0
- data/lib/overcommit/hook/pre_commit/line_endings.rb +77 -0
- data/lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb +16 -0
- data/lib/overcommit/hook/pre_commit/mdl.rb +29 -0
- data/lib/overcommit/hook/pre_commit/merge_conflicts.rb +16 -0
- data/lib/overcommit/hook/pre_commit/nginx_test.rb +26 -0
- data/lib/overcommit/hook/pre_commit/pep257.rb +23 -0
- data/lib/overcommit/hook/pre_commit/pep8.rb +23 -0
- data/lib/overcommit/hook/pre_commit/php_cs.rb +43 -0
- data/lib/overcommit/hook/pre_commit/php_cs_fixer.rb +57 -0
- data/lib/overcommit/hook/pre_commit/php_lint.rb +44 -0
- data/lib/overcommit/hook/pre_commit/php_stan.rb +30 -0
- data/lib/overcommit/hook/pre_commit/pronto.rb +12 -0
- data/lib/overcommit/hook/pre_commit/puppet_lint.rb +26 -0
- data/lib/overcommit/hook/pre_commit/puppet_metadata_json_lint.rb +29 -0
- data/lib/overcommit/hook/pre_commit/pycodestyle.rb +23 -0
- data/lib/overcommit/hook/pre_commit/pydocstyle.rb +23 -0
- data/lib/overcommit/hook/pre_commit/pyflakes.rb +32 -0
- data/lib/overcommit/hook/pre_commit/pylint.rb +32 -0
- data/lib/overcommit/hook/pre_commit/python_flake8.rb +32 -0
- data/lib/overcommit/hook/pre_commit/rails_best_practices.rb +34 -0
- data/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb +58 -0
- data/lib/overcommit/hook/pre_commit/rake_target.rb +12 -0
- data/lib/overcommit/hook/pre_commit/reek.rb +26 -0
- data/lib/overcommit/hook/pre_commit/rst_lint.rb +27 -0
- data/lib/overcommit/hook/pre_commit/rubo_cop.rb +35 -0
- data/lib/overcommit/hook/pre_commit/ruby_lint.rb +23 -0
- data/lib/overcommit/hook/pre_commit/ruby_syntax.rb +27 -0
- data/lib/overcommit/hook/pre_commit/scalariform.rb +22 -0
- data/lib/overcommit/hook/pre_commit/scalastyle.rb +31 -0
- data/lib/overcommit/hook/pre_commit/scss_lint.rb +43 -0
- data/lib/overcommit/hook/pre_commit/semi_standard.rb +23 -0
- data/lib/overcommit/hook/pre_commit/shell_check.rb +23 -0
- data/lib/overcommit/hook/pre_commit/slim_lint.rb +23 -0
- data/lib/overcommit/hook/pre_commit/sqlint.rb +26 -0
- data/lib/overcommit/hook/pre_commit/standard.rb +23 -0
- data/lib/overcommit/hook/pre_commit/stylelint.rb +23 -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 +15 -0
- data/lib/overcommit/hook/pre_commit/travis_lint.rb +15 -0
- data/lib/overcommit/hook/pre_commit/ts_lint.rb +28 -0
- data/lib/overcommit/hook/pre_commit/vint.rb +22 -0
- data/lib/overcommit/hook/pre_commit/w3c_css.rb +67 -0
- data/lib/overcommit/hook/pre_commit/w3c_html.rb +64 -0
- data/lib/overcommit/hook/pre_commit/xml_lint.rb +24 -0
- data/lib/overcommit/hook/pre_commit/xml_syntax.rb +21 -0
- data/lib/overcommit/hook/pre_commit/yaml_lint.rb +18 -0
- data/lib/overcommit/hook/pre_commit/yaml_syntax.rb +20 -0
- data/lib/overcommit/hook/pre_commit/yard_coverage.rb +90 -0
- data/lib/overcommit/hook/pre_commit/yarn_check.rb +37 -0
- data/lib/overcommit/hook/pre_push/base.rb +33 -0
- data/lib/overcommit/hook/pre_push/brakeman.rb +15 -0
- data/lib/overcommit/hook/pre_push/cargo_test.rb +12 -0
- data/lib/overcommit/hook/pre_push/go_test.rb +14 -0
- data/lib/overcommit/hook/pre_push/golangci_lint.rb +16 -0
- data/lib/overcommit/hook/pre_push/minitest.rb +20 -0
- data/lib/overcommit/hook/pre_push/php_unit.rb +16 -0
- data/lib/overcommit/hook/pre_push/pronto.rb +12 -0
- data/lib/overcommit/hook/pre_push/protected_branches.rb +74 -0
- data/lib/overcommit/hook/pre_push/pytest.rb +16 -0
- data/lib/overcommit/hook/pre_push/python_nose.rb +16 -0
- data/lib/overcommit/hook/pre_push/r_spec.rb +16 -0
- data/lib/overcommit/hook/pre_push/rake_target.rb +12 -0
- data/lib/overcommit/hook/pre_push/test_unit.rb +16 -0
- data/lib/overcommit/hook/pre_rebase/base.rb +14 -0
- data/lib/overcommit/hook/pre_rebase/merged_commits.rb +31 -0
- data/lib/overcommit/hook/prepare_commit_msg/base.rb +25 -0
- data/lib/overcommit/hook/prepare_commit_msg/replace_branch.rb +57 -0
- data/lib/overcommit/hook/shared/bower_install.rb +15 -0
- data/lib/overcommit/hook/shared/bundle_install.rb +15 -0
- data/lib/overcommit/hook/shared/composer_install.rb +15 -0
- data/lib/overcommit/hook/shared/index_tags.rb +14 -0
- data/lib/overcommit/hook/shared/npm_install.rb +15 -0
- data/lib/overcommit/hook/shared/pronto.rb +21 -0
- data/lib/overcommit/hook/shared/rake_target.rb +26 -0
- data/lib/overcommit/hook/shared/submodule_status.rb +32 -0
- data/lib/overcommit/hook/shared/yarn_install.rb +15 -0
- data/lib/overcommit/hook_context.rb +19 -0
- data/lib/overcommit/hook_context/base.rb +139 -0
- data/lib/overcommit/hook_context/commit_msg.rb +48 -0
- data/lib/overcommit/hook_context/post_checkout.rb +36 -0
- data/lib/overcommit/hook_context/post_commit.rb +33 -0
- data/lib/overcommit/hook_context/post_merge.rb +37 -0
- data/lib/overcommit/hook_context/post_rewrite.rb +49 -0
- data/lib/overcommit/hook_context/pre_commit.rb +212 -0
- data/lib/overcommit/hook_context/pre_push.rb +89 -0
- data/lib/overcommit/hook_context/pre_rebase.rb +38 -0
- data/lib/overcommit/hook_context/prepare_commit_msg.rb +34 -0
- data/lib/overcommit/hook_context/run_all.rb +48 -0
- data/lib/overcommit/hook_loader/base.rb +48 -0
- data/lib/overcommit/hook_loader/built_in_hook_loader.rb +14 -0
- data/lib/overcommit/hook_loader/plugin_hook_loader.rb +102 -0
- data/lib/overcommit/hook_runner.rb +219 -0
- data/lib/overcommit/hook_signer.rb +123 -0
- data/lib/overcommit/installer.rb +193 -0
- data/lib/overcommit/interrupt_handler.rb +91 -0
- data/lib/overcommit/logger.rb +92 -0
- data/lib/overcommit/message_processor.rb +148 -0
- data/lib/overcommit/os.rb +38 -0
- data/lib/overcommit/printer.rb +145 -0
- data/lib/overcommit/subprocess.rb +98 -0
- data/lib/overcommit/utils.rb +309 -0
- data/lib/overcommit/utils/file_utils.rb +71 -0
- data/lib/overcommit/utils/messages_utils.rb +77 -0
- data/lib/overcommit/version.rb +6 -0
- data/libexec/gerrit-change-id +174 -0
- data/libexec/index-tags +17 -0
- data/template-dir/hooks/commit-msg +116 -0
- data/template-dir/hooks/overcommit-hook +116 -0
- data/template-dir/hooks/post-checkout +116 -0
- data/template-dir/hooks/post-commit +116 -0
- data/template-dir/hooks/post-merge +116 -0
- data/template-dir/hooks/post-rewrite +116 -0
- data/template-dir/hooks/pre-commit +116 -0
- data/template-dir/hooks/pre-push +116 -0
- data/template-dir/hooks/pre-rebase +116 -0
- data/template-dir/hooks/prepare-commit-msg +116 -0
- metadata +303 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 5da4259a1cb1af1c2e56198efddd0a7a26ed94d685fa4ac74bc65b30529e4c2d
|
|
4
|
+
data.tar.gz: 4e2d5af70a255d390c6f5b9eac408aefbd7737270b9c6723050acf3ca71e7890
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: e8b77bd2169b55446f30e726f9be3cf35f24b475a70b1f38c97e7d9567a980f90e46577b72b4b665db1c42c25c66b50f41d9e3becac012136cce75215264e887
|
|
7
|
+
data.tar.gz: 37b94701d16881a6e9def35719c97f1b23181310d62c5d286d9610a508f746ef94f8456ef9e32970e1cdb5a369e212a928b6ea188f584891720ec5c35f42a019
|
data/bin/overcommit
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
# Check if Overcommit should invoke a Bundler context for loading gems
|
|
5
|
+
require 'yaml'
|
|
6
|
+
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
|
7
|
+
ENV['BUNDLE_GEMFILE'] = gemfile
|
|
8
|
+
require 'bundler'
|
|
9
|
+
|
|
10
|
+
begin
|
|
11
|
+
# We need to temporarily silence STDERR to remove annoying Gem specification
|
|
12
|
+
# warnings that ultimately don't matter, e.g.
|
|
13
|
+
# https://github.com/rubygems/rubygems/issues/1070
|
|
14
|
+
old_stderr = $stderr
|
|
15
|
+
begin
|
|
16
|
+
$stderr = File.new(File::NULL, 'w')
|
|
17
|
+
Bundler.setup
|
|
18
|
+
ensure
|
|
19
|
+
$stderr = old_stderr
|
|
20
|
+
end
|
|
21
|
+
rescue Bundler::BundlerError => ex
|
|
22
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
|
23
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
|
24
|
+
exit 78 # EX_CONFIG
|
|
25
|
+
rescue Gem::LoadError => ex
|
|
26
|
+
# Handle case where user is executing overcommit without `bundle exec` and
|
|
27
|
+
# whose local Gemfile has a gem requirement that does not match a gem
|
|
28
|
+
# requirement of the installed version of Overcommit.
|
|
29
|
+
raise unless ex.message =~ /already activated/i
|
|
30
|
+
exec('bundle', 'exec', $0, *ARGV)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
begin
|
|
35
|
+
require 'overcommit/cli'
|
|
36
|
+
rescue LoadError
|
|
37
|
+
if gemfile
|
|
38
|
+
puts 'You have specified the `gemfile` option in your Overcommit ' \
|
|
39
|
+
'configuration but have not added the `overcommit` gem to ' \
|
|
40
|
+
"#{gemfile}."
|
|
41
|
+
else
|
|
42
|
+
raise
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
exit 64 # EX_USAGE
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
logger = Overcommit::Logger.new(STDOUT)
|
|
49
|
+
|
|
50
|
+
Overcommit::CLI.new(ARGV, STDIN, logger).run
|
data/config/default.yml
ADDED
|
@@ -0,0 +1,1356 @@
|
|
|
1
|
+
# Default configuration that all Overcommit configurations inherit from.
|
|
2
|
+
#
|
|
3
|
+
# This is an opinionated list of which hooks are valuable to run and what their
|
|
4
|
+
# out-of-the-box settings should be.
|
|
5
|
+
#-------------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
# Loads Bundler context from a Gemfile. If false, does nothing (default).
|
|
8
|
+
#
|
|
9
|
+
# Specifying a Gemfile for Bundler to load allows you to control which gems are
|
|
10
|
+
# available in the load path (i.e. loadable via `require`) within your hook
|
|
11
|
+
# runs. Note that having a Gemfile requires you to include `overcommit` itself
|
|
12
|
+
# in your Gemfile (otherwise Overcommit can't load itself!).
|
|
13
|
+
#
|
|
14
|
+
# This is useful if you want to:
|
|
15
|
+
#
|
|
16
|
+
# - Enforce a specific version of Overcommit to use for all hook runs
|
|
17
|
+
# (or to use a version from the master branch that has not been released yet)
|
|
18
|
+
# - Enforce a specific version or unreleased branch is used for a gem you want
|
|
19
|
+
# to use in your git hooks
|
|
20
|
+
#
|
|
21
|
+
# WARNING: This makes your hook runs slower, but you can work around this!
|
|
22
|
+
#
|
|
23
|
+
# Loading a Bundler context necessarily adds a startup delay to your hook runs
|
|
24
|
+
# as Bundler parses the Gemfile and checks that the dependencies are satisfied.
|
|
25
|
+
# Thus for projects with many gems this can introduce a noticeable delay.
|
|
26
|
+
#
|
|
27
|
+
# The recommended workaround is to create a separate Gemfile in the root of your
|
|
28
|
+
# repository (call it `.overcommit_gems.rb`), and include only the gems that
|
|
29
|
+
# your Overcommit hooks need in order to run. This significantly reduces the
|
|
30
|
+
# startup delay in your hook runs. Make sure to commit both
|
|
31
|
+
# `.overcommit_gems.rb` and the resulting `.overcommit_gems.rb.lock` file to
|
|
32
|
+
# your repository, and then set the `gemfile` option below to the name you gave
|
|
33
|
+
# the file.
|
|
34
|
+
# (Generate lock file by running `bundle install --gemfile=.overcommit_gems.rb`)
|
|
35
|
+
gemfile: false
|
|
36
|
+
|
|
37
|
+
# Where to store hook plugins specific to a repository. These are loaded in
|
|
38
|
+
# addition to the default hooks Overcommit comes with. The location is relative
|
|
39
|
+
# to the root of the repository.
|
|
40
|
+
plugin_directory: '.git-hooks'
|
|
41
|
+
|
|
42
|
+
# Whether to hide hook output by default. This results in completely silent hook
|
|
43
|
+
# runs except in the case of warning or failure.
|
|
44
|
+
quiet: false
|
|
45
|
+
|
|
46
|
+
# Number of hooks that can be run concurrently. Typically this won't need to be
|
|
47
|
+
# adjusted, but if you know that some of your hooks themselves use multiple
|
|
48
|
+
# processors you can lower this value accordingly. You can define
|
|
49
|
+
# single-operator mathematical expressions, e.g. '%{processors} * 2', or
|
|
50
|
+
# '%{processors} / 2'.
|
|
51
|
+
concurrency: '%{processors}'
|
|
52
|
+
|
|
53
|
+
# Whether to check if a hook plugin has changed since Overcommit last ran it.
|
|
54
|
+
# This is a defense mechanism when working with repositories which can contain
|
|
55
|
+
# untrusted code (e.g. when you fetch a pull request from a third party).
|
|
56
|
+
# See https://github.com/brigade/overcommit#security for more information.
|
|
57
|
+
verify_signatures: true
|
|
58
|
+
|
|
59
|
+
# Hooks that are run against every commit message after a user has written it.
|
|
60
|
+
# These hooks are useful for enforcing policies on commit messages written for a
|
|
61
|
+
# project.
|
|
62
|
+
CommitMsg:
|
|
63
|
+
ALL:
|
|
64
|
+
requires_files: false
|
|
65
|
+
quiet: false
|
|
66
|
+
|
|
67
|
+
CapitalizedSubject:
|
|
68
|
+
enabled: true
|
|
69
|
+
description: 'Check subject capitalization'
|
|
70
|
+
|
|
71
|
+
EmptyMessage:
|
|
72
|
+
enabled: true
|
|
73
|
+
description: 'Check for empty commit message'
|
|
74
|
+
quiet: true
|
|
75
|
+
|
|
76
|
+
GerritChangeId:
|
|
77
|
+
enabled: false
|
|
78
|
+
description: 'Ensure Gerrit Change-Id is present'
|
|
79
|
+
required: true
|
|
80
|
+
|
|
81
|
+
HardTabs:
|
|
82
|
+
enabled: false
|
|
83
|
+
description: 'Check for hard tabs'
|
|
84
|
+
|
|
85
|
+
MessageFormat:
|
|
86
|
+
enabled: false
|
|
87
|
+
description: 'Check commit message matches expected pattern'
|
|
88
|
+
pattern: '(.+)[|](.+)[|](.+)'
|
|
89
|
+
expected_pattern_message: '<Issue Id> | <Commit Message Description> | <Developer(s)>'
|
|
90
|
+
sample_message: 'DEFECT-1234 | Refactored Onboarding flow | John Doe'
|
|
91
|
+
|
|
92
|
+
RussianNovel:
|
|
93
|
+
enabled: false
|
|
94
|
+
description: 'Check length of commit message'
|
|
95
|
+
quiet: true
|
|
96
|
+
|
|
97
|
+
SingleLineSubject:
|
|
98
|
+
enabled: true
|
|
99
|
+
description: 'Check subject line'
|
|
100
|
+
|
|
101
|
+
SpellCheck:
|
|
102
|
+
enabled: false
|
|
103
|
+
description: 'Check for misspelled words'
|
|
104
|
+
required_executable: 'hunspell'
|
|
105
|
+
flags: ['-a']
|
|
106
|
+
|
|
107
|
+
TextWidth:
|
|
108
|
+
enabled: true
|
|
109
|
+
description: 'Check text width'
|
|
110
|
+
max_subject_width: 60
|
|
111
|
+
min_subject_width: 0
|
|
112
|
+
max_body_width: 72
|
|
113
|
+
|
|
114
|
+
TrailingPeriod:
|
|
115
|
+
enabled: true
|
|
116
|
+
description: 'Check for trailing periods in subject'
|
|
117
|
+
|
|
118
|
+
# Hooks that are run after `git commit` is executed, before the commit message
|
|
119
|
+
# editor is displayed. These hooks are ideal for syntax checkers, linters, and
|
|
120
|
+
# other checks that you want to run before you allow a commit object to be
|
|
121
|
+
# created.
|
|
122
|
+
PreCommit:
|
|
123
|
+
ALL:
|
|
124
|
+
problem_on_unmodified_line: report
|
|
125
|
+
requires_files: true
|
|
126
|
+
required: false
|
|
127
|
+
quiet: false
|
|
128
|
+
|
|
129
|
+
AuthorEmail:
|
|
130
|
+
enabled: true
|
|
131
|
+
description: 'Check author email'
|
|
132
|
+
requires_files: false
|
|
133
|
+
required: true
|
|
134
|
+
quiet: true
|
|
135
|
+
pattern: '^[^@]+@.*$'
|
|
136
|
+
|
|
137
|
+
AuthorName:
|
|
138
|
+
enabled: true
|
|
139
|
+
description: 'Check for author name'
|
|
140
|
+
requires_files: false
|
|
141
|
+
required: true
|
|
142
|
+
quiet: true
|
|
143
|
+
|
|
144
|
+
BerksfileCheck:
|
|
145
|
+
enabled: false
|
|
146
|
+
description: 'Check Berksfile lock'
|
|
147
|
+
required_executable: 'berks'
|
|
148
|
+
flags: ['list', '--quiet']
|
|
149
|
+
install_command: 'gem install berks'
|
|
150
|
+
include:
|
|
151
|
+
- 'Berksfile'
|
|
152
|
+
- 'Berksfile.lock'
|
|
153
|
+
|
|
154
|
+
BrokenSymlinks:
|
|
155
|
+
enabled: true
|
|
156
|
+
description: 'Check for broken symlinks'
|
|
157
|
+
quiet: true
|
|
158
|
+
|
|
159
|
+
BundleAudit:
|
|
160
|
+
enabled: false
|
|
161
|
+
description: 'Check for vulnerable versions of gems'
|
|
162
|
+
required_executable: 'bundle-audit'
|
|
163
|
+
install_command: 'gem install bundler-audit'
|
|
164
|
+
|
|
165
|
+
BundleCheck:
|
|
166
|
+
enabled: false
|
|
167
|
+
description: 'Check Gemfile dependencies'
|
|
168
|
+
required_executable: 'bundle'
|
|
169
|
+
flags: ['check']
|
|
170
|
+
install_command: 'gem install bundler'
|
|
171
|
+
include:
|
|
172
|
+
- 'Gemfile'
|
|
173
|
+
- 'Gemfile.lock'
|
|
174
|
+
- '*.gemspec'
|
|
175
|
+
|
|
176
|
+
BundleOutdated:
|
|
177
|
+
enabled: false
|
|
178
|
+
description: 'List installed gems with newer versions available'
|
|
179
|
+
required_executable: 'bundle'
|
|
180
|
+
flags: ['outdated', '--strict', '--parseable']
|
|
181
|
+
install_command: 'gem install bundler'
|
|
182
|
+
|
|
183
|
+
CaseConflicts:
|
|
184
|
+
enabled: true
|
|
185
|
+
description: 'Check for case-insensitivity conflicts'
|
|
186
|
+
quiet: true
|
|
187
|
+
|
|
188
|
+
ChamberCompare:
|
|
189
|
+
enabled: false
|
|
190
|
+
description: 'Check that settings are equivalent between namespaces'
|
|
191
|
+
required_executable: 'chamber'
|
|
192
|
+
flags: ['compare']
|
|
193
|
+
install_command: 'gem install chamber'
|
|
194
|
+
namespaces:
|
|
195
|
+
- ['development']
|
|
196
|
+
- ['test']
|
|
197
|
+
- ['production']
|
|
198
|
+
exclusions: []
|
|
199
|
+
include: &chamber_settings_files
|
|
200
|
+
- 'config/settings*.yml'
|
|
201
|
+
- 'config/settings*.yml.erb'
|
|
202
|
+
- 'config/settings/**/*.yml'
|
|
203
|
+
- 'config/settings/**/*.yml.erb'
|
|
204
|
+
- 'settings*.yml'
|
|
205
|
+
- 'settings*.yml.erb'
|
|
206
|
+
- 'settings/**/*.yml'
|
|
207
|
+
- 'settings/**/*.yml.erb'
|
|
208
|
+
|
|
209
|
+
ChamberSecurity:
|
|
210
|
+
enabled: false
|
|
211
|
+
description: 'Check that settings have been secured with Chamber'
|
|
212
|
+
required_executable: 'chamber'
|
|
213
|
+
flags: ['secure', '--files']
|
|
214
|
+
install_command: 'gem install chamber'
|
|
215
|
+
include: *chamber_settings_files
|
|
216
|
+
|
|
217
|
+
ChamberVerification:
|
|
218
|
+
enabled: false
|
|
219
|
+
description: 'Verify that all settings changes have been approved'
|
|
220
|
+
required_executable: 'chamber'
|
|
221
|
+
flags: ['sign', '--verify']
|
|
222
|
+
install_command: 'gem install chamber'
|
|
223
|
+
include: *chamber_settings_files
|
|
224
|
+
|
|
225
|
+
CodeSpellCheck:
|
|
226
|
+
enabled: false
|
|
227
|
+
description: 'Check if all your code is spell-checked correctly'
|
|
228
|
+
command: 'alfonsox'
|
|
229
|
+
install_command: 'gem install alfonsox'
|
|
230
|
+
include:
|
|
231
|
+
- '**/*.rb'
|
|
232
|
+
- '**/*.erb'
|
|
233
|
+
|
|
234
|
+
CoffeeLint:
|
|
235
|
+
enabled: false
|
|
236
|
+
description: 'Analyze with coffeelint'
|
|
237
|
+
required_executable: 'coffeelint'
|
|
238
|
+
flags: ['--reporter=csv']
|
|
239
|
+
install_command: 'npm install -g coffeelint'
|
|
240
|
+
include: '**/*.coffee'
|
|
241
|
+
|
|
242
|
+
CookStyle:
|
|
243
|
+
enabled: false
|
|
244
|
+
description: 'Analyze with CookStyle'
|
|
245
|
+
required_executable: 'cookstyle'
|
|
246
|
+
flags: ['--format=emacs', '--force-exclusion', '--display-cop-names']
|
|
247
|
+
install_command: 'gem install cookstyle'
|
|
248
|
+
include:
|
|
249
|
+
- '**/*.rb'
|
|
250
|
+
- '**/*.erb'
|
|
251
|
+
|
|
252
|
+
Credo:
|
|
253
|
+
enabled: false
|
|
254
|
+
description: 'Analyze with credo'
|
|
255
|
+
required_executable: 'mix'
|
|
256
|
+
flags: ['credo', '--all', '--strict', '--format', 'flycheck']
|
|
257
|
+
include:
|
|
258
|
+
- '**/*.ex'
|
|
259
|
+
- '**/*.exs'
|
|
260
|
+
|
|
261
|
+
CssLint:
|
|
262
|
+
enabled: false
|
|
263
|
+
description: 'Analyze with csslint'
|
|
264
|
+
required_executable: 'csslint'
|
|
265
|
+
flags: ['--quiet', '--format=compact']
|
|
266
|
+
install_command: 'npm install -g csslint'
|
|
267
|
+
include: '**/*.css'
|
|
268
|
+
|
|
269
|
+
Dogma:
|
|
270
|
+
enabled: false
|
|
271
|
+
description: 'Analyze with dogma'
|
|
272
|
+
required_executable: 'mix'
|
|
273
|
+
flags: ['dogma']
|
|
274
|
+
include:
|
|
275
|
+
- '**/*.ex'
|
|
276
|
+
- '**/*.exs'
|
|
277
|
+
|
|
278
|
+
EsLint:
|
|
279
|
+
enabled: false
|
|
280
|
+
description: 'Analyze with ESLint'
|
|
281
|
+
required_executable: 'eslint'
|
|
282
|
+
flags: ['--format=compact']
|
|
283
|
+
install_command: 'npm install -g eslint'
|
|
284
|
+
include: '**/*.js'
|
|
285
|
+
|
|
286
|
+
ExecutePermissions:
|
|
287
|
+
enabled: false
|
|
288
|
+
description: 'Check for file execute permissions'
|
|
289
|
+
quiet: true
|
|
290
|
+
|
|
291
|
+
Fasterer:
|
|
292
|
+
enabled: false
|
|
293
|
+
description: 'Analyzing for potential speed improvements'
|
|
294
|
+
required_executable: 'fasterer'
|
|
295
|
+
install_command: 'gem install fasterer'
|
|
296
|
+
include: '**/*.rb'
|
|
297
|
+
|
|
298
|
+
FixMe:
|
|
299
|
+
enabled: false
|
|
300
|
+
description: 'Check for "token" strings'
|
|
301
|
+
required_executable: 'grep'
|
|
302
|
+
flags: ['-IEHnw']
|
|
303
|
+
keywords: ['BROKEN', 'BUG', 'ERROR', 'FIXME', 'HACK', 'NOTE', 'OPTIMIZE', 'REVIEW', 'TODO', 'WTF', 'XXX']
|
|
304
|
+
|
|
305
|
+
FileSize:
|
|
306
|
+
enabled: false
|
|
307
|
+
description: 'Check for oversized files'
|
|
308
|
+
size_limit_bytes: 1_000_000
|
|
309
|
+
|
|
310
|
+
Flay:
|
|
311
|
+
enabled: false
|
|
312
|
+
description: 'Analyze ruby code for structural similarities with Flay'
|
|
313
|
+
required_executable: 'flay'
|
|
314
|
+
install_command: 'gem install flay'
|
|
315
|
+
mass_threshold: 16
|
|
316
|
+
fuzzy: 1
|
|
317
|
+
liberal: false
|
|
318
|
+
include: '**/*.rb'
|
|
319
|
+
|
|
320
|
+
Foodcritic:
|
|
321
|
+
enabled: false
|
|
322
|
+
description: 'Analyze with Foodcritic'
|
|
323
|
+
required_executable: 'foodcritic'
|
|
324
|
+
flags: ['--epic-fail=any']
|
|
325
|
+
install_command: 'gem install foodcritic'
|
|
326
|
+
|
|
327
|
+
ForbiddenBranches:
|
|
328
|
+
enabled: false
|
|
329
|
+
description: 'Check for commit to forbidden branch'
|
|
330
|
+
quiet: true
|
|
331
|
+
branch_patterns: ['master']
|
|
332
|
+
|
|
333
|
+
GinkgoFocus:
|
|
334
|
+
enabled: false
|
|
335
|
+
description: 'Check for "focused" tests'
|
|
336
|
+
required_executable: 'grep'
|
|
337
|
+
flags: ['-IEHnw']
|
|
338
|
+
keywords: ['FContext','FDescribe','FIt','FMeasure','FSpecify','FWhen']
|
|
339
|
+
|
|
340
|
+
GoFmt:
|
|
341
|
+
enabled: true
|
|
342
|
+
description: 'Fix with go fmt'
|
|
343
|
+
required_executable: 'go'
|
|
344
|
+
command: ['go', 'fmt']
|
|
345
|
+
parallelize: false
|
|
346
|
+
include: '**/*.go'
|
|
347
|
+
|
|
348
|
+
GolangciLint:
|
|
349
|
+
enabled: false
|
|
350
|
+
description: 'Analyze with golangci-lint'
|
|
351
|
+
required_executable: 'golangci-lint'
|
|
352
|
+
install_command: 'go get github.com/golangci/golangci-lint/cmd/golangci-lint'
|
|
353
|
+
flags: ['--out-format=line-number', '--print-issued-lines=false']
|
|
354
|
+
command: ['golangci-lint', 'run']
|
|
355
|
+
include: '**/*.go'
|
|
356
|
+
|
|
357
|
+
GoLint:
|
|
358
|
+
enabled: false
|
|
359
|
+
description: 'Analyze with golint'
|
|
360
|
+
required_executable: 'golint'
|
|
361
|
+
install_command: 'go get github.com/golang/lint/golint'
|
|
362
|
+
include: '**/*.go'
|
|
363
|
+
|
|
364
|
+
GoVet:
|
|
365
|
+
enabled: false
|
|
366
|
+
description: 'Analyze with go vet'
|
|
367
|
+
required_executable: 'go'
|
|
368
|
+
flags: ['tool', 'vet']
|
|
369
|
+
install_command: 'go get golang.org/x/tools/cmd/vet'
|
|
370
|
+
include: '**/*.go'
|
|
371
|
+
|
|
372
|
+
Hadolint:
|
|
373
|
+
enabled: false
|
|
374
|
+
description: 'Analyze with hadolint'
|
|
375
|
+
required_executable: 'hadolint'
|
|
376
|
+
include:
|
|
377
|
+
- '**/Dockerfile*'
|
|
378
|
+
|
|
379
|
+
HamlLint:
|
|
380
|
+
enabled: false
|
|
381
|
+
description: 'Analyze with haml-lint'
|
|
382
|
+
required_executable: 'haml-lint'
|
|
383
|
+
install_command: 'gem install haml-lint'
|
|
384
|
+
flags: ['--no-summary']
|
|
385
|
+
include: '**/*.haml'
|
|
386
|
+
|
|
387
|
+
HardTabs:
|
|
388
|
+
enabled: false
|
|
389
|
+
description: 'Check for hard tabs'
|
|
390
|
+
quiet: true
|
|
391
|
+
required_executable: 'grep'
|
|
392
|
+
flags: ['-IHn', "\t"]
|
|
393
|
+
exclude:
|
|
394
|
+
- '**/Makefile'
|
|
395
|
+
- '**/*.go'
|
|
396
|
+
|
|
397
|
+
Hlint:
|
|
398
|
+
enabled: false
|
|
399
|
+
description: 'Analyze with hlint'
|
|
400
|
+
required_executable: 'hlint'
|
|
401
|
+
install_command: 'cabal install hlint'
|
|
402
|
+
include: '**/*.hs'
|
|
403
|
+
|
|
404
|
+
HtmlHint:
|
|
405
|
+
enabled: false
|
|
406
|
+
description: 'Analyze with HTMLHint'
|
|
407
|
+
required_executable: 'htmlhint'
|
|
408
|
+
install_command: 'npm install -g htmlhint'
|
|
409
|
+
include: '**/*.html'
|
|
410
|
+
|
|
411
|
+
HtmlTidy:
|
|
412
|
+
enabled: false
|
|
413
|
+
description: 'Analyze HTML with tidy'
|
|
414
|
+
required_executable: 'tidy'
|
|
415
|
+
flags: ['-errors', '-quiet', '-utf8']
|
|
416
|
+
include: '**/*.html'
|
|
417
|
+
|
|
418
|
+
ImageOptim:
|
|
419
|
+
enabled: false
|
|
420
|
+
description: 'Check for optimizable images'
|
|
421
|
+
required_executable: 'image_optim'
|
|
422
|
+
install_command: 'gem install image_optim'
|
|
423
|
+
include:
|
|
424
|
+
- '**/*.gif'
|
|
425
|
+
- '**/*.jpeg'
|
|
426
|
+
- '**/*.jpg'
|
|
427
|
+
- '**/*.png'
|
|
428
|
+
- '**/*.svg'
|
|
429
|
+
|
|
430
|
+
JavaCheckstyle:
|
|
431
|
+
enabled: false
|
|
432
|
+
description: 'Analyze with checkstyle'
|
|
433
|
+
required_executable: 'checkstyle'
|
|
434
|
+
flags: ['-c', '/sun_checks.xml']
|
|
435
|
+
include: '**/*.java'
|
|
436
|
+
|
|
437
|
+
Jscs:
|
|
438
|
+
enabled: false
|
|
439
|
+
description: 'Analyze with JSCS'
|
|
440
|
+
required_executable: 'jscs'
|
|
441
|
+
flags: ['--reporter=inline']
|
|
442
|
+
install_command: 'npm install -g jscs'
|
|
443
|
+
include: '**/*.js'
|
|
444
|
+
|
|
445
|
+
JsHint:
|
|
446
|
+
enabled: false
|
|
447
|
+
description: 'Analyze with JSHint'
|
|
448
|
+
required_executable: 'jshint'
|
|
449
|
+
flags: ['--verbose']
|
|
450
|
+
install_command: 'npm install -g jshint'
|
|
451
|
+
include: '**/*.js'
|
|
452
|
+
|
|
453
|
+
JsLint:
|
|
454
|
+
enabled: false
|
|
455
|
+
description: 'Analyze with JSLint'
|
|
456
|
+
required_executable: 'jslint'
|
|
457
|
+
flags: ['--terse']
|
|
458
|
+
install_command: 'npm install -g jslint'
|
|
459
|
+
include: '**/*.js'
|
|
460
|
+
|
|
461
|
+
Jsl:
|
|
462
|
+
enabled: false
|
|
463
|
+
description: 'Analyze with JSL'
|
|
464
|
+
required_executable: 'jsl'
|
|
465
|
+
flags: ['-nologo', '-nofilelisting', '-nocontext', '-nosummary']
|
|
466
|
+
include: '**/*.js'
|
|
467
|
+
|
|
468
|
+
JsonSyntax:
|
|
469
|
+
enabled: false
|
|
470
|
+
description: 'Validate JSON syntax'
|
|
471
|
+
required_library: 'json'
|
|
472
|
+
install_command: 'gem install json'
|
|
473
|
+
include: '**/*.json'
|
|
474
|
+
|
|
475
|
+
KtLint:
|
|
476
|
+
enabled: false
|
|
477
|
+
description: 'Analyze with KtLint'
|
|
478
|
+
required_executable: 'ktlint'
|
|
479
|
+
flags: []
|
|
480
|
+
include: '**/*.kt'
|
|
481
|
+
|
|
482
|
+
LicenseFinder:
|
|
483
|
+
enabled: false
|
|
484
|
+
description: 'Analyze with LicenseFinder'
|
|
485
|
+
required_executable: 'license_finder'
|
|
486
|
+
install_command: 'gem install license_finder'
|
|
487
|
+
include:
|
|
488
|
+
- 'Gemfile'
|
|
489
|
+
- 'requirements.txt'
|
|
490
|
+
- 'package.json'
|
|
491
|
+
- 'pom.xml'
|
|
492
|
+
- 'build.gradle'
|
|
493
|
+
- 'bower.json'
|
|
494
|
+
- 'Podfile'
|
|
495
|
+
- 'rebar.config'
|
|
496
|
+
|
|
497
|
+
LicenseHeader:
|
|
498
|
+
enabled: false
|
|
499
|
+
license_file: 'LICENSE.txt'
|
|
500
|
+
description: 'Check source files for license headers'
|
|
501
|
+
|
|
502
|
+
LocalPathsInGemfile:
|
|
503
|
+
enabled: false
|
|
504
|
+
description: 'Check for local paths in Gemfile'
|
|
505
|
+
required_executable: 'grep'
|
|
506
|
+
flags: ['-IHnE', "^[^#]*((\\bpath:)|(:path[ \t]*=>))"]
|
|
507
|
+
include: '**/Gemfile'
|
|
508
|
+
|
|
509
|
+
Mdl:
|
|
510
|
+
enabled: false
|
|
511
|
+
description: 'Analyze markdown files with mdl'
|
|
512
|
+
required_executable: 'mdl'
|
|
513
|
+
flags: ['--json']
|
|
514
|
+
install_command: 'gem install mdl'
|
|
515
|
+
include: '**/*.md'
|
|
516
|
+
|
|
517
|
+
MergeConflicts:
|
|
518
|
+
enabled: true
|
|
519
|
+
description: 'Check for merge conflicts'
|
|
520
|
+
quiet: true
|
|
521
|
+
required_executable: 'grep'
|
|
522
|
+
flags: ['-IHn', "^<<<<<<<[ \t]"]
|
|
523
|
+
|
|
524
|
+
PuppetMetadataJsonLint:
|
|
525
|
+
enabled: false
|
|
526
|
+
description: 'Checking module metadata'
|
|
527
|
+
flags: ['--strict-license', '--strict-dependencies', '--fail-on-warning']
|
|
528
|
+
include: 'metadata.json'
|
|
529
|
+
required_executable: 'metadata-json-lint'
|
|
530
|
+
install_command: 'gem install metadata-json-lint'
|
|
531
|
+
|
|
532
|
+
NginxTest:
|
|
533
|
+
enabled: false
|
|
534
|
+
description: 'Test nginx configs'
|
|
535
|
+
required_executable: 'nginx'
|
|
536
|
+
flags: ['-t']
|
|
537
|
+
include: '**/nginx.conf'
|
|
538
|
+
|
|
539
|
+
Pep257: # Deprecated – use Pydocstyle instead.
|
|
540
|
+
enabled: false
|
|
541
|
+
description: 'Analyze docstrings with pep257'
|
|
542
|
+
required_executable: 'pep257'
|
|
543
|
+
install_command: 'pip install pep257'
|
|
544
|
+
include: '**/*.py'
|
|
545
|
+
|
|
546
|
+
Pep8: # Deprecated – use Pycodestyle instead.
|
|
547
|
+
enabled: false
|
|
548
|
+
description: 'Analyze with pep8'
|
|
549
|
+
required_executable: 'pep8'
|
|
550
|
+
install_command: 'pip install pep8'
|
|
551
|
+
include: '**/*.py'
|
|
552
|
+
|
|
553
|
+
PhpLint:
|
|
554
|
+
enabled: false
|
|
555
|
+
description: 'Testing with PHP lint'
|
|
556
|
+
required_executable: 'php'
|
|
557
|
+
command: 'php'
|
|
558
|
+
flags: ['-l']
|
|
559
|
+
include: '**/*.php'
|
|
560
|
+
|
|
561
|
+
PhpCs:
|
|
562
|
+
enabled: false
|
|
563
|
+
description: 'Analyze with PHP_CodeSniffer'
|
|
564
|
+
command: 'vendor/bin/phpcs'
|
|
565
|
+
flags: ['--standard=PSR2', '--report=csv']
|
|
566
|
+
include: '**/*.php'
|
|
567
|
+
|
|
568
|
+
PhpCsFixer:
|
|
569
|
+
enabled: false
|
|
570
|
+
description: 'Fix non compliant PHP files'
|
|
571
|
+
required_executable: 'php-cs-fixer'
|
|
572
|
+
command: 'vendor/bin/php-cs-fixer'
|
|
573
|
+
flags: ['fix', '-v', '--path-mode=intersection']
|
|
574
|
+
install_command: 'composer global require friendsofphp/php-cs-fixer'
|
|
575
|
+
include: '**/*.php'
|
|
576
|
+
|
|
577
|
+
PhpStan:
|
|
578
|
+
description: 'Analyze with phpstan'
|
|
579
|
+
enabled: false
|
|
580
|
+
command: 'phpstan'
|
|
581
|
+
flags: ['analyze', '--errorFormat=raw']
|
|
582
|
+
include:
|
|
583
|
+
- '**/*.php'
|
|
584
|
+
|
|
585
|
+
Pronto:
|
|
586
|
+
enabled: false
|
|
587
|
+
description: 'Analyzing with pronto'
|
|
588
|
+
required_executable: 'pronto'
|
|
589
|
+
install_command: 'gem install pronto'
|
|
590
|
+
flags: ['run', '--staged', '--exit-code']
|
|
591
|
+
|
|
592
|
+
PuppetLint:
|
|
593
|
+
enabled: false
|
|
594
|
+
description: 'Analyze with puppet-lint'
|
|
595
|
+
required_executable: 'puppet-lint'
|
|
596
|
+
install_command: 'gem install puppet-lint'
|
|
597
|
+
flags:
|
|
598
|
+
- '--log-format="%{fullpath}:%{line}:%{column}:%{KIND}: %{message} (%{check})"'
|
|
599
|
+
- '--fail-on-warnings'
|
|
600
|
+
- '--error-level=all'
|
|
601
|
+
include: '**/*.pp'
|
|
602
|
+
|
|
603
|
+
Pycodestyle:
|
|
604
|
+
enabled: false
|
|
605
|
+
description: 'Analyze with pycodestyle'
|
|
606
|
+
required_executable: 'pycodestyle'
|
|
607
|
+
install_command: 'pip install pycodestyle'
|
|
608
|
+
include: '**/*.py'
|
|
609
|
+
|
|
610
|
+
Pydocstyle:
|
|
611
|
+
enabled: false
|
|
612
|
+
description: 'Analyze docstrings with pydocstyle'
|
|
613
|
+
required_executable: 'pydocstyle'
|
|
614
|
+
install_command: 'pip install pydocstyle'
|
|
615
|
+
include: '**/*.py'
|
|
616
|
+
|
|
617
|
+
Pyflakes:
|
|
618
|
+
enabled: false
|
|
619
|
+
description: 'Analyze with pyflakes'
|
|
620
|
+
required_executable: 'pyflakes'
|
|
621
|
+
install_command: 'pip install pyflakes'
|
|
622
|
+
include: '**/*.py'
|
|
623
|
+
|
|
624
|
+
Pylint:
|
|
625
|
+
enabled: false
|
|
626
|
+
description: 'Analyze with Pylint'
|
|
627
|
+
required_executable: 'pylint'
|
|
628
|
+
install_command: 'pip install pylint'
|
|
629
|
+
flags:
|
|
630
|
+
- '--msg-template="{path}:{line}:{C}: {msg} ({symbol})"'
|
|
631
|
+
- '--reports=n'
|
|
632
|
+
- '--persistent=n'
|
|
633
|
+
include: '**/*.py'
|
|
634
|
+
|
|
635
|
+
PythonFlake8:
|
|
636
|
+
enabled: false
|
|
637
|
+
description: 'Analyze with flake8'
|
|
638
|
+
required_executable: 'flake8'
|
|
639
|
+
install_command: 'pip install flake8'
|
|
640
|
+
include: '**/*.py'
|
|
641
|
+
|
|
642
|
+
RakeTarget:
|
|
643
|
+
enabled: false
|
|
644
|
+
description: 'Run rake targets'
|
|
645
|
+
# targets:
|
|
646
|
+
# - 'lint'
|
|
647
|
+
# - 'validate'
|
|
648
|
+
# - '...'
|
|
649
|
+
required_executable: 'rake'
|
|
650
|
+
install_command: 'gem install rake'
|
|
651
|
+
|
|
652
|
+
RailsBestPractices:
|
|
653
|
+
enabled: false
|
|
654
|
+
description: 'Analyze with RailsBestPractices'
|
|
655
|
+
required_executable: 'rails_best_practices'
|
|
656
|
+
flags: ['--without-color']
|
|
657
|
+
install_command: 'gem install rails_best_practices'
|
|
658
|
+
|
|
659
|
+
RailsSchemaUpToDate:
|
|
660
|
+
enabled: false
|
|
661
|
+
description: 'Check if database schema is up to date'
|
|
662
|
+
include:
|
|
663
|
+
- 'db/migrate/*.rb'
|
|
664
|
+
- 'db/schema.rb'
|
|
665
|
+
- 'db/structure.sql'
|
|
666
|
+
|
|
667
|
+
Reek:
|
|
668
|
+
enabled: false
|
|
669
|
+
description: 'Analyze with Reek'
|
|
670
|
+
required_executable: 'reek'
|
|
671
|
+
flags: ['--single-line', '--no-color', '--force-exclusion']
|
|
672
|
+
install_command: 'gem install reek'
|
|
673
|
+
include:
|
|
674
|
+
- '**/*.gemspec'
|
|
675
|
+
- '**/*.rake'
|
|
676
|
+
- '**/*.rb'
|
|
677
|
+
- '**/Gemfile'
|
|
678
|
+
- '**/Rakefile'
|
|
679
|
+
|
|
680
|
+
RstLint:
|
|
681
|
+
enabled: false
|
|
682
|
+
description: 'Analyze reStructuredText files with rst-lint'
|
|
683
|
+
required_executable: 'rst-lint'
|
|
684
|
+
install_command: 'pip install restructuredtext_lint'
|
|
685
|
+
include: '**/*.rst'
|
|
686
|
+
|
|
687
|
+
RuboCop:
|
|
688
|
+
enabled: false
|
|
689
|
+
description: 'Analyze with RuboCop'
|
|
690
|
+
required_executable: 'rubocop'
|
|
691
|
+
flags: ['--format=emacs', '--force-exclusion', '--display-cop-names']
|
|
692
|
+
install_command: 'gem install rubocop'
|
|
693
|
+
include:
|
|
694
|
+
- '**/*.gemspec'
|
|
695
|
+
- '**/*.rake'
|
|
696
|
+
- '**/*.rb'
|
|
697
|
+
- '**/*.ru'
|
|
698
|
+
- '**/Gemfile'
|
|
699
|
+
- '**/Rakefile'
|
|
700
|
+
|
|
701
|
+
RubyLint:
|
|
702
|
+
enabled: false
|
|
703
|
+
description: 'Analyze with ruby-lint'
|
|
704
|
+
required_executable: 'ruby-lint'
|
|
705
|
+
flags: ['--presenter=syntastic', '--levels=error,warning']
|
|
706
|
+
install_command: 'gem install ruby-lint'
|
|
707
|
+
include:
|
|
708
|
+
- '**/*.gemspec'
|
|
709
|
+
- '**/*.rb'
|
|
710
|
+
|
|
711
|
+
RubySyntax:
|
|
712
|
+
enabled: false
|
|
713
|
+
description: 'Check ruby syntax'
|
|
714
|
+
required_executable: 'ruby'
|
|
715
|
+
command: [
|
|
716
|
+
'ruby',
|
|
717
|
+
'-e',
|
|
718
|
+
'ARGV.each { |applicable_file| ruby_c_output = `ruby -c #{applicable_file}`; puts ruby_c_output unless $?.success? }'
|
|
719
|
+
]
|
|
720
|
+
include:
|
|
721
|
+
- '**/*.gemspec'
|
|
722
|
+
- '**/*.rb'
|
|
723
|
+
|
|
724
|
+
Scalariform:
|
|
725
|
+
enabled: false
|
|
726
|
+
description: 'Check formatting with Scalariform'
|
|
727
|
+
required_executable: 'scalariform'
|
|
728
|
+
flags: ['--test']
|
|
729
|
+
include: '**/*.scala'
|
|
730
|
+
|
|
731
|
+
Scalastyle:
|
|
732
|
+
enabled: false
|
|
733
|
+
description: 'Analyze with Scalastyle'
|
|
734
|
+
required_executable: 'scalastyle'
|
|
735
|
+
include: '**/*.scala'
|
|
736
|
+
|
|
737
|
+
ScssLint:
|
|
738
|
+
enabled: false
|
|
739
|
+
description: 'Analyze with scss-lint'
|
|
740
|
+
required_library: 'json'
|
|
741
|
+
required_executable: 'scss-lint'
|
|
742
|
+
flags: ['--format', 'JSON']
|
|
743
|
+
install_command: 'gem install scss_lint'
|
|
744
|
+
include: '**/*.scss'
|
|
745
|
+
|
|
746
|
+
SemiStandard:
|
|
747
|
+
enabled: false
|
|
748
|
+
description: 'Analyze with semistandard'
|
|
749
|
+
required_executable: 'semistandard'
|
|
750
|
+
flags: ['--verbose']
|
|
751
|
+
install_command: 'npm install -g semistandard'
|
|
752
|
+
include: '**/*.js'
|
|
753
|
+
|
|
754
|
+
ShellCheck:
|
|
755
|
+
enabled: false
|
|
756
|
+
description: 'Analyze with ShellCheck'
|
|
757
|
+
required_executable: 'shellcheck'
|
|
758
|
+
flags: ['--format=gcc']
|
|
759
|
+
include: '**/*.sh'
|
|
760
|
+
|
|
761
|
+
SlimLint:
|
|
762
|
+
enabled: false
|
|
763
|
+
description: 'Analyze with slim-lint'
|
|
764
|
+
required_executable: 'slim-lint'
|
|
765
|
+
install_command: 'gem install slim_lint'
|
|
766
|
+
include: '**/*.slim'
|
|
767
|
+
|
|
768
|
+
Sqlint:
|
|
769
|
+
enabled: false
|
|
770
|
+
description: 'Analyze with sqlint'
|
|
771
|
+
required_executable: 'sqlint'
|
|
772
|
+
install_command: 'gem install sqlint'
|
|
773
|
+
include: '**/*.sql'
|
|
774
|
+
|
|
775
|
+
Standard:
|
|
776
|
+
enabled: false
|
|
777
|
+
description: 'Analyze with standard'
|
|
778
|
+
required_executable: 'standard'
|
|
779
|
+
flags: ['--verbose']
|
|
780
|
+
install_command: 'npm install -g standard'
|
|
781
|
+
include: '**/*.js'
|
|
782
|
+
|
|
783
|
+
Stylelint:
|
|
784
|
+
enabled: false
|
|
785
|
+
description: 'Check styles with Stylelint'
|
|
786
|
+
required_executable: 'stylelint'
|
|
787
|
+
flags: ['-f', 'compact']
|
|
788
|
+
install_command: 'npm install -g stylelint'
|
|
789
|
+
include:
|
|
790
|
+
- '**/*.scss'
|
|
791
|
+
- '**/*.css'
|
|
792
|
+
- '**/*.less'
|
|
793
|
+
|
|
794
|
+
SwiftLint:
|
|
795
|
+
enabled: false
|
|
796
|
+
description: 'Analyze with SwiftLint'
|
|
797
|
+
required_executable: 'swiftlint'
|
|
798
|
+
flags: ['lint', '--strict']
|
|
799
|
+
install_command: 'brew install swiftlint'
|
|
800
|
+
include: '**/*.swift'
|
|
801
|
+
|
|
802
|
+
TerraformFormat:
|
|
803
|
+
enabled: false
|
|
804
|
+
description: 'Analyze with Terraform'
|
|
805
|
+
required_executable: 'terraform'
|
|
806
|
+
flags: ['fmt', '-check=true', '-diff=false']
|
|
807
|
+
include: '**/*.tf'
|
|
808
|
+
|
|
809
|
+
TsLint:
|
|
810
|
+
enabled: false
|
|
811
|
+
description: 'Analyze with TSLint'
|
|
812
|
+
required_executable: 'tslint'
|
|
813
|
+
install_command: 'npm install -g tslint typescript'
|
|
814
|
+
include: '**/*.ts'
|
|
815
|
+
|
|
816
|
+
TrailingWhitespace:
|
|
817
|
+
enabled: false
|
|
818
|
+
description: 'Check for trailing whitespace'
|
|
819
|
+
required_executable: 'grep'
|
|
820
|
+
flags: ['-IHn', "[ \t]$"]
|
|
821
|
+
|
|
822
|
+
TravisLint:
|
|
823
|
+
enabled: false
|
|
824
|
+
description: 'Check Travis CI configuration'
|
|
825
|
+
required_executable: 'travis'
|
|
826
|
+
flags: ['lint']
|
|
827
|
+
install_command: 'gem install travis'
|
|
828
|
+
include: '.travis.yml'
|
|
829
|
+
|
|
830
|
+
Vint:
|
|
831
|
+
enabled: false
|
|
832
|
+
description: 'Analyze with Vint'
|
|
833
|
+
required_executable: 'vint'
|
|
834
|
+
install_command: 'pip install vim-vint'
|
|
835
|
+
include:
|
|
836
|
+
- '**/*.vim'
|
|
837
|
+
- '**/*.vimrc'
|
|
838
|
+
|
|
839
|
+
W3cCss:
|
|
840
|
+
enabled: false
|
|
841
|
+
description: 'Analyze with W3C CSS validation service'
|
|
842
|
+
required_library: 'w3c_validators'
|
|
843
|
+
install_command: 'gem install w3c_validators'
|
|
844
|
+
validator_uri: 'http://jigsaw.w3.org/css-validator/validator'
|
|
845
|
+
language: 'en'
|
|
846
|
+
profile: 'css3'
|
|
847
|
+
warn_level: 2
|
|
848
|
+
include:
|
|
849
|
+
- '**/*.css'
|
|
850
|
+
|
|
851
|
+
W3cHtml:
|
|
852
|
+
enabled: false
|
|
853
|
+
description: 'Analyze with W3C HTML validation service'
|
|
854
|
+
required_library: 'w3c_validators'
|
|
855
|
+
install_command: 'gem install w3c_validators'
|
|
856
|
+
validator_uri: 'https://validator.w3.org/nu'
|
|
857
|
+
charset: 'utf-8'
|
|
858
|
+
doctype: 'HTML5'
|
|
859
|
+
include:
|
|
860
|
+
- '**/*.html'
|
|
861
|
+
|
|
862
|
+
LineEndings:
|
|
863
|
+
description: 'Check line endings'
|
|
864
|
+
enabled: false
|
|
865
|
+
eol: "\n" # or "\r\n" for Windows-style newlines
|
|
866
|
+
|
|
867
|
+
XmlLint:
|
|
868
|
+
enabled: false
|
|
869
|
+
description: 'Analyze with xmllint'
|
|
870
|
+
required_executable: 'xmllint'
|
|
871
|
+
flags: ['--noout']
|
|
872
|
+
include:
|
|
873
|
+
- '**/*.xml'
|
|
874
|
+
- '**/*.svg'
|
|
875
|
+
|
|
876
|
+
XmlSyntax:
|
|
877
|
+
enabled: false
|
|
878
|
+
description: 'Check XML syntax'
|
|
879
|
+
required_library: 'rexml/document'
|
|
880
|
+
include:
|
|
881
|
+
- '**/*.xml'
|
|
882
|
+
- '**/*.svg'
|
|
883
|
+
|
|
884
|
+
YamlLint:
|
|
885
|
+
enabled: false
|
|
886
|
+
description: 'Analyze with YAMLlint'
|
|
887
|
+
required_executable: 'yamllint'
|
|
888
|
+
flags: ['--format=parsable']
|
|
889
|
+
install_command: 'pip install yamllint'
|
|
890
|
+
include:
|
|
891
|
+
- '**/*.yaml'
|
|
892
|
+
- '**/*.yml'
|
|
893
|
+
|
|
894
|
+
YamlSyntax:
|
|
895
|
+
enabled: false
|
|
896
|
+
description: 'Check YAML syntax'
|
|
897
|
+
required_library: 'yaml'
|
|
898
|
+
include:
|
|
899
|
+
- '**/*.yaml'
|
|
900
|
+
- '**/*.yml'
|
|
901
|
+
|
|
902
|
+
YardCoverage:
|
|
903
|
+
enabled: false
|
|
904
|
+
description: 'Checking for yard coverage'
|
|
905
|
+
command: ['yard', 'stats', '--list-undoc', '--compact']
|
|
906
|
+
flags: ['--private', '--protected']
|
|
907
|
+
required_executable: 'yard'
|
|
908
|
+
install_command: 'gem install yard'
|
|
909
|
+
min_coverage_percentage: 100
|
|
910
|
+
include:
|
|
911
|
+
- '/**/*.rb'
|
|
912
|
+
|
|
913
|
+
YarnCheck:
|
|
914
|
+
enabled: false
|
|
915
|
+
description: 'Check yarn.lock dependencies'
|
|
916
|
+
required_executable: 'yarn'
|
|
917
|
+
flags: ['check', '--silent', '--no-progress', '--non-interactive']
|
|
918
|
+
install_command: 'npm install --global yarn'
|
|
919
|
+
include:
|
|
920
|
+
- 'package.json'
|
|
921
|
+
- 'yarn.lock'
|
|
922
|
+
|
|
923
|
+
# Hooks that run after HEAD changes or a file is explicitly checked out.
|
|
924
|
+
PostCheckout:
|
|
925
|
+
ALL:
|
|
926
|
+
required: false
|
|
927
|
+
quiet: false
|
|
928
|
+
skip_file_checkout: true
|
|
929
|
+
|
|
930
|
+
BowerInstall:
|
|
931
|
+
enabled: false
|
|
932
|
+
description: 'Install bower dependencies'
|
|
933
|
+
requires_files: true
|
|
934
|
+
required_executable: 'bower'
|
|
935
|
+
install_command: 'npm install -g bower'
|
|
936
|
+
flags: ['install']
|
|
937
|
+
include: 'bower.json'
|
|
938
|
+
|
|
939
|
+
BundleInstall:
|
|
940
|
+
enabled: false
|
|
941
|
+
description: 'Install Bundler dependencies'
|
|
942
|
+
requires_files: true
|
|
943
|
+
required_executable: 'bundle'
|
|
944
|
+
install_command: 'gem install bundler'
|
|
945
|
+
flags: ['install']
|
|
946
|
+
include:
|
|
947
|
+
- 'Gemfile'
|
|
948
|
+
- 'Gemfile.lock'
|
|
949
|
+
- '*.gemspec'
|
|
950
|
+
|
|
951
|
+
ComposerInstall:
|
|
952
|
+
enabled: false
|
|
953
|
+
description: 'Install composer dependencies'
|
|
954
|
+
requires_files: true
|
|
955
|
+
required_executable: 'composer'
|
|
956
|
+
install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
|
|
957
|
+
flags: ['install']
|
|
958
|
+
include: 'composer.json'
|
|
959
|
+
|
|
960
|
+
GitLfs:
|
|
961
|
+
enabled: false
|
|
962
|
+
description: 'Check status of lockable files tracked by Git LFS'
|
|
963
|
+
required_executable: 'git-lfs'
|
|
964
|
+
install_command: 'brew install git-lfs'
|
|
965
|
+
|
|
966
|
+
IndexTags:
|
|
967
|
+
enabled: false
|
|
968
|
+
description: 'Generate tags file from source'
|
|
969
|
+
quiet: true
|
|
970
|
+
required_executable: 'ctags'
|
|
971
|
+
|
|
972
|
+
NpmInstall:
|
|
973
|
+
enabled: false
|
|
974
|
+
description: 'Install NPM dependencies'
|
|
975
|
+
requires_files: true
|
|
976
|
+
required_executable: 'npm'
|
|
977
|
+
flags: ['install']
|
|
978
|
+
include:
|
|
979
|
+
- 'package.json'
|
|
980
|
+
- 'npm-shrinkwrap.json'
|
|
981
|
+
|
|
982
|
+
SubmoduleStatus:
|
|
983
|
+
enabled: false
|
|
984
|
+
description: 'Check submodule status'
|
|
985
|
+
quiet: true
|
|
986
|
+
recursive: false
|
|
987
|
+
|
|
988
|
+
YarnInstall:
|
|
989
|
+
enabled: false
|
|
990
|
+
description: 'Install Yarn dependencies'
|
|
991
|
+
requires_files: true
|
|
992
|
+
required_executable: 'yarn'
|
|
993
|
+
flags: ['install']
|
|
994
|
+
include:
|
|
995
|
+
- 'package.json'
|
|
996
|
+
- 'yarn.lock'
|
|
997
|
+
|
|
998
|
+
# Hooks that run after a commit is created.
|
|
999
|
+
PostCommit:
|
|
1000
|
+
ALL:
|
|
1001
|
+
requires_files: false
|
|
1002
|
+
required: false
|
|
1003
|
+
quiet: false
|
|
1004
|
+
|
|
1005
|
+
BowerInstall:
|
|
1006
|
+
enabled: false
|
|
1007
|
+
description: 'Install bower dependencies'
|
|
1008
|
+
requires_files: true
|
|
1009
|
+
required_executable: 'bower'
|
|
1010
|
+
install_command: 'npm install -g bower'
|
|
1011
|
+
flags: ['install']
|
|
1012
|
+
include: 'bower.json'
|
|
1013
|
+
|
|
1014
|
+
BundleInstall:
|
|
1015
|
+
enabled: false
|
|
1016
|
+
description: 'Install Bundler dependencies'
|
|
1017
|
+
requires_files: true
|
|
1018
|
+
required_executable: 'bundle'
|
|
1019
|
+
install_command: 'gem install bundler'
|
|
1020
|
+
flags: ['install']
|
|
1021
|
+
include:
|
|
1022
|
+
- 'Gemfile'
|
|
1023
|
+
- 'Gemfile.lock'
|
|
1024
|
+
- '*.gemspec'
|
|
1025
|
+
|
|
1026
|
+
Commitplease:
|
|
1027
|
+
enabled: false
|
|
1028
|
+
description: 'Analyze with Commitplease'
|
|
1029
|
+
required_executable: './node_modules/.bin/commitplease'
|
|
1030
|
+
install_command: 'npm install --save-dev commitplease'
|
|
1031
|
+
flags: ['-1']
|
|
1032
|
+
|
|
1033
|
+
ComposerInstall:
|
|
1034
|
+
enabled: false
|
|
1035
|
+
description: 'Install composer dependencies'
|
|
1036
|
+
requires_files: true
|
|
1037
|
+
required_executable: 'composer'
|
|
1038
|
+
install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
|
|
1039
|
+
flags: ['install']
|
|
1040
|
+
include: 'composer.json'
|
|
1041
|
+
|
|
1042
|
+
GitGuilt:
|
|
1043
|
+
enabled: false
|
|
1044
|
+
description: 'Calculate changes in blame since last commit'
|
|
1045
|
+
requires_files: true
|
|
1046
|
+
required_executable: 'git-guilt'
|
|
1047
|
+
flags: ['HEAD~', 'HEAD']
|
|
1048
|
+
install_command: 'npm install -g git-guilt'
|
|
1049
|
+
|
|
1050
|
+
GitLfs:
|
|
1051
|
+
enabled: false
|
|
1052
|
+
description: 'Check status of lockable files tracked by Git LFS'
|
|
1053
|
+
required_executable: 'git-lfs'
|
|
1054
|
+
install_command: 'brew install git-lfs'
|
|
1055
|
+
|
|
1056
|
+
IndexTags:
|
|
1057
|
+
enabled: false
|
|
1058
|
+
description: 'Generate tags file from source'
|
|
1059
|
+
quiet: true
|
|
1060
|
+
required_executable: 'ctags'
|
|
1061
|
+
|
|
1062
|
+
NpmInstall:
|
|
1063
|
+
enabled: false
|
|
1064
|
+
description: 'Install NPM dependencies'
|
|
1065
|
+
requires_files: true
|
|
1066
|
+
required_executable: 'npm'
|
|
1067
|
+
flags: ['install']
|
|
1068
|
+
include:
|
|
1069
|
+
- 'package.json'
|
|
1070
|
+
- 'npm-shrinkwrap.json'
|
|
1071
|
+
|
|
1072
|
+
SubmoduleStatus:
|
|
1073
|
+
enabled: false
|
|
1074
|
+
description: 'Check submodule status'
|
|
1075
|
+
quiet: true
|
|
1076
|
+
recursive: false
|
|
1077
|
+
|
|
1078
|
+
YarnInstall:
|
|
1079
|
+
enabled: false
|
|
1080
|
+
description: 'Install Yarn dependencies'
|
|
1081
|
+
requires_files: true
|
|
1082
|
+
required_executable: 'yarn'
|
|
1083
|
+
flags: ['install']
|
|
1084
|
+
include:
|
|
1085
|
+
- 'package.json'
|
|
1086
|
+
- 'yarn.lock'
|
|
1087
|
+
|
|
1088
|
+
# Hooks that run after `git merge` executes successfully (no merge conflicts).
|
|
1089
|
+
PostMerge:
|
|
1090
|
+
ALL:
|
|
1091
|
+
requires_files: false
|
|
1092
|
+
quiet: false
|
|
1093
|
+
|
|
1094
|
+
BowerInstall:
|
|
1095
|
+
enabled: false
|
|
1096
|
+
description: 'Install bower dependencies'
|
|
1097
|
+
requires_files: true
|
|
1098
|
+
required_executable: 'bower'
|
|
1099
|
+
install_command: 'npm install -g bower'
|
|
1100
|
+
flags: ['install']
|
|
1101
|
+
include: 'bower.json'
|
|
1102
|
+
|
|
1103
|
+
BundleInstall:
|
|
1104
|
+
enabled: false
|
|
1105
|
+
description: 'Install Bundler dependencies'
|
|
1106
|
+
requires_files: true
|
|
1107
|
+
required_executable: 'bundle'
|
|
1108
|
+
install_command: 'gem install bundler'
|
|
1109
|
+
flags: ['install']
|
|
1110
|
+
include:
|
|
1111
|
+
- 'Gemfile'
|
|
1112
|
+
- 'Gemfile.lock'
|
|
1113
|
+
- '*.gemspec'
|
|
1114
|
+
|
|
1115
|
+
ComposerInstall:
|
|
1116
|
+
enabled: false
|
|
1117
|
+
description: 'Install composer dependencies'
|
|
1118
|
+
requires_files: true
|
|
1119
|
+
required_executable: 'composer'
|
|
1120
|
+
install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
|
|
1121
|
+
flags: ['install']
|
|
1122
|
+
include: 'composer.json'
|
|
1123
|
+
|
|
1124
|
+
GitLfs:
|
|
1125
|
+
enabled: false
|
|
1126
|
+
description: 'Check status of lockable files tracked by Git LFS'
|
|
1127
|
+
required_executable: 'git-lfs'
|
|
1128
|
+
install_command: 'brew install git-lfs'
|
|
1129
|
+
|
|
1130
|
+
IndexTags:
|
|
1131
|
+
enabled: false
|
|
1132
|
+
description: 'Generate tags file from source'
|
|
1133
|
+
quiet: true
|
|
1134
|
+
required_executable: 'ctags'
|
|
1135
|
+
|
|
1136
|
+
NpmInstall:
|
|
1137
|
+
enabled: false
|
|
1138
|
+
description: 'Install NPM dependencies'
|
|
1139
|
+
requires_files: true
|
|
1140
|
+
required_executable: 'npm'
|
|
1141
|
+
flags: ['install']
|
|
1142
|
+
include:
|
|
1143
|
+
- 'package.json'
|
|
1144
|
+
- 'npm-shrinkwrap.json'
|
|
1145
|
+
|
|
1146
|
+
SubmoduleStatus:
|
|
1147
|
+
enabled: false
|
|
1148
|
+
description: 'Check submodule status'
|
|
1149
|
+
quiet: true
|
|
1150
|
+
recursive: false
|
|
1151
|
+
|
|
1152
|
+
YarnInstall:
|
|
1153
|
+
enabled: false
|
|
1154
|
+
description: 'Install Yarn dependencies'
|
|
1155
|
+
requires_files: true
|
|
1156
|
+
required_executable: 'yarn'
|
|
1157
|
+
flags: ['install']
|
|
1158
|
+
include:
|
|
1159
|
+
- 'package.json'
|
|
1160
|
+
- 'yarn.lock'
|
|
1161
|
+
|
|
1162
|
+
# Hooks that run after a commit is modified by an amend or rebase.
|
|
1163
|
+
PostRewrite:
|
|
1164
|
+
ALL:
|
|
1165
|
+
requires_files: false
|
|
1166
|
+
quiet: false
|
|
1167
|
+
|
|
1168
|
+
BowerInstall:
|
|
1169
|
+
enabled: false
|
|
1170
|
+
description: 'Install bower dependencies'
|
|
1171
|
+
requires_files: true
|
|
1172
|
+
required_executable: 'bower'
|
|
1173
|
+
install_command: 'npm install -g bower'
|
|
1174
|
+
flags: ['install']
|
|
1175
|
+
include: 'bower.json'
|
|
1176
|
+
|
|
1177
|
+
BundleInstall:
|
|
1178
|
+
enabled: false
|
|
1179
|
+
description: 'Install Bundler dependencies'
|
|
1180
|
+
requires_files: true
|
|
1181
|
+
required_executable: 'bundle'
|
|
1182
|
+
install_command: 'gem install bundler'
|
|
1183
|
+
flags: ['install']
|
|
1184
|
+
include:
|
|
1185
|
+
- 'Gemfile'
|
|
1186
|
+
- 'Gemfile.lock'
|
|
1187
|
+
- '*.gemspec'
|
|
1188
|
+
|
|
1189
|
+
ComposerInstall:
|
|
1190
|
+
enabled: false
|
|
1191
|
+
description: 'Install composer dependencies'
|
|
1192
|
+
requires_files: true
|
|
1193
|
+
required_executable: 'composer'
|
|
1194
|
+
install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
|
|
1195
|
+
flags: ['install']
|
|
1196
|
+
include: 'composer.json'
|
|
1197
|
+
|
|
1198
|
+
IndexTags:
|
|
1199
|
+
enabled: false
|
|
1200
|
+
description: 'Generate tags file from source'
|
|
1201
|
+
quiet: true
|
|
1202
|
+
required_executable: 'ctags'
|
|
1203
|
+
|
|
1204
|
+
NpmInstall:
|
|
1205
|
+
enabled: false
|
|
1206
|
+
description: 'Install NPM dependencies'
|
|
1207
|
+
requires_files: true
|
|
1208
|
+
required_executable: 'npm'
|
|
1209
|
+
flags: ['install']
|
|
1210
|
+
include:
|
|
1211
|
+
- 'package.json'
|
|
1212
|
+
- 'npm-shrinkwrap.json'
|
|
1213
|
+
|
|
1214
|
+
SubmoduleStatus:
|
|
1215
|
+
enabled: false
|
|
1216
|
+
description: 'Check submodule status'
|
|
1217
|
+
quiet: true
|
|
1218
|
+
recursive: false
|
|
1219
|
+
|
|
1220
|
+
YarnInstall:
|
|
1221
|
+
enabled: false
|
|
1222
|
+
description: 'Install Yarn dependencies'
|
|
1223
|
+
requires_files: true
|
|
1224
|
+
required_executable: 'yarn'
|
|
1225
|
+
flags: ['install']
|
|
1226
|
+
include:
|
|
1227
|
+
- 'package.json'
|
|
1228
|
+
- 'yarn.lock'
|
|
1229
|
+
|
|
1230
|
+
# Hooks that run during the `prepare-commit-msg` hook.
|
|
1231
|
+
PrepareCommitMsg:
|
|
1232
|
+
ALL:
|
|
1233
|
+
requires_files: false
|
|
1234
|
+
required: false
|
|
1235
|
+
quiet: false
|
|
1236
|
+
|
|
1237
|
+
ReplaceBranch:
|
|
1238
|
+
enabled: false
|
|
1239
|
+
description: 'Prepends the commit message with text based on the branch name'
|
|
1240
|
+
branch_pattern: '\A.*\w+[-_](\d+).*\z'
|
|
1241
|
+
replacement_text: '[#\1]'
|
|
1242
|
+
skipped_commit_types: ['message', 'template', 'merge', 'squash']
|
|
1243
|
+
on_fail: warn
|
|
1244
|
+
|
|
1245
|
+
# Hooks that run during `git push`, after remote refs have been updated but
|
|
1246
|
+
# before any objects have been transferred.
|
|
1247
|
+
PrePush:
|
|
1248
|
+
ALL:
|
|
1249
|
+
requires_files: false
|
|
1250
|
+
required: false
|
|
1251
|
+
quiet: false
|
|
1252
|
+
|
|
1253
|
+
Brakeman:
|
|
1254
|
+
enabled: false
|
|
1255
|
+
description: 'Check for security vulnerabilities'
|
|
1256
|
+
required_executable: 'brakeman'
|
|
1257
|
+
flags: ['--exit-on-warn', '--quiet', '--summary']
|
|
1258
|
+
install_command: 'gem install brakeman'
|
|
1259
|
+
|
|
1260
|
+
CargoTest:
|
|
1261
|
+
enabled: false
|
|
1262
|
+
description: 'Run tests with cargo'
|
|
1263
|
+
required_executable: 'cargo'
|
|
1264
|
+
flags: ['test']
|
|
1265
|
+
include: 'src/**/*.rs'
|
|
1266
|
+
|
|
1267
|
+
GitLfs:
|
|
1268
|
+
enabled: false
|
|
1269
|
+
description: 'Upload files tracked by Git LFS'
|
|
1270
|
+
required_executable: 'git-lfs'
|
|
1271
|
+
install_command: 'brew install git-lfs'
|
|
1272
|
+
|
|
1273
|
+
GolangciLint:
|
|
1274
|
+
enabled: false
|
|
1275
|
+
description: 'Analyze with golangci-lint'
|
|
1276
|
+
required_executable: 'golangci-lint'
|
|
1277
|
+
install_command: 'go get github.com/golangci/golangci-lint/cmd/golangci-lint'
|
|
1278
|
+
flags: ['--out-format=line-number', '--print-issued-lines=false']
|
|
1279
|
+
command: ['golangci-lint', 'run']
|
|
1280
|
+
|
|
1281
|
+
GoTest:
|
|
1282
|
+
enabled: false
|
|
1283
|
+
description: 'Run go test suite'
|
|
1284
|
+
required_executable: 'go'
|
|
1285
|
+
command: ['go', 'test', './...']
|
|
1286
|
+
|
|
1287
|
+
Minitest:
|
|
1288
|
+
enabled: false
|
|
1289
|
+
description: 'Run Minitest test suite'
|
|
1290
|
+
command: ['ruby', '-Ilib:test', '-rminitest', "-e 'exit! Minitest.run'"]
|
|
1291
|
+
include: 'test/**/*_test.rb'
|
|
1292
|
+
|
|
1293
|
+
PhpUnit:
|
|
1294
|
+
enabled: false
|
|
1295
|
+
description: 'Run PhpUnit test suite'
|
|
1296
|
+
command: 'vendor/bin/phpunit'
|
|
1297
|
+
flags: ['--bootstrap', 'vendor/autoload.php', 'tests']
|
|
1298
|
+
install_command: 'composer require --dev phpunit/phpunit'
|
|
1299
|
+
|
|
1300
|
+
Pronto:
|
|
1301
|
+
enabled: false
|
|
1302
|
+
description: 'Analyzing with pronto'
|
|
1303
|
+
required_executable: 'pronto'
|
|
1304
|
+
install_command: 'gem install pronto'
|
|
1305
|
+
flags: ['run', '--exit-code']
|
|
1306
|
+
|
|
1307
|
+
ProtectedBranches:
|
|
1308
|
+
enabled: false
|
|
1309
|
+
description: 'Check for illegal pushes to protected branches'
|
|
1310
|
+
destructive_only: true
|
|
1311
|
+
branches: ['master']
|
|
1312
|
+
|
|
1313
|
+
Pytest:
|
|
1314
|
+
enabled: false
|
|
1315
|
+
description: 'Run pytest test suite'
|
|
1316
|
+
required_executable: 'pytest'
|
|
1317
|
+
install_command: 'pip install -U pytest'
|
|
1318
|
+
|
|
1319
|
+
PythonNose:
|
|
1320
|
+
enabled: false
|
|
1321
|
+
description: 'Run nose test suite'
|
|
1322
|
+
required_executable: 'nosetests'
|
|
1323
|
+
install_command: 'pip install -U nose'
|
|
1324
|
+
|
|
1325
|
+
RSpec:
|
|
1326
|
+
enabled: false
|
|
1327
|
+
description: 'Run RSpec test suite'
|
|
1328
|
+
required_executable: 'rspec'
|
|
1329
|
+
|
|
1330
|
+
RakeTarget:
|
|
1331
|
+
enabled: false
|
|
1332
|
+
description: 'Run rake targets'
|
|
1333
|
+
# targets:
|
|
1334
|
+
# - 'lint'
|
|
1335
|
+
# - 'validate'
|
|
1336
|
+
# - '...'
|
|
1337
|
+
required_executable: 'rake'
|
|
1338
|
+
install_command: 'gem install rake'
|
|
1339
|
+
|
|
1340
|
+
TestUnit:
|
|
1341
|
+
enabled: false
|
|
1342
|
+
description: 'Run Test::Unit test suite'
|
|
1343
|
+
command: ['ruby', '-Ilib:test', '-rtest/unit', "-e 'exit! Test::Unit::AutoRunner.run'"]
|
|
1344
|
+
|
|
1345
|
+
# Hooks that run during `git rebase`, before any commits are rebased.
|
|
1346
|
+
# If a hook fails, the rebase is aborted.
|
|
1347
|
+
PreRebase:
|
|
1348
|
+
ALL:
|
|
1349
|
+
requires_files: false
|
|
1350
|
+
required: false
|
|
1351
|
+
quiet: false
|
|
1352
|
+
|
|
1353
|
+
MergedCommits:
|
|
1354
|
+
enabled: false
|
|
1355
|
+
description: 'Check for commits that have already been merged'
|
|
1356
|
+
branches: ['master']
|