Skip to content

Instantly share code, notes, and snippets.

@yyscamper
Last active March 29, 2017 06:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yyscamper/781d8e0b3c184a77d5af15a3f623dddb to your computer and use it in GitHub Desktop.
Save yyscamper/781d8e0b3c184a77d5af15a3f623dddb to your computer and use it in GitHub Desktop.
ESLint Configuration, based on Airbnb JavaScript Standard, but with some customization
env:
es6: true
node: true
parserOptions:
ecmaFeatures:
experimentalObjectRestSpread: true
generators: false
objectLiteralDuplicateProperties: false
ecmaVersion: 6
sourceType: module
plugins:
- import
rules:
accessor-pairs: 'off'
array-bracket-spacing:
- error
- never
array-callback-return: error
arrow-body-style:
- error
- as-needed
- requireReturnForObjectLiteral: false
arrow-parens:
- error
- as-needed
- requireForBlockBody: true
arrow-spacing:
- error
- after: true
before: true
block-scoped-var: error
block-spacing:
- error
- always
brace-style:
- error
- 1tbs
- allowSingleLine: true
callback-return: 'off'
camelcase:
- error
- properties: never
capitalized-comments:
- 'off'
- never
- block:
ignoreConsecutiveComments: true
ignoreInlineComments: true
ignorePattern: .*
line:
ignoreConsecutiveComments: true
ignoreInlineComments: true
ignorePattern: .*
class-methods-use-this:
- error
- exceptMethods: []
comma-dangle: 'off'
comma-spacing:
- error
- after: true
before: false
comma-style:
- error
- last
complexity:
- 'off'
- 11
computed-property-spacing:
- error
- never
consistent-return: error
consistent-this: 'off'
constructor-super: error
curly:
- error
- multi-line
default-case:
- error
- commentPattern: ^no default$
dot-location:
- error
- property
dot-notation:
- error
- allowKeywords: true
eol-last:
- error
- always
eqeqeq:
- error
- always
- 'null': ignore
func-call-spacing:
- error
- never
func-name-matching:
- 'off'
- always
- includeCommonJSModuleExports: false
func-names:
- 'warn'
- 'as-needed'
func-style:
- 'off'
- expression
generator-star-spacing:
- error
- after: true
before: false
global-require: 'off'
guard-for-in: error
handle-callback-err: 'off'
id-blacklist: 'off'
id-length: 'off'
id-match: 'off'
import/default: 'off'
import/export: error
import/extensions:
- error
- always
- js: never
jsx: never
import/first:
- error
- absolute-first
import/imports-first: 'off'
import/max-dependencies:
- 'off'
- max: 10
import/named: 'off'
import/namespace: 'off'
import/newline-after-import: error
import/no-absolute-path: error
import/no-amd: error
import/no-commonjs: 'off'
import/no-deprecated: 'off'
import/no-duplicates: error
import/no-dynamic-require: error
import/no-extraneous-dependencies:
- error
- devDependencies:
- test/**
- tests/**
- spec/**
- '**/__tests__/**'
- test.js
- test-*.js
- '**/*.test.js'
- '**/*.spec.js'
- '**/webpack.config.js'
- '**/webpack.config.*.js'
- '**/rollup.config.js'
- '**/gulpfile.js'
- '**/gulpfile.*.js'
- '**/Gruntfile'
optionalDependencies: false
import/no-internal-modules:
- 'off'
- allow: []
import/no-mutable-exports: error
import/no-named-as-default: error
import/no-named-as-default-member: error
import/no-named-default: error
import/no-namespace: 'off'
import/no-nodejs-modules: 'off'
import/no-restricted-paths: 'off'
import/no-unassigned-import: 'off'
import/no-unresolved:
- error
- caseSensitive: true
commonjs: true
import/no-webpack-loader-syntax: error
import/order:
- 'off'
- groups:
- builtin
- external
- internal
- parent
- sibling
- index
newlines-between: never
import/prefer-default-export: error
import/unambiguous: 'off'
indent:
- error
- 4
- FunctionDeclaration:
body: 1
parameters: 1
FunctionExpression:
body: 1
parameters: 1
SwitchCase: 1
VariableDeclarator: 1
outerIIFEBody: 1
init-declarations: 'off'
jsx-quotes:
- 'off'
- prefer-double
key-spacing:
- error
- afterColon: true
beforeColon: false
keyword-spacing:
- error
- after: true
before: true
overrides:
case:
after: true
return:
after: true
throw:
after: true
line-comment-position:
- 'off'
- applyDefaultPatterns: true
ignorePattern: ''
position: above
linebreak-style:
- error
- unix
lines-around-comment: 'off'
lines-around-directive:
- error
- after: always
before: always
max-depth:
- 'off'
- 4
max-len:
- error
- 100
- 2
- ignoreComments: false
ignoreRegExpLiterals: true
ignoreStrings: true
ignoreTemplateLiterals: true
ignoreUrls: true
max-lines:
- 'off'
- max: 300
skipBlankLines: true
skipComments: true
max-nested-callbacks: 'off'
max-params:
- 'off'
- 3
max-statements:
- 'off'
- 10
max-statements-per-line:
- 'off'
- max: 1
multiline-ternary:
- 'off'
- never
new-cap:
- error
- capIsNew: false
capIsNewExceptions:
- Immutable.Map
- Immutable.Set
- Immutable.List
newIsCap: true
newIsCapExceptions: []
new-parens: error
newline-after-var: 'off'
newline-before-return: 'off'
newline-per-chained-call:
- error
- ignoreChainWithDepth: 4
no-alert: warn
no-array-constructor: error
no-await-in-loop: error
no-bitwise: error
no-caller: error
no-case-declarations: error
no-catch-shadow: 'off'
no-class-assign: error
no-compare-neg-zero: 'off'
no-cond-assign:
- error
- always
no-confusing-arrow:
- error
- allowParens: true
no-console: warn
no-const-assign: error
no-constant-condition: warn
no-continue: error
no-control-regex: error
no-debugger: error
no-delete-var: error
no-div-regex: 'off'
no-dupe-args: error
no-dupe-class-members: error
no-dupe-keys: error
no-duplicate-case: error
no-duplicate-imports: 'off'
no-else-return: error
no-empty: error
no-empty-character-class: error
no-empty-function:
- error
- allow:
- arrowFunctions
- functions
- methods
no-empty-pattern: error
no-eq-null: 'off'
no-eval: error
no-ex-assign: error
no-extend-native: error
no-extra-bind: error
no-extra-boolean-cast: error
no-extra-label: error
no-extra-parens:
- 'off'
- all
- conditionalAssign: true
nestedBinaryExpressions: false
returnAssign: false
no-extra-semi: error
no-fallthrough: error
no-floating-decimal: error
no-func-assign: error
no-global-assign:
- error
- exceptions: []
no-implicit-coercion:
- 'off'
- allow: []
boolean: false
number: true
string: true
no-implicit-globals: 'off'
no-implied-eval: error
no-inline-comments: 'off'
no-inner-declarations: error
no-invalid-regexp: error
no-invalid-this: 'off'
no-irregular-whitespace: error
no-iterator: error
no-label-var: error
no-labels:
- error
- allowLoop: false
allowSwitch: false
no-lone-blocks: error
no-lonely-if: error
no-loop-func: error
no-magic-numbers:
- 'off'
- detectObjects: false
enforceConst: true
ignore: []
ignoreArrayIndexes: true
no-mixed-operators:
- error
- allowSamePrecedence: false
groups:
- - +
- '-'
- '*'
- /
- '%'
- '**'
- - '&'
- '|'
- ^
- '~'
- '<<'
- '>>'
- '>>>'
- - ==
- '!='
- ===
- '!=='
- '>'
- '>='
- <
- <=
- - '&&'
- '||'
- - in
- instanceof
no-mixed-requires:
- 'off'
- false
no-mixed-spaces-and-tabs: error
no-multi-assign:
- error
no-multi-spaces: error
no-multi-str: error
no-multiple-empty-lines:
- error
- max: 2
maxEOF: 1
no-native-reassign: 'off'
no-negated-condition: 'off'
no-negated-in-lhs: 'off'
no-nested-ternary: error
no-new: error
no-new-func: error
no-new-object: error
no-new-require: error
no-new-symbol: error
no-new-wrappers: error
no-obj-calls: error
no-octal: error
no-octal-escape: error
no-param-reassign: 'off'
no-path-concat: 'off'
no-plusplus: error
no-process-env: 'off'
no-process-exit: 'off'
no-proto: error
no-prototype-builtins: error
no-redeclare: error
no-regex-spaces: error
no-restricted-globals: 'off'
no-restricted-imports: 'off'
no-restricted-modules: 'off'
no-restricted-properties:
- error
- message: arguments.callee is deprecated
object: arguments
property: callee
- message: Please use Object.defineProperty instead.
property: __defineGetter__
- message: Please use Object.defineProperty instead.
property: __defineSetter__
- message: Use the exponentiation operator (**) instead.
object: Math
property: pow
no-restricted-syntax:
- error
- ForInStatement
- ForOfStatement
- LabeledStatement
- WithStatement
no-return-assign: error
no-return-await: error
no-script-url: error
no-self-assign: error
no-self-compare: error
no-sequences: error
no-shadow: error
no-shadow-restricted-names: error
no-spaced-func: error
no-sparse-arrays: error
no-sync: 'off'
no-tabs: error
no-template-curly-in-string: error
no-ternary: 'off'
no-this-before-super: error
no-throw-literal: error
no-trailing-spaces: error
no-undef: error
no-undef-init: error
no-undefined: 'off'
no-underscore-dangle:
- error
- allowAfterThis: false
no-unexpected-multiline: error
no-unmodified-loop-condition: 'off'
no-unneeded-ternary:
- error
- defaultAssignment: false
no-unreachable: error
no-unsafe-finally: error
no-unsafe-negation: error
no-unused-expressions:
- error
- allowShortCircuit: false
allowTaggedTemplates: false
allowTernary: false
no-unused-labels: error
no-unused-vars:
- error
- args: after-used
ignoreRestSiblings: true
vars: local
no-use-before-define:
- error
- classes: true
functions: true
variables: true
no-useless-call: 'off'
no-useless-computed-key: error
no-useless-concat: error
no-useless-constructor: error
no-useless-escape: error
no-useless-rename:
- error
- ignoreDestructuring: false
ignoreExport: false
ignoreImport: false
no-useless-return: error
no-var: 'off'
no-void: error
no-warning-comments:
- 'off'
- location: start
terms:
- todo
- fixme
- xxx
no-whitespace-before-property: error
no-with: error
nonblock-statement-body-position: 'off'
object-curly-newline:
- 'off'
- ObjectExpression:
minProperties: 0
multiline: true
ObjectPattern:
minProperties: 0
multiline: true
object-curly-spacing:
- error
- always
object-property-newline:
- error
- allowMultiplePropertiesPerLine: true
object-shorthand: 'off'
one-var:
- error
- never
one-var-declaration-per-line:
- error
- always
operator-assignment:
- error
- always
operator-linebreak: 'off'
padded-blocks:
- error
- never
prefer-arrow-callback:
- error
- allowNamedFunctions: false
allowUnboundThis: true
prefer-const:
- error
- destructuring: any
ignoreReadBeforeAssign: true
prefer-destructuring:
- 'off'
- array: true
object: true
- enforceForRenamedProperties: false
prefer-numeric-literals: error
prefer-promise-reject-errors:
- 'off'
- allowEmptyReject: true
prefer-reflect: 'off'
prefer-rest-params: error
prefer-spread: error
prefer-template: 'off'
quote-props:
- error
- as-needed
- keywords: false
numbers: false
unnecessary: true
quotes:
- error
- single
- avoidEscape: true
radix: error
require-await: 'off'
require-jsdoc: 'off'
require-yield: error
rest-spread-spacing:
- error
- never
semi:
- error
- always
semi-spacing:
- error
- after: true
before: false
sort-imports:
- 'off'
- ignoreCase: false
ignoreMemberSort: false
memberSyntaxSortOrder:
- none
- all
- multiple
- single
sort-keys:
- 'off'
- asc
- caseSensitive: false
natural: true
sort-vars: 'off'
space-before-blocks: error
space-before-function-paren:
- error
- anonymous: always
asyncArrow: always
named: never
space-in-parens:
- error
- never
space-infix-ops: error
space-unary-ops:
- error
- nonwords: false
overrides: {}
words: true
spaced-comment:
- error
- always
- block:
balanced: false
exceptions:
- '-'
- +
markers:
- =
- '!'
line:
exceptions:
- '-'
- +
markers:
- =
- '!'
strict: 'off'
symbol-description: error
template-curly-spacing: error
template-tag-spacing:
- 'off'
- never
unicode-bom:
- error
- never
use-isnan: error
valid-jsdoc: 'off'
valid-typeof:
- error
- requireStringLiterals: true
vars-on-top: error
wrap-iife:
- error
- outside
- functionPrototypeMethods: false
wrap-regex: 'off'
yield-star-spacing:
- error
- after
yoda: error
settings:
import/core-modules: []
import/extensions:
- .js
- .jsx
import/ignore:
- node_modules
- \.(coffee|scss|css|less|hbs|svg|json)$
import/resolver:
node:
extensions:
- .js
- .json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment