-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(config): initial version of eslint config
- Loading branch information
0 parents
commit a1b5141
Showing
8 changed files
with
403 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# http://editorconfig.org | ||
|
||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
indent_style = space | ||
indent_size = 2 | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,262 @@ | ||
{ | ||
"env":{ | ||
"es6": true | ||
}, | ||
"rules": { | ||
// Possible Errors | ||
"comma-dangle": 2, | ||
"no-cond-assign": 2, | ||
"no-console": 2, | ||
"no-constant-condition": 2, | ||
"no-control-regex": 2, | ||
"no-debugger": 2, | ||
"no-dupe-args": 2, | ||
"no-dupe-keys": 2, | ||
"no-duplicate-case": 2, | ||
"no-empty-character-class": 2, | ||
"no-empty": 2, | ||
"no-ex-assign": 2, | ||
"no-extra-boolean-cast": 2, | ||
"no-extra-parens": 2, | ||
"no-extra-semi": 2, | ||
"no-func-assign": 2, | ||
"no-inner-declarations": 2, | ||
"no-invalid-regexp": 2, | ||
"no-irregular-whitespace": 2, | ||
"no-negated-in-lhs": 2, | ||
"no-obj-calls": 2, | ||
"no-regex-spaces": 2, | ||
"no-sparse-arrays": 2, | ||
"no-unexpected-multiline": 2, | ||
"no-unreachable": 2, | ||
"use-isnan": 2, | ||
"valid-jsdoc": 2, | ||
"valid-typeof": 2, | ||
// Best Practices | ||
"accessor-pairs": 2, | ||
"array-callback-return": 2, | ||
"block-scoped-var": 2, | ||
"complexity": 2, | ||
"consistent-return": 2, | ||
"curly": 2, | ||
"default-case": 2, | ||
"dot-location": [ | ||
2, | ||
"property" | ||
], | ||
"dot-notation": 2, | ||
"eqeqeq": [ | ||
2, | ||
"smart" | ||
], | ||
"guard-for-in": 2, | ||
"no-alert": 2, | ||
"no-caller": 2, | ||
"no-case-declarations": 2, | ||
"no-div-regex": 2, | ||
"no-else-return": 2, | ||
"no-empty-function": 2, | ||
"no-empty-pattern": 2, | ||
// duplicate of eqeqeq | ||
"no-eq-null": 0, | ||
"no-eval": 2, | ||
"no-extend-native": 2, | ||
"no-extra-bind": 2, | ||
"no-extra-label": 2, | ||
"no-fallthrough": 2, | ||
"no-floating-decimal": 2, | ||
"no-implicit-coercion": [ | ||
2, | ||
{ | ||
"boolean": false, | ||
"number": true, | ||
"string": true, | ||
"allow": [ | ||
"!!" | ||
] | ||
} | ||
], | ||
"no-implicit-globals": 2, | ||
"no-implied-eval": 2, | ||
"no-invalid-this": 2, | ||
"no-iterator": 2, | ||
"no-labels": 2, | ||
"no-lone-blocks": 2, | ||
"no-loop-func": 2, | ||
"no-magic-numbers": 2, | ||
"no-multi-spaces": 2, | ||
"no-multi-str": 2, | ||
"no-native-reassign": 2, | ||
"no-new": 2, | ||
"no-new-func": 2, | ||
"no-new-wrappers": 2, | ||
"no-octal": 2, | ||
"no-octal-escape": 2, | ||
"no-param-reassign": 2, | ||
"no-process-env": 2, | ||
"no-proto": 2, | ||
"no-redeclare": 2, | ||
"no-return-assign": 2, | ||
"no-script-url": 2, | ||
"no-self-assign": 2, | ||
"no-self-compare": 2, | ||
"no-sequences": 2, | ||
"no-throw-literal": 2, | ||
"no-unmodified-loop-condition": 2, | ||
"no-unused-expressions": 2, | ||
"no-unused-labels": 2, | ||
"no-useless-call": 2, | ||
"no-useless-concat": 2, | ||
"no-void": 2, | ||
"no-warning-comments": 1, | ||
"no-with": 2, | ||
"radix": 2, | ||
"vars-on-top": 2, | ||
"wrap-iife": 2, | ||
"yoda": 2, | ||
// strict mode | ||
"strict": 2, | ||
// variables | ||
"init-declarations": 2, | ||
"no-catch-shadow": 2, | ||
"no-delete-var": 2, | ||
"no-label-var": 2, | ||
"no-shadow": 2, | ||
"no-shadow-restricted-names": 2, | ||
"no-undef": 2, | ||
"no-undef-init": 2, | ||
"no-undefined": 2, | ||
"no-unused-vars": 2, | ||
"no-use-before-define": [2, {"functions": false, "classes": true}], | ||
// node.js and commonjs | ||
"callback-return": 2, | ||
"global-require": 2, | ||
"handle-callback-err": 2, | ||
"no-mixed-requires": [ | ||
2, | ||
{ | ||
"grouping": true, | ||
"allowCall": true | ||
} | ||
], | ||
"no-new-require": 2, | ||
"no-path-concat": 2, | ||
"no-process-exit": 2, | ||
"no-restricted-imports": 0, | ||
"no-restricted-modules": 0, | ||
"no-sync": 2, | ||
// stylistic issues | ||
"array-bracket-spacing": 2, | ||
"block-spacing": 2, | ||
"brace-style": 2, | ||
"camelcase": 2, | ||
"comma-spacing": 2, | ||
"comma-style": 2, | ||
"computed-property-spacing": 2, | ||
"consistent-this": 2, | ||
"eol-last": 2, | ||
"func-names": 2, | ||
"func-style": [ | ||
2, | ||
"declaration" | ||
], | ||
"id-blacklist": 2, | ||
"id-length": 2, | ||
"id-match": 0, | ||
"indent": [ | ||
2, | ||
2 | ||
], | ||
"jsx-quotes": 0, | ||
"key-spacing": 2, | ||
"keyword-spacing": 2, | ||
"linebreak-style": [ | ||
2, | ||
"unix" | ||
], | ||
"lines-around-comment": 2, | ||
"max-depth": 2, | ||
"max-len": 2, | ||
"max-nested-callbacks": 2, | ||
"max-params": 2, | ||
"max-statements": 2, | ||
"new-cap": 2, | ||
"new-parens": 2, | ||
"newline-after-var": 2, | ||
"newline-per-chained-call": 2, | ||
"no-array-constructor": 2, | ||
"no-bitwise": 2, | ||
"no-continue": 2, | ||
"no-inline-comments": 2, | ||
"no-lonely-if": 2, | ||
"no-mixed-spaces-and-tabs": 2, | ||
"no-multiple-empty-lines": 2, | ||
"no-negated-condition": 2, | ||
"no-nested-ternary": 2, | ||
"no-new-object": 2, | ||
"no-plusplus": 0, | ||
"no-restricted-syntax": 0, | ||
"no-spaced-func": 2, | ||
"no-ternary": 0, | ||
"no-trailing-spaces": 2, | ||
"no-underscore-dangle": 2, | ||
"no-unneeded-ternary": 2, | ||
"no-whitespace-before-property": 2, | ||
"object-curly-spacing": 2, | ||
"one-var": [ | ||
2, | ||
"never" | ||
], | ||
"one-var-declaration-per-line": 2, | ||
"operator-assignment": 2, | ||
"operator-linebreak": 2, | ||
"padded-blocks": [ | ||
2, | ||
"never" | ||
], | ||
"quote-props": [ | ||
2, | ||
"as-needed", | ||
{ | ||
"keywords": true | ||
} | ||
], | ||
"quotes": [2, "single"], | ||
"require-jsdoc": 0, | ||
"semi": 2, | ||
"semi-spacing": 2, | ||
"sort-imports": 2, | ||
"sort-vars": 2, | ||
"space-before-blocks": 2, | ||
"space-before-function-paren": [2, { "anonymous": "always", "named": "never" }], | ||
"space-in-parens": 2, | ||
"space-infix-ops": 2, | ||
"space-unary-ops": 2, | ||
"spaced-comment": 0, | ||
"wrap-regex": 0, | ||
// ECMAScript 6 | ||
"arrow-body-style": 2, | ||
"arrow-parens": [2, "as-needed"], | ||
"arrow-spacing": 2, | ||
"constructor-super": 2, | ||
"generator-star-spacing": 2, | ||
"no-class-assign": 2, | ||
"no-confusing-arrow": 2, | ||
"no-const-assign": 2, | ||
"no-dupe-class-members": 2, | ||
"no-new-symbol": 2, | ||
"no-this-before-super": 2, | ||
"no-useless-constructor": 2, | ||
"no-var": 2, | ||
"object-shorthand": 2, | ||
"prefer-arrow-callback": 2, | ||
"prefer-const": 2, | ||
"prefer-reflect": 2, | ||
"prefer-rest-params": 2, | ||
"prefer-spread": 2, | ||
"prefer-template": 2, | ||
"require-yield": 2, | ||
"template-curly-spacing": 2, | ||
"yield-star-spacing": 2 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Created by .ignore support plugin (hsz.mobi) | ||
node_modules | ||
npm-debug.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
language: node_js | ||
sudo: false | ||
node_js: | ||
- "5" | ||
- "4" | ||
|
||
before_install: | ||
- npm install -g npm@latest | ||
|
||
script: | ||
- npm test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
{ | ||
"name": "eslint-config-valorsoft", | ||
"version": "0.0.1", | ||
"description": "Valor Software's ESLint config, following our styleguide", | ||
"main": "index.js", | ||
"scripts": { | ||
"changelog": "./node_modules/.bin/conventional-changelog -i CHANGELOG.md -s -p angular", | ||
"github-release": "conventional-github-releaser -p angular -r 0", | ||
"postversion": "git push origin master && git push --tags", | ||
"test": "npm run lint && ./node_modules/.bin/mocha", | ||
"lint": "./node_modules/.bin/eslint --ignore-path .gitignore --ext js --fix . .config" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+ssh://[email protected]/valor-software/eslint-config-valorsoft.git" | ||
}, | ||
"keywords": [ | ||
"styleguide", | ||
"javascript", | ||
"valor", | ||
"valor-software", | ||
"config", | ||
"eslintconfig", | ||
"eslint" | ||
], | ||
"author": "Dmitriy Shekhovtsov <[email protected]>", | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/valor-software/eslint-config-valorsoft/issues" | ||
}, | ||
"homepage": "https://github.com/valor-software/eslint-config-valorsoft#readme", | ||
"dependencies": { | ||
"eslint": "2.2.0" | ||
}, | ||
"devDependencies": { | ||
"chai": "3.5.0", | ||
"conventional-changelog-cli": "1.1.1", | ||
"conventional-github-releaser": "1.1.0", | ||
"mocha": "2.4.5", | ||
"strip-json-comments": "2.0.1" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Welcome to the most strict eslint config ever | ||
|
||
## Philosophy | ||
- contains all rules | ||
- almost all rules enabled | ||
- this config is highly opinionated | ||
|
||
## Where to use | ||
- anywhere | ||
- for tests better to add `env:"node"` and disable `newline-per-chained-call` rule | ||
|
||
## What is disabled | ||
- `no-eq-null` - duplicates `eqeqeq:smart` | ||
- `no-restricted-imports`, `no-restricted-modules` - dependant on project requirements | ||
- `id-match` - not found any particular use of this rule, `camelCase` is enough | ||
- `jsx-quotes` - I don't use jsx so I don't care | ||
- `no-plusplus` - why not `++`? It's nice to use when you know what you are doing | ||
- `no-restricted-syntax` - duplicates `no-with` and `no` | ||
- `no-ternary` - why not? but nested ternary please | ||
- `require-jsdoc`- nice thing, but hard to follow | ||
- `spaced-comment` - nice for meaningful comments, but hard to argue when you commenting peaces of code | ||
- `wrap-regex` - no need | ||
|
||
## What is tweaked | ||
- `dot-location` - `property` mode enabled | ||
- `eqeqeq` - `smart` mode enabled | ||
- `no-implicit-coercion` - boolean implicit coercion enabled | ||
- `no-use-before-define` - usage of `function` declarations before usage are allowed | ||
- `no-mixed-requires`- `grouping` and `allowCall` checks enabled | ||
- `func-style` - `declaration` only please | ||
- `indent` - 2 spaces rulezzz! | ||
- `linebreak-style` - unix only | ||
- `one-var` - `never` use one `var|let|const` per block | ||
- `padded-blocks` - `never` add useless padding | ||
- `quote-props` - quote properties only `as-needed` and `keywords` | ||
|
||
## Contribution | ||
- what I really appreciate is configs for IDEs | ||
- to change any rule you should have strong arguments and not only opinion |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"env": { | ||
"mocha": true, | ||
"node": true | ||
}, | ||
"rules": { | ||
"no-sync": 0, | ||
"newline-per-chained-call": 0 | ||
} | ||
} |
Oops, something went wrong.