overcommit 0.46.0 → 0.47.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.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/bin/overcommit +1 -0
  3. data/config/default.yml +53 -7
  4. data/lib/overcommit.rb +2 -0
  5. data/lib/overcommit/command_splitter.rb +2 -0
  6. data/lib/overcommit/configuration.rb +6 -4
  7. data/lib/overcommit/configuration_loader.rb +1 -1
  8. data/lib/overcommit/configuration_validator.rb +22 -14
  9. data/lib/overcommit/exceptions.rb +2 -0
  10. data/lib/overcommit/git_config.rb +2 -0
  11. data/lib/overcommit/git_repo.rb +2 -0
  12. data/lib/overcommit/git_version.rb +2 -0
  13. data/lib/overcommit/hook/base.rb +6 -4
  14. data/lib/overcommit/hook/commit_msg/base.rb +2 -0
  15. data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +2 -0
  16. data/lib/overcommit/hook/commit_msg/empty_message.rb +2 -0
  17. data/lib/overcommit/hook/commit_msg/gerrit_change_id.rb +2 -0
  18. data/lib/overcommit/hook/commit_msg/hard_tabs.rb +2 -0
  19. data/lib/overcommit/hook/commit_msg/message_format.rb +2 -0
  20. data/lib/overcommit/hook/commit_msg/russian_novel.rb +2 -0
  21. data/lib/overcommit/hook/commit_msg/single_line_subject.rb +2 -0
  22. data/lib/overcommit/hook/commit_msg/spell_check.rb +2 -0
  23. data/lib/overcommit/hook/commit_msg/text_width.rb +2 -0
  24. data/lib/overcommit/hook/commit_msg/trailing_period.rb +2 -0
  25. data/lib/overcommit/hook/post_checkout/base.rb +2 -0
  26. data/lib/overcommit/hook/post_checkout/bower_install.rb +2 -0
  27. data/lib/overcommit/hook/post_checkout/bundle_install.rb +2 -0
  28. data/lib/overcommit/hook/post_checkout/composer_install.rb +2 -0
  29. data/lib/overcommit/hook/post_checkout/index_tags.rb +2 -0
  30. data/lib/overcommit/hook/post_checkout/npm_install.rb +2 -0
  31. data/lib/overcommit/hook/post_checkout/submodule_status.rb +2 -0
  32. data/lib/overcommit/hook/post_checkout/yarn_install.rb +2 -0
  33. data/lib/overcommit/hook/post_commit/base.rb +2 -0
  34. data/lib/overcommit/hook/post_commit/bower_install.rb +2 -0
  35. data/lib/overcommit/hook/post_commit/bundle_install.rb +2 -0
  36. data/lib/overcommit/hook/post_commit/commitplease.rb +2 -0
  37. data/lib/overcommit/hook/post_commit/composer_install.rb +2 -0
  38. data/lib/overcommit/hook/post_commit/git_guilt.rb +2 -0
  39. data/lib/overcommit/hook/post_commit/index_tags.rb +2 -0
  40. data/lib/overcommit/hook/post_commit/npm_install.rb +2 -0
  41. data/lib/overcommit/hook/post_commit/submodule_status.rb +2 -0
  42. data/lib/overcommit/hook/post_commit/yarn_install.rb +2 -0
  43. data/lib/overcommit/hook/post_merge/base.rb +2 -0
  44. data/lib/overcommit/hook/post_merge/bower_install.rb +2 -0
  45. data/lib/overcommit/hook/post_merge/bundle_install.rb +2 -0
  46. data/lib/overcommit/hook/post_merge/composer_install.rb +2 -0
  47. data/lib/overcommit/hook/post_merge/index_tags.rb +2 -0
  48. data/lib/overcommit/hook/post_merge/npm_install.rb +2 -0
  49. data/lib/overcommit/hook/post_merge/submodule_status.rb +2 -0
  50. data/lib/overcommit/hook/post_merge/yarn_install.rb +2 -0
  51. data/lib/overcommit/hook/post_rewrite/base.rb +2 -0
  52. data/lib/overcommit/hook/post_rewrite/bower_install.rb +2 -0
  53. data/lib/overcommit/hook/post_rewrite/bundle_install.rb +2 -0
  54. data/lib/overcommit/hook/post_rewrite/composer_install.rb +2 -0
  55. data/lib/overcommit/hook/post_rewrite/index_tags.rb +2 -0
  56. data/lib/overcommit/hook/post_rewrite/npm_install.rb +2 -0
  57. data/lib/overcommit/hook/post_rewrite/submodule_status.rb +2 -0
  58. data/lib/overcommit/hook/post_rewrite/yarn_install.rb +2 -0
  59. data/lib/overcommit/hook/pre_commit/author_email.rb +2 -0
  60. data/lib/overcommit/hook/pre_commit/author_name.rb +2 -0
  61. data/lib/overcommit/hook/pre_commit/base.rb +2 -0
  62. data/lib/overcommit/hook/pre_commit/broken_symlinks.rb +2 -0
  63. data/lib/overcommit/hook/pre_commit/bundle_audit.rb +2 -0
  64. data/lib/overcommit/hook/pre_commit/bundle_check.rb +2 -1
  65. data/lib/overcommit/hook/pre_commit/bundle_outdated.rb +2 -0
  66. data/lib/overcommit/hook/pre_commit/case_conflicts.rb +2 -0
  67. data/lib/overcommit/hook/pre_commit/chamber_compare.rb +2 -0
  68. data/lib/overcommit/hook/pre_commit/chamber_security.rb +2 -0
  69. data/lib/overcommit/hook/pre_commit/chamber_verification.rb +3 -1
  70. data/lib/overcommit/hook/pre_commit/coffee_lint.rb +2 -0
  71. data/lib/overcommit/hook/pre_commit/cook_style.rb +35 -0
  72. data/lib/overcommit/hook/pre_commit/credo.rb +2 -0
  73. data/lib/overcommit/hook/pre_commit/css_lint.rb +2 -0
  74. data/lib/overcommit/hook/pre_commit/dogma.rb +2 -0
  75. data/lib/overcommit/hook/pre_commit/es_lint.rb +2 -0
  76. data/lib/overcommit/hook/pre_commit/execute_permissions.rb +2 -0
  77. data/lib/overcommit/hook/pre_commit/fasterer.rb +2 -0
  78. data/lib/overcommit/hook/pre_commit/fix_me.rb +2 -0
  79. data/lib/overcommit/hook/pre_commit/flay.rb +2 -0
  80. data/lib/overcommit/hook/pre_commit/foodcritic.rb +2 -0
  81. data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +2 -0
  82. data/lib/overcommit/hook/pre_commit/go_lint.rb +2 -0
  83. data/lib/overcommit/hook/pre_commit/go_vet.rb +2 -0
  84. data/lib/overcommit/hook/pre_commit/hadolint.rb +2 -0
  85. data/lib/overcommit/hook/pre_commit/haml_lint.rb +2 -0
  86. data/lib/overcommit/hook/pre_commit/hard_tabs.rb +2 -0
  87. data/lib/overcommit/hook/pre_commit/hlint.rb +2 -0
  88. data/lib/overcommit/hook/pre_commit/html_hint.rb +2 -0
  89. data/lib/overcommit/hook/pre_commit/html_tidy.rb +2 -0
  90. data/lib/overcommit/hook/pre_commit/image_optim.rb +2 -0
  91. data/lib/overcommit/hook/pre_commit/java_checkstyle.rb +2 -0
  92. data/lib/overcommit/hook/pre_commit/js_hint.rb +2 -0
  93. data/lib/overcommit/hook/pre_commit/js_lint.rb +2 -0
  94. data/lib/overcommit/hook/pre_commit/jscs.rb +2 -0
  95. data/lib/overcommit/hook/pre_commit/jsl.rb +2 -0
  96. data/lib/overcommit/hook/pre_commit/json_syntax.rb +2 -0
  97. data/lib/overcommit/hook/pre_commit/kt_lint.rb +19 -0
  98. data/lib/overcommit/hook/pre_commit/license_finder.rb +2 -0
  99. data/lib/overcommit/hook/pre_commit/license_header.rb +2 -0
  100. data/lib/overcommit/hook/pre_commit/line_endings.rb +2 -0
  101. data/lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb +2 -0
  102. data/lib/overcommit/hook/pre_commit/mdl.rb +2 -0
  103. data/lib/overcommit/hook/pre_commit/merge_conflicts.rb +2 -0
  104. data/lib/overcommit/hook/pre_commit/nginx_test.rb +2 -0
  105. data/lib/overcommit/hook/pre_commit/pep257.rb +2 -0
  106. data/lib/overcommit/hook/pre_commit/pep8.rb +2 -0
  107. data/lib/overcommit/hook/pre_commit/php_cs.rb +2 -0
  108. data/lib/overcommit/hook/pre_commit/php_cs_fixer.rb +2 -0
  109. data/lib/overcommit/hook/pre_commit/php_lint.rb +2 -0
  110. data/lib/overcommit/hook/pre_commit/php_stan.rb +2 -0
  111. data/lib/overcommit/hook/pre_commit/pronto.rb +2 -0
  112. data/lib/overcommit/hook/pre_commit/puppet_lint.rb +2 -0
  113. data/lib/overcommit/hook/pre_commit/puppet_metadata_json_lint.rb +2 -0
  114. data/lib/overcommit/hook/pre_commit/pycodestyle.rb +2 -0
  115. data/lib/overcommit/hook/pre_commit/pydocstyle.rb +2 -0
  116. data/lib/overcommit/hook/pre_commit/pyflakes.rb +2 -0
  117. data/lib/overcommit/hook/pre_commit/pylint.rb +2 -0
  118. data/lib/overcommit/hook/pre_commit/python_flake8.rb +2 -0
  119. data/lib/overcommit/hook/pre_commit/rails_best_practices.rb +2 -0
  120. data/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb +2 -0
  121. data/lib/overcommit/hook/pre_commit/rake_target.rb +2 -0
  122. data/lib/overcommit/hook/pre_commit/reek.rb +2 -0
  123. data/lib/overcommit/hook/pre_commit/rst_lint.rb +2 -0
  124. data/lib/overcommit/hook/pre_commit/rubo_cop.rb +2 -0
  125. data/lib/overcommit/hook/pre_commit/ruby_lint.rb +2 -0
  126. data/lib/overcommit/hook/pre_commit/scalariform.rb +2 -0
  127. data/lib/overcommit/hook/pre_commit/scalastyle.rb +2 -0
  128. data/lib/overcommit/hook/pre_commit/scss_lint.rb +2 -0
  129. data/lib/overcommit/hook/pre_commit/semi_standard.rb +2 -0
  130. data/lib/overcommit/hook/pre_commit/shell_check.rb +2 -0
  131. data/lib/overcommit/hook/pre_commit/slim_lint.rb +2 -0
  132. data/lib/overcommit/hook/pre_commit/sqlint.rb +2 -0
  133. data/lib/overcommit/hook/pre_commit/standard.rb +2 -0
  134. data/lib/overcommit/hook/pre_commit/stylelint.rb +2 -0
  135. data/lib/overcommit/hook/pre_commit/swift_lint.rb +19 -0
  136. data/lib/overcommit/hook/pre_commit/terraform_format.rb +19 -0
  137. data/lib/overcommit/hook/pre_commit/trailing_whitespace.rb +2 -0
  138. data/lib/overcommit/hook/pre_commit/travis_lint.rb +2 -0
  139. data/lib/overcommit/hook/pre_commit/ts_lint.rb +14 -4
  140. data/lib/overcommit/hook/pre_commit/vint.rb +2 -0
  141. data/lib/overcommit/hook/pre_commit/w3c_css.rb +2 -0
  142. data/lib/overcommit/hook/pre_commit/w3c_html.rb +2 -0
  143. data/lib/overcommit/hook/pre_commit/xml_lint.rb +2 -0
  144. data/lib/overcommit/hook/pre_commit/xml_syntax.rb +2 -0
  145. data/lib/overcommit/hook/pre_commit/yaml_lint.rb +2 -0
  146. data/lib/overcommit/hook/pre_commit/yaml_syntax.rb +2 -0
  147. data/lib/overcommit/hook/pre_commit/yard_coverage.rb +2 -0
  148. data/lib/overcommit/hook/pre_commit/yarn_check.rb +1 -1
  149. data/lib/overcommit/hook/pre_push/base.rb +2 -0
  150. data/lib/overcommit/hook/pre_push/brakeman.rb +2 -0
  151. data/lib/overcommit/hook/pre_push/cargo_test.rb +2 -0
  152. data/lib/overcommit/hook/pre_push/minitest.rb +2 -0
  153. data/lib/overcommit/hook/pre_push/php_unit.rb +2 -0
  154. data/lib/overcommit/hook/pre_push/protected_branches.rb +2 -0
  155. data/lib/overcommit/hook/pre_push/pytest.rb +2 -0
  156. data/lib/overcommit/hook/pre_push/python_nose.rb +2 -0
  157. data/lib/overcommit/hook/pre_push/r_spec.rb +2 -0
  158. data/lib/overcommit/hook/pre_push/rake_target.rb +2 -0
  159. data/lib/overcommit/hook/pre_push/test_unit.rb +2 -0
  160. data/lib/overcommit/hook/pre_rebase/base.rb +2 -0
  161. data/lib/overcommit/hook/pre_rebase/merged_commits.rb +2 -0
  162. data/lib/overcommit/hook/prepare_commit_msg/base.rb +25 -0
  163. data/lib/overcommit/hook/prepare_commit_msg/replace_branch.rb +52 -0
  164. data/lib/overcommit/hook/shared/bower_install.rb +2 -0
  165. data/lib/overcommit/hook/shared/bundle_install.rb +2 -0
  166. data/lib/overcommit/hook/shared/composer_install.rb +2 -0
  167. data/lib/overcommit/hook/shared/index_tags.rb +2 -0
  168. data/lib/overcommit/hook/shared/npm_install.rb +2 -0
  169. data/lib/overcommit/hook/shared/rake_target.rb +2 -0
  170. data/lib/overcommit/hook/shared/submodule_status.rb +2 -0
  171. data/lib/overcommit/hook/shared/yarn_install.rb +2 -0
  172. data/lib/overcommit/hook_context.rb +2 -0
  173. data/lib/overcommit/hook_context/base.rb +2 -0
  174. data/lib/overcommit/hook_context/commit_msg.rb +2 -0
  175. data/lib/overcommit/hook_context/post_checkout.rb +2 -0
  176. data/lib/overcommit/hook_context/post_commit.rb +2 -0
  177. data/lib/overcommit/hook_context/post_merge.rb +2 -0
  178. data/lib/overcommit/hook_context/post_rewrite.rb +2 -0
  179. data/lib/overcommit/hook_context/pre_commit.rb +4 -1
  180. data/lib/overcommit/hook_context/pre_push.rb +2 -0
  181. data/lib/overcommit/hook_context/pre_rebase.rb +2 -0
  182. data/lib/overcommit/hook_context/prepare_commit_msg.rb +34 -0
  183. data/lib/overcommit/hook_context/run_all.rb +2 -0
  184. data/lib/overcommit/hook_loader/base.rb +2 -0
  185. data/lib/overcommit/hook_loader/built_in_hook_loader.rb +2 -0
  186. data/lib/overcommit/hook_loader/plugin_hook_loader.rb +2 -0
  187. data/lib/overcommit/hook_runner.rb +2 -0
  188. data/lib/overcommit/hook_signer.rb +2 -0
  189. data/lib/overcommit/installer.rb +2 -0
  190. data/lib/overcommit/interrupt_handler.rb +2 -0
  191. data/lib/overcommit/logger.rb +3 -1
  192. data/lib/overcommit/os.rb +2 -0
  193. data/lib/overcommit/printer.rb +2 -0
  194. data/lib/overcommit/subprocess.rb +2 -0
  195. data/lib/overcommit/utils.rb +3 -1
  196. data/lib/overcommit/utils/file_utils.rb +2 -0
  197. data/lib/overcommit/utils/messages_utils.rb +2 -0
  198. data/lib/overcommit/version.rb +1 -1
  199. data/template-dir/hooks/commit-msg +1 -0
  200. data/template-dir/hooks/overcommit-hook +1 -0
  201. data/template-dir/hooks/post-checkout +1 -0
  202. data/template-dir/hooks/post-commit +1 -0
  203. data/template-dir/hooks/post-merge +1 -0
  204. data/template-dir/hooks/post-rewrite +1 -0
  205. data/template-dir/hooks/pre-commit +1 -0
  206. data/template-dir/hooks/pre-push +1 -0
  207. data/template-dir/hooks/pre-rebase +1 -0
  208. data/template-dir/hooks/prepare-commit-msg +116 -0
  209. metadata +11 -4
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/index_tags'
2
4
 
