Skip to content

Rubocop extension for enforcing graphql-ruby best practices

License

Notifications You must be signed in to change notification settings

DmitryTsepelev/rubocop-graphql

Repository files navigation

RuboCop::GraphQL

Rubocop extension for enforcing graphql-ruby best practices.

You can support my open–source work here.

Installation

Install the gem:

gem install rubocop-graphql

If you use bundler put this in your Gemfile:

gem 'rubocop-graphql', require: false

Usage

You need to tell RuboCop to load the GraphQL extension. There are three ways to do this:

RuboCop configuration file

Put this into your .rubocop.yml.

require: rubocop-graphql

Alternatively, use the following array notation when specifying multiple extensions.

require:
  - rubocop-other-extension
  - rubocop-graphql

Now you can run rubocop and it will automatically load the RuboCop GraphQL cops together with the standard cops.

Command line

rubocop --require rubocop-graphql

Rake task

RuboCop::RakeTask.new do |task|
  task.requires << 'rubocop-graphql'
end

The Cops

All cops are located under lib/rubocop/cop/graphql, and contain examples and documentation.

In your .rubocop.yml, you may treat the GraphQL cops just like any other cop. For example:

GraphQL/ResolverMethodLength:
  Max: 3

Credits

Initially sponsored by Evil Martians.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/DmitryTsepelev/rubocop-graphql.

License

The gem is available as open source under the terms of the MIT License.