Skip to content

Standard configuration for linting Solidity code using Solhint.

Notifications You must be signed in to change notification settings

keep-network/solhint-config-keep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

solhint-config-keep

Standard configuration for linting Solidity code using Solhint.
Solhint is an alternative to Solium(ethlint) which is no longer maintained.

Uses the solhint:recommended ruleset, which itself is taken from the Solidity Style Guide.

Installation

npm i https://github.com/keep-network/solhint-config-keep.git

Usage

Setting up a project

  1. Install the linter and config - npm i -D solhint https://github.com/keep-network/solhint-config-keep.git
  2. Create your .solhint.json (you can add additional rules or plugins):
{
 "extends": "keep",
 "plugins": [],
 "rules": {
 }
}
  1. Add commands for linting to your package.json:
{
 "scripts": {
   "lint:sol": "solhint 'contracts/**/*.sol'",
   "lint:fix:sol": "solhint 'contracts/**/*.sol' --fix"
 }
}

Disabling the linter

Directory

Edit the .solhint.json.

File

/* solhint-disable */

Code block

/* solhint-disable */
/* solhint-enable */

Line

Prefer /* over //, as it looks different to a comment on the rationale of code.
/* solhint-disable-next-line <rules> */

Adding a pre-commit hook

- repo: local
   hooks:
    - id: solhint
      name: Solidity linter
      language: node
      entry: solhint
      files: '\.sol$'
      args:
      - ./contracts/**/*.sol
      - --config=./.solhint.json
      additional_dependencies:
      - solhint@3.3.4

About

Standard configuration for linting Solidity code using Solhint.

Resources

Stars

Watchers

Forks

Packages

No packages published