diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..3bb95571e --- /dev/null +++ b/.eslintrc @@ -0,0 +1,49 @@ +{ + "extends" : [ + "standard", + "plugin:promise/recommended" + ], + "plugins": [ + "promise" + ], + "env": { + "browser" : true, + "node" : true, + "mocha" : true, + "jest" : true + }, + "globals" : { + "artifacts": false, + "contract": false, + "assert": false, + "web3": false + }, + "rules": { + + // Strict mode + "strict": [2, "global"], + + // Code style + "indent": [2, 2], + "quotes": [2, "single"], + "no-use-before-define": 0, + "eqeqeq": [2, "smart"], + "dot-notation": [2, {"allowKeywords": true, "allowPattern": ""}], + "no-redeclare": [2, {"builtinGlobals": true}], + "no-trailing-spaces": [2, { "skipBlankLines": true }], + "eol-last": 1, + "comma-spacing": [2, {"before": false, "after": true}], + "camelcase": [2, {"properties": "always"}], + "no-mixed-spaces-and-tabs": [2, "smart-tabs"], + "comma-dangle": [1, "always-multiline"], + "no-dupe-args": 2, + "no-dupe-keys": 2, + "no-debugger": 0, + "no-undef": 2, + "object-curly-spacing": [2, "always"], + "max-len": [2, 120, 2], + "generator-star-spacing": ["error", "before"], + "promise/avoid-new": 0, + "promise/always-return": 0 + } +} diff --git a/package.json b/package.json index 43847aaa9..7acef71f9 100644 --- a/package.json +++ b/package.json @@ -35,8 +35,14 @@ "chai-as-promised": "^7.0.0", "chai-bignumber": "^2.0.0", "coveralls": "^2.13.1", - "ethereumjs-util": "^5.1.2", + "eslint": "^4.11.0", + "eslint-config-standard": "^10.2.1", + "eslint-plugin-import": "^2.8.0", + "eslint-plugin-node": "^5.2.1", + "eslint-plugin-promise": "^3.6.0", + "eslint-plugin-standard": "^3.0.1", "ethereumjs-testrpc": "^6.0.1", + "ethereumjs-util": "^5.1.2", "mocha-lcov-reporter": "^1.3.0", "solidity-coverage": "^0.2.2", "truffle": "^4.0.0", diff --git a/test/.eslintrc b/test/.eslintrc new file mode 100644 index 000000000..9609ab5d0 --- /dev/null +++ b/test/.eslintrc @@ -0,0 +1,5 @@ +{ + "rules": { + "no-unused-expressions": 0 + } +}