What is Overcommit?
Overcommit is a tool to manage and configure Git hooks.
Installation
Add below line into your Gemfile.
gem 'overcommit'
Now we need to create a configuration file in root directory for overriding default hooks.
Name of configuration file should be .overcommit.yml. And it will look like this.
CommitMsg:
ALL:
requires_files: false
quiet: false
EmptyMessage:
enabled: true
description: 'Check for empty commit message'
quiet: true
TrailingPeriod:
enabled: true
description: 'Check for trailing periods in subject'
PreCommit:
ALL:
problem_on_unmodified_line: report
requires_files: true
required: false
quiet: false
AuthorEmail:
enabled: true
description: 'Check author email'
requires_files: false
required: true
quiet: true
pattern: '^[^@]+@.*$'
AuthorName:
enabled: true
description: 'Check for author name'
requires_files: false
required: true
quiet: true
MergeConflicts:
enabled: true
description: 'Check for merge conflicts'
quiet: true
required_executable: 'grep'
flags: ['-IHn', "^<<<<<<<[ \t]"]
RailsSchemaUpToDate:
enabled: true
description: 'Check if database schema is up to date'
include:
- 'db/migrate/*.rb'
- 'db/schema.rb'
TrailingWhitespace:
enabled: true
description: 'Check for trailing whitespace'
required_executable: 'grep'
flags: ['-IHn', "[ \t]$"]
include: '**/*.rb'
RuboCop:
enabled: true
on_warn: fail
Fasterer:
enabled: true
on_warn: fail
Reek:
enabled: true
on_warn: fail
RailsBestPractices:
enabled: true
on_warn: fail
command: ['rails_best_practices', '--config', 'config/rails_best_practices.yml']
HamlLint:
enabled: true
on_warn: fail
ScssLint:
enabled: true
on_warn: fail
HardTabs:
enabled: true
on_warn: fail
BundleCheck:
enabled: true
on_warn: fail
EsLint:
enabled: true
on_warn: fail
CoffeeLint:
enabled: true
on_warn: fail
PrePush:
Brakeman:
enabled: true
on_warn: fail
Few of above hooks are self descriptive, So I will describe rest of them.
Rubocop
RuboCop is a Ruby static code analyser and code formatter. Out of the box it will enforce many of the guidelines outlined in the community Ruby Style Guide.
Installation
Please add following lines to your Gemfile
gem 'rubocop', require: false
Fasterer
Fasterer will suggest some speed improvements which you can check in detail at the fast-ruby repo.
Installation
Please add following line to your Gemfile
gem 'fasterer'
Reek
Reek is a tool that examines Ruby classes, modules and methods and reports any Code Smells it finds.
Installation
Please add following line to your Gemfile
gem 'reek'
RailsBestPractices
rails_best_practices is a code metric tool to check the quality of Rails code.
Installation
Please add following line to your Gemfile
gem "rails_best_practices"
HamlLint
haml-lint is a tool to help keep your HAML files clean and readable. In addition to HAML-specific style and lint checks, it integrates with RuboCop to bring its powerful static analysis tools to your HAML documents.
Installation
Please add following line to your Gemfile
gem 'haml_lint', require: false
ScssLint
scss-lint is a tool to help keep your SCSS files clean and readable by running it against a collection of configurable linter rules.
Installation
Please add following line to your Gemfile
gem 'scss_lint', require: false
EsLint
ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code, with the goal of making code more consistent and avoiding bugs. In many ways, it is similar to JSLint and JSHint with a few exceptions:
Installation
If you want to make ESLint available to tools that run across all of your projects, we recommend installing ESLint globally. You can do so using npm:
$ npm install -g eslint
You should then setup a configuration file:
$ eslint --init
After that, you can run ESLint on any file or directory like this:
$ eslint yourfile.js
CoffeeLint
CoffeeLint is a style checker that helps keep CoffeeScript code clean and consistent. CoffeeScript does a great job at insulating programmers from many of JavaScript’s bad parts, but it won’t help enforce a consistent style across a code base. CoffeeLint can help with that.
Installation
To install, make sure you have a working version of the latest stable version of Node and NPM (the Node Package Manager) and then run:
npm install -g coffeelint
Brakeman
Brakeman is a static analysis tool which checks Ruby on Rails applications for security vulnerabilities.
Installation
Please add following line to your Gemfile
gem 'brakeman'
Java Training Institute in Delhi
ReplyDelete