3
5
  module Overcommit::Hook::PostCheckout
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/npm_install'
2
4
 
3
5
  module Overcommit::Hook::PostCheckout
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/submodule_status'
2
4
 
3
5
  module Overcommit::Hook::PostCheckout
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/yarn_install'
2
4
 
3
5
  module Overcommit::Hook::PostCheckout
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/bower_install'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/bundle_install'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PostCommit
2
4
  # Check that a commit message conforms to a certain style
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/composer_install'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PostCommit
2
4
  # Calculates the change in blame since the last revision.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/index_tags'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/npm_install'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/submodule_status'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/yarn_install'
2
4
 
3
5
  module Overcommit::Hook::PostCommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/bower_install'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/bundle_install'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/composer_install'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/index_tags'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/npm_install'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/submodule_status'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/yarn_install'
2
4
 
3
5
  module Overcommit::Hook::PostMerge
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/bower_install'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/bundle_install'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/composer_install'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/index_tags'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/npm_install'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/submodule_status'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/hook/shared/yarn_install'
2
4
 
3
5
  module Overcommit::Hook::PostRewrite
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Checks the format of an author's email address.
3
5
  class AuthorEmail < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Ensures that a commit author has a name with at least first and last names.
3
5
  class AuthorName < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
  require 'overcommit/utils/messages_utils'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Checks for broken symlinks.
