echo-fecs
Version:
Front End Code Style Suite
537 lines (525 loc) • 10.4 kB
YAML
parser: "babel-eslint"
env:
browser: true
amd: true
jasmine: true
node: true
react: false
import: false
globals:
baidu: true
bds: true
T: true
$: true
jQuery: true
goog: true
fis: true
F: true
__inline: true
__uri: true
angular: true
setImmediate: true
ActiveXObject: true
unescape: true
escape: true
Promise: true
plugins:
- html
- babel
- react
- import
settings:
"html/html-extensions":
- ".san"
- ".vue"
- ".atom"
rules:
fecs-indent:
- 2
- "space"
- 4
- 0
- true
fecs-valid-jsdoc:
- 2
-
prefer:
arg: "param"
argument: "param"
returns: "return"
fileoverview: "file"
preferType:
String: "string"
Boolean: "boolean"
Number: "number"
int: "number"
Int: "number"
array: "Array"
function: "Function"
date: "Date"
object: "Object"
regexp: "RegExp"
promise: "Promise"
preferLineComment: true
requireReturn: false
requireAuthor: true
requireDescription: true
requireFileDescription: true
requireParamDescription: true
requireReturnType: true
requireReturnDescription: false
requireBlankLineAfterDescription: true
requireEmptyLineBeforeComment: true
requireObjectPatternParamBranchName: false
fecs-max-statements:
- 1
- 50
-
ignore:
AMD: true
IIFE: true
fecs-eol-last:
- 2
- true
fecs-camelcase: 2
fecs-properties-quote:
- 1
-
esVersion: 5
fecs-no-forin-array: 2
fecs-valid-amd-id: 2
fecs-no-eval: 2
fecs-no-global-require: 2
fecs-jsx-var: 2
fecs-esnext-ext:
- 2
-
- "js"
- "jsx"
- "es"
fecs-no-extra-semi: 2
fecs-use-method-definition: 1
fecs-use-property-shorthand:
- 1
-
spread: true
get: false
set: false
method: false
computed: false
fecs-prefer-class: 2
fecs-prefer-super: 2
fecs-export-on-declare: 2
fecs-imports-on-top: 2
fecs-valid-super: 2
fecs-arrow-body-style:
- 1
- "as-needed"
-
ObjectExpression: true
fecs-max-destructure-depth:
- 2
- 2
fecs-min-vars-per-destructure:
- 2
- 2
fecs-one-var-per-line: 2
fecs-no-anonymous-before-rest: 2
fecs-max-calls-in-template: 2
fecs-no-extra-destructure: 2
fecs-use-standard-promise: 2
fecs-use-for-of: 1
fecs-prefer-spread-element: 1
fecs-prefer-async-await: 2
fecs-shim-promise: 2
fecs-no-this-arrow: 2
fecs-valid-map-set: 1
fecs-prefer-destructure: 1
fecs-prefer-assign-pattern: 1
fecs-use-computed-property: 1
fecs-valid-var-jsdoc: 1
fecs-valid-class-jsdoc:
- 1
-
classNode: false
privilege: false
fecs-valid-constructor: 1
fecs-valid-dom-style: 1
fecs-use-async-require: 0
fecs-no-require: 1
generator-star-spacing:
- 2
-
before: false
after: true
babel/new-cap:
- 2
-
capIsNewExceptions:
- "T"
- "AddToFavoritesBar"
array-bracket-spacing:
- 2
- "never"
babel/object-curly-spacing:
- 2
- "never"
arrow-parens:
- 2
- "as-needed"
no-console: 1
no-constant-condition: 1
comma-dangle: 2
no-debugger: 2
no-dupe-keys: 1
no-empty-character-class: 2
no-ex-assign: 2
no-extra-boolean-cast: 1
no-func-assign: 1
no-inner-declarations: 1
no-invalid-regexp: 2
no-negated-in-lhs: 2
no-obj-calls: 2
no-sparse-arrays: 2
no-unreachable: 2
use-isnan: 2
valid-typeof: 2
curly:
- 2
- "all"
eqeqeq:
- 2
- "allow-null"
guard-for-in: 1
no-else-return: 1
no-labels:
- 1
-
allowLoop: true
no-eval: 1
no-extend-native: 2
no-extra-bind: 1
no-implied-eval: 1
no-iterator: 2
no-irregular-whitespace: 1
no-lone-blocks: 1
no-loop-func: 1
no-multi-str: 1
no-native-reassign: 2
no-new-wrappers: 2
no-octal: 1
no-octal-escape: 1
no-proto: 2
no-redeclare: 1
no-self-compare: 2
no-unneeded-ternary: 2
no-with: 1
radix: 2
wrap-iife:
- 2
- "any"
no-delete-var: 1
no-dupe-args: 2
no-duplicate-case: 2
no-label-var: 1
no-shadow-restricted-names: 2
no-undef: 2
no-undef-init: 1
no-unused-vars:
- 1
-
vars: "local"
args: "none"
no-use-before-define:
- 2
- "nofunc"
brace-style:
- 1
- "stroustrup"
- {}
comma-spacing:
- 2
-
before: false
after: true
comma-style:
- 2
- "last"
new-parens: 1
no-array-constructor: 2
no-multi-spaces:
- 2
-
exceptions:
Property: true
BinaryExpression: true
VariableDeclarator: true
no-new-object: 2
no-spaced-func: 2
no-trailing-spaces: 2
no-extra-parens:
- 2
- "functions"
no-mixed-spaces-and-tabs: 2
one-var:
- 2
- "never"
operator-linebreak:
- 2
- "before"
quotes:
- 2
- "single"
semi:
- 2
- "always"
semi-spacing: 2
keyword-spacing: 2
key-spacing:
- 2
-
beforeColon: false
afterColon: true
space-before-function-paren:
- 2
-
anonymous: "always"
named: "never"
space-before-blocks:
- 2
- "always"
computed-property-spacing:
- 2
- "never"
space-in-parens:
- 2
- "never"
space-unary-ops: 1
spaced-comment:
- 2
- "always"
-
exceptions:
- "-"
- "+"
- '"'
block:
balanced: true
max-nested-callbacks:
- 1
- 3
max-depth:
- 1
- 6
max-len:
- 2
- 120
- 4
-
ignoreUrls: true
ignoreComments: true
max-params:
- 1
- 6
space-infix-ops: 2
dot-notation:
- 2
-
allowKeywords: true
allowPattern: "^catch$"
arrow-spacing: 2
constructor-super: 2
no-confusing-arrow:
- 2
-
allowParens: true
no-class-assign: 1
no-const-assign: 2
no-dupe-class-members: 1
no-this-before-super: 1
no-var: 1
no-duplicate-imports: 1
prefer-rest-params: 2
unicode-bom: 1
max-statements-per-line: 2
react/display-name: 0
react/forbid-component-props: 1
react/forbid-elements: 0
react/forbid-foreign-prop-types: 1
react/forbid-prop-types: 1
react/jsx-boolean-value:
- 2
- "never"
react/jsx-closing-bracket-location:
- 2
- "line-aligned"
react/jsx-curly-spacing:
- 2
- "never"
react/jsx-equals-spacing:
- 2
- "never"
react/jsx-filename-extension:
- 2
-
extensions:
- ".js"
- ".jsx"
- ".es"
react/jsx-first-prop-new-line:
- 2
- "multiline-multiprop"
react/jsx-handler-names:
- 2
-
eventHandlerPrefix: ".*"
eventHandlerPropPrefix: "on"
react/jsx-indent-props:
- 2
- 4
react/jsx-indent:
- 2
- 4
react/jsx-key: 2
react/jsx-max-props-per-line:
- 2
-
when: "multiline"
react/jsx-no-bind:
- 2
-
ignoreRefs: true
allowArrowFunctions: false
allowBind: false
react/jsx-no-comment-textnodes: 1
react/jsx-no-duplicate-props:
- 2
-
ignoreCase: true
react/jsx-no-literals: 0
react/jsx-no-target-blank: 2
react/jsx-no-undef: 2
react/jsx-pascal-case:
- 2
-
allowAllCaps: true
react/jsx-sort-props: 0
react/jsx-tag-spacing:
- 2
-
closingSlash: "never"
beforeSelfClosing: "always"
afterOpening: "never"
react/jsx-uses-react: 0
react/jsx-uses-vars: 2
react/jsx-wrap-multilines:
- 2
-
declaration: true
assignment: true
return: true
arrow: true
react/no-array-index-key: 2
react/no-children-prop: 2
react/no-danger-with-children: 2
react/no-danger: 1
react/no-deprecated: 2
react/no-did-mount-set-state: 2
react/no-did-update-set-state: 2
react/no-will-update-set-state: 2
react/no-direct-mutation-state: 2
react/no-find-dom-node: 2
react/no-is-mounted: 2
react/no-multi-comp:
- 2
-
ignoreStateless: true
react/no-render-return-value: 2
react/no-set-state: 0
react/no-string-refs: 2
react/no-unescaped-entities: 2
react/no-unknown-property: 2
react/no-unused-prop-types: 2
react/prefer-es6-class:
- 2
- "always"
react/prefer-stateless-function: 2
react/prop-types: 2
react/react-in-jsx-scope: 0
react/require-default-props: 2
react/require-optimization: 0
react/require-render-return: 2
react/self-closing-comp:
- 2
-
component: true
html: false
react/sort-comp:
- 2
-
order:
- "static-properties"
- "static-methods"
- "lifecycle"
- "everything-else"
- "render"
groups:
static-properties:
- "displayName"
- "propTypes"
- "contextTypes"
- "childContextTypes"
- "mixins"
- "statics"
lifecycle:
- "defaultProps"
- "constructor"
- "getDefaultProps"
- "getInitialState"
- "state"
- "getChildContext"
- "componentWillMount"
- "componentDidMount"
- "componentWillReceiveProps"
- "shouldComponentUpdate"
- "componentWillUpdate"
- "componentDidUpdate"
- "componentWillUnmount"
react/sort-prop-types: 0
react/style-prop-object: 2
react/void-dom-elements-no-children: 2
import/no-unresolved: 2
import/named: 2
import/default: 2
import/namespace: 2
import/no-restricted-paths: 0
import/no-absolute-path: 2
import/no-dynamic-require: 1
import/no-internal-modules: 0
import/no-webpack-loader-syntax: 1
import/export: 2
import/no-named-as-default: 0
import/no-named-as-default-member: 2
import/no-deprecated: 2
import/no-extraneous-dependencies: 0
import/no-mutable-exports: 0
import/unambiguous: 2
import/no-commonjs: 1
import/no-amd: 1
import/no-nodejs-modules: 0
import/first: 2
import/no-duplicates: 2
import/no-namespace: 0
import/extensions:
- 2
-
.js: never,
.jsx: never,
.es: never
import/order: 1
import/newline-after-import: 2
import/prefer-default-export: 0
import/max-dependencies: 0
import/no-unassigned-import: 0
import/no-named-default: 2
no-useless-constructor: 1