3
5
  class BrokenSymlinks < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Checks for vulnerable versions of gems in Gemfile.lock.
3
5
  #
@@ -22,7 +22,8 @@ module Overcommit::Hook::PreCommit
22
22
 
23
23
  new_lockfile = File.read(LOCK_FILE) if File.exist?(LOCK_FILE)
24
24
  if previous_lockfile != new_lockfile
25
- return :fail, "#{LOCK_FILE} is not up-to-date -- run `#{command.join(' ')}`"
25
+ return :fail, "#{LOCK_FILE} is not up-to-date -- run \
26
+ `#{command.join(' ')}` or add the Gemfile and/or Gemfile.lock".squeeze
26
27
  end
27
28
 
28
29
  :pass
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Check if any gems in Gemfile.lock have newer versions, unless the
3
5
  # Gemfile.lock is ignored by Git.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Checks for files that would conflict in case-insensitive filesystems
3
5
  # Adapted from https://github.com/pre-commit/pre-commit-hooks
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `chamber compare` against a configurable set of namespaces.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `chamber secure` against any modified Chamber settings files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `chamber sign --verify`.
3
5
  #
@@ -5,7 +7,7 @@ module Overcommit::Hook::PreCommit
5
7
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
6
8
  class ChamberVerification < Base
7
9
  def run
8
- approver_name = config.fetch('approver_name', 'your approver')
10
+ approver_name = config.fetch('approver_name') { 'your approver' }
9
11
  approver_email = config['approver_email'] ? " (#{config['approver_email']})" : nil
10
12
 
11
13
  result = execute(command)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `coffeelint` against any modified CoffeeScript files.
3
5
  #
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit::Hook::PreCommit
4
+ # Runs `cookstyle` against any modified Chef Ruby files.
5
+ #
6
+ # @see https://docs.chef.io/cookstyle.html
7
+ class CookStyle < Base
8
+ GENERIC_MESSAGE_TYPE_CATEGORIZER = lambda do |type|
9
+ type =~ /^warn/ ? :warning : :error
10
+ end
11
+
12
+ COP_MESSAGE_TYPE_CATEGORIZER = lambda do |type|
13
+ type.include?('W') ? :warning : :error
14
+ end
15
+
16
+ def run
17
+ result = execute(command, args: applicable_files)
18
+ return :pass if result.success?
19
+
20
+ generic_messages = extract_messages(
21
+ result.stderr.split("\n"),
22
+ /^(?<type>[a-z]+)/i,
23
+ GENERIC_MESSAGE_TYPE_CATEGORIZER,
24
+ )
25
+
26
+ cop_messages = extract_messages(
27
+ result.stdout.split("\n"),
28
+ /^(?<file>(?:\w:)?[^:]+):(?<line>\d+):[^ ]+ (?<type>[^ ]+)/,
29
+ COP_MESSAGE_TYPE_CATEGORIZER,
30
+ )
31
+
32
+ generic_messages + cop_messages
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `credo` against any modified ex files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `csslint` against any modified CSS files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `dogma` against any modified ex files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `eslint` against any modified JavaScript files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Checks for files with execute permissions, which are usually not necessary
3
5
  # in source code files (and are typically caused by a misconfigured editor
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `fasterer` against any modified Ruby files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Check for "token" strings
3
5
  class FixMe < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `flay` against any modified files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `foodcritic` against any modified Ruby files from Chef directory structure.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Prevents commits to branches matching one of the configured patterns.
3
5
  class ForbiddenBranches < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `golint` against any modified Golang files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `go vet` against any modified Golang files.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Runs `hadolint` against any modified Dockefile files.
3
5
  #