2019.4.15-0 • Published 5 years ago

@amory/eslint-config v2019.4.15-0

Weekly downloads
-
License
(Apache-2.0 OR MI...
Repository
github
Last release
5 years ago
  • ESLint :properties: :header-args: :cache yes :comments no :mkdirp yes :padline yes :results silent :end: #+startup: showall hideblocks hidestars indent

** Table of Contents :TOC:

** Setup

*** [https://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories]

#+HTML: #+begin_src gitignore :noweb-ref ".eslintignore" :tangle ".eslintignore" !.eslintrc.js !.json node_modules/ #+end_src #+HTML:

*** [https://eslint.org/docs/user-guide/configuring#configuration-file-formats]

#+HTML: #+begin_src js :noweb-ref ".eslintrc.js" :tangle ".eslintrc.js" module.exports = require ("./.eslintrc.json") #+end_src #+HTML:

*** [https://eslint.org/docs/user-guide/configuring#configuration-file-formats]

#+HTML: #+begin_src json :noweb-ref ".eslintrc.json" :tangle ".eslintrc.json" { "env": { "browser": true, "es6": true, "node": true }, "extends": "./rules/possible-errors.json", "./rules/best-practices.json", "./rules/strict-mode.json", "./rules/variables.json", "./rules/nodejs-and-commonjs.json", "./rules/stylistic-issues.json", "./rules/ecmascript-6.json", "./plugins/plugin-compat.json", "./plugins/plugin-fp.json", "./plugins/plugin-graphql.json", "./plugins/plugin-import.json", "./plugins/plugin-json.json", "./plugins/plugin-jsx-a11y.json", "./plugins/plugin-promise.json", "./plugins/plugin-react.json", "./plugins/plugin-standard.json" , "parser": "babel-eslint", "parserOptions": { "ecmaFeatures": { "impliedStrict": true, "jsx": true, "modules": true }, "ecmaVersion": 2018, "sourceType": "module" }, "settings": { "react": { "version": "detect" } } } #+end_src #+HTML:

*** [https://code.visualstudio.com/docs/getstarted/settings]

#+HTML: #+begin_src json :noweb-ref ".vscode/settings.json" :tangle ".vscode/settings.json" { "editor.formatOnType": true, "eslint.options": { "configFile": "node_modules/@amory/eslint-config/.eslintrc.json" }, "eslint.runtime": "/usr/local/node/shims/node" } #+end_src #+HTML:

*** [https://docs.npmjs.com/creating-a-package-json-file]

#+HTML: #+begin_src json :noweb-ref "package.json" :tangle "package.json" { "author": "Peter T Bosse II pbosse@gmail.com (https://ptb.dev/)", "description": "Lint JavaScript code with @ptb's personal preferences", "devDependencies": { "babel-eslint": "10.0.1", "eslint": "5.16.0", "eslint-plugin-compat": "3.1.1", "eslint-plugin-flowtype": "3.6.1", "eslint-plugin-flowtype-comment": "1.0.0", "eslint-plugin-fp": "2.3.0", "eslint-plugin-graphql": "3.0.3", "eslint-plugin-import": "2.17.1", "eslint-plugin-json": "1.4.0", "eslint-plugin-jsx-a11y": "6.2.1", "eslint-plugin-promise": "4.1.1", "eslint-plugin-react": "7.12.4", "eslint-plugin-standard": "4.0.0", "graphql": "14.2.1" }, "eslintConfig": { "extends": "./.eslintrc.json" }, "keywords": "eslint", "eslintconfig" , "license": "(Apache-2.0 OR MIT)", "main": ".eslintrc.js", "name": "@amory/eslint-config", "publishConfig": { "access": "public" }, "repository": "https://github.com/ptb/amory/tree/master/eslint", "scripts": { "lint": "f () { eslint src || exit 0; }; f", "lint:file": "f () { eslint --fix \"${1}\" || exit 0; }; f", "lint:fix": "f () { eslint --fix src || exit 0; }; f", "lint:flow": "f () { eslint --plugin flowtype-comment src || exit 0; }; f" }, "version": "2019.4.15-0" } #+end_src #+HTML:

** Rules

*** [https://eslint.org/docs/rules/#possible-errors]

#+HTML: #+begin_src json :noweb-ref "rules/possible-errors.json" :tangle "rules/possible-errors.json" { "rules": { "for-direction": "error", "getter-return": "error", { "allowImplicit": true } , "no-async-promise-executor": "warn", "no-await-in-loop": "warn", "no-compare-neg-zero": "error", "no-cond-assign": "error", "no-console": [ "error", { "allow": "error", "info", "warn" } ], "no-constant-condition": "error", "no-control-regex": "error", "no-debugger": "error", "no-dupe-args": "error", "no-dupe-keys": "error", "no-duplicate-case": "error", "no-empty": "error", { "allowEmptyCatch": true } , "no-empty-character-class": "error", "no-ex-assign": "error", "no-extra-boolean-cast": "error", "no-extra-parens": "warn", "all", { "enforceForArrowConditionals": false, "ignoreJSX": "all", "returnAssign": false } , "no-extra-semi": "error", "no-func-assign": "error", "no-inner-declarations": "error", "both" , "no-invalid-regexp": "error", "no-irregular-whitespace": "error", { "skipRegExps": true, "skipStrings": true, "skipTemplates": true } , "no-misleading-character-class": "warn", "no-obj-calls": "error", "no-prototype-builtins": "warn", "no-regex-spaces": "error", "no-sparse-arrays": "error", "no-template-curly-in-string": "warn", "no-unexpected-multiline": "error", "no-unreachable": "error", "no-unsafe-finally": "error", "no-unsafe-negation": "error", "require-atomic-updates": "warn", "use-isnan": "error", "valid-jsdoc": "off", { "prefer": { "arg": "param", "argument": "param", "class": "constructor", "return": "returns", "virtual": "abstract" }, "preferType": { "Boolean": "boolean", "Number": "number", "String": "string", "object": "Object" }, "requireParamDescription": false, "requireParamType": true, "requireReturn": true, "requireReturnDescription": false, "requireReturnType": true } , "valid-typeof": "error" } } #+end_src #+HTML:

*** [https://eslint.org/docs/rules/#best-practices]

#+HTML: #+begin_src json :noweb-ref "rules/best-practices.json" :tangle "rules/best-practices.json" { "rules": { "accessor-pairs": "warn", "array-callback-return": "warn", { "allowImplicit": true } , "block-scoped-var": "warn", "class-methods-use-this": [ "warn", { "exceptMethods": "render" } ], "complexity": "warn", "consistent-return": "warn", "curly": "error", "all" , "default-case": "off", "dot-location": "error", "property" , "dot-notation": "error", { "allowKeywords": true } , "eqeqeq": "error", "smart" , "guard-for-in": "warn", "max-classes-per-file": "warn", "no-alert": "error", "no-caller": "error", "no-case-declarations": "error", "no-div-regex": "error", "no-else-return": "warn", { "allowElseIf": true } , "no-empty-function": "warn", "no-empty-pattern": "warn", "no-eq-null": "off", "no-eval": "error", "no-extend-native": "error", "no-extra-bind": "error", "no-extra-label": "error", "no-fallthrough": "warn", "no-floating-decimal": "off", "no-global-assign": "error", "no-implicit-coercion": "warn", "no-implicit-globals": "error", "no-implied-eval": "warn", "no-invalid-this": "warn", "no-iterator": "warn", "no-labels": "warn", { "allowLoop": false, "allowSwitch": false } , "no-lone-blocks": "error", "no-loop-func": "error", "no-magic-numbers": "off", "no-multi-spaces": "warn", { "exceptions": { "ImportDeclaration": true }, "ignoreEOLComments": true } , "no-multi-str": "error", "no-new": "warn", "no-new-func": "warn", "no-new-wrappers": "warn", "no-octal": "error", "no-octal-escape": "error", "no-param-reassign": "warn", "no-proto": "error", "no-redeclare": "error", { "builtinGlobals": true } , "no-restricted-properties": "off", "no-return-assign": "error", "except-parens" , "no-return-await": "warn", "no-script-url": "error", "no-self-assign": "warn", "no-self-compare": "error", "no-sequences": "error", "no-throw-literal": "error", "no-unmodified-loop-condition": "error", "no-unused-expressions": "warn", { "allowShortCircuit": true, "allowTernary": true } , "no-unused-labels": "warn", "no-useless-call": "warn", "no-useless-concat": "warn", "no-useless-escape": "warn", "no-useless-return": "warn", "no-void": "warn", "no-warning-comments": "warn", "no-with": "warn", "prefer-promise-reject-errors": "warn", "radix": "warn", "always" , "require-await": "warn", "require-unicode-regexp": "warn", "vars-on-top": "warn", "wrap-iife": "warn", "any" , "yoda": "warn", "never" } } #+end_src #+HTML:

*** [https://eslint.org/docs/rules/#strict-mode]

#+HTML: #+begin_src json :noweb-ref "rules/strict-mode.json" :tangle "rules/strict-mode.json" { "rules": { "strict": "warn", "safe" } } #+end_src #+HTML:

*** [https://eslint.org/docs/rules/#variables]

#+HTML: #+beginsrc json :noweb-ref "rules/variables.json" :tangle "rules/variables.json" { "rules": { "init-declarations": "off", "no-delete-var": "warn", "no-label-var": "warn", "no-restricted-globals": "off", "no-shadow": [ "warn", { "allow": "CSSTransition", "location" , "builtinGlobals": true, "hoist": "all" } ], "no-shadow-restricted-names": "warn", "no-undef": "warn", "no-undef-init": "warn", "no-undefined": "warn", "no-unused-vars": [ "warn", { "args": "all", "argsIgnorePattern": "^", "vars": "all" } ], "no-use-before-define": "warn" } } #+end_src #+HTML:

*** [https://eslint.org/docs/rules/#nodejs-and-commonjs]

#+HTML: #+begin_src json :noweb-ref "rules/nodejs-and-commonjs.json" :tangle "rules/nodejs-and-commonjs.json" { "rules": { "callback-return": "warn", "global-require": "warn", "handle-callback-err": "warn", "^(err|error)$" , "no-buffer-constructor": "warn", "no-mixed-requires": "warn", { "allowCall": true, "grouping": true } , "no-new-require": "warn", "no-path-concat": "warn", "no-process-env": "warn", "no-process-exit": "warn", "no-restricted-modules": "off", "no-sync": "off" } } #+end_src #+HTML:

*** [https://eslint.org/docs/rules/#stylistic-issues]

#+HTML: #+begin_src json :noweb-ref "rules/stylistic-issues.json" :tangle "rules/stylistic-issues.json" { "rules": { "array-bracket-newline": "warn", "consistent" , "array-bracket-spacing": "warn", "never" , "array-element-newline": "off", "block-spacing": "warn", "always" , "brace-style": "warn", "1tbs", { "allowSingleLine": true } , "camelcase": "warn", { "properties": "always" } , "capitalized-comments": "off", "comma-dangle": "warn", "never" , "comma-spacing": "warn", { "after": true, "before": false } , "comma-style": "warn", "last" , "computed-property-spacing": "warn", "never" , "consistent-this": "warn", "self" , "eol-last": "warn", "unix" , "func-call-spacing": "warn", "always" , "func-name-matching": "warn", "func-names": "off", "func-style": "warn", "expression" , "function-paren-newline": "warn", "consistent" , "id-blacklist": "off", "id-length": "off", "id-match": "off", "implicit-arrow-linebreak": "off", "indent": "warn", 2, { "SwitchCase": 1, "VariableDeclarator": 1 } , "jsx-quotes": "warn", "prefer-double" , "key-spacing": "warn", { "afterColon": true, "beforeColon": false, "mode": "strict" } , "keyword-spacing": "warn", { "after": true, "before": true } , "line-comment-position": "warn", { "position": "above" } , "linebreak-style": "warn", "unix" , "lines-around-comment": [ "warn", { "afterBlockComment": false, "afterLineComment": false, "allowArrayEnd": true, "allowArrayStart": true, "allowBlockEnd": true, "allowBlockStart": true, "allowObjectEnd": true, "allowObjectStart": true, "beforeBlockComment": false, "beforeLineComment": true, "ignorePattern": "^ ?*|::? " } ], "lines-between-class-members": "warn", "always" , "max-depth": "off", "max-len": "warn", { "code": 78, "ignoreStrings": true, "ignoreUrls": true } , "max-lines": "off", "max-lines-per-function": "warn" , "max-nested-callbacks": "off", "max-params": "off", "max-statements": "warn", { "max": 20 } , "max-statements-per-line": "warn", { "max": 1 } , "multiline-comment-style": "off", "multiline-ternary": "off", "new-cap": "warn", { "capIsNew": true, "newIsCap": true } , "new-parens": "warn", "newline-per-chained-call": "warn", "no-array-constructor": "warn", "no-bitwise": "warn", "no-continue": "warn", "no-inline-comments": "off", "no-lonely-if": "warn", "no-mixed-operators": "warn", "no-mixed-spaces-and-tabs": "warn", "no-multi-assign": "warn", "no-multiple-empty-lines": "warn", { "max": 1 } , "no-negated-condition": "warn", "no-nested-ternary": "warn", "no-new-object": "warn", "no-plusplus": "warn", { "allowForLoopAfterthoughts": true } , "no-restricted-syntax": "off", "no-tabs": "warn", "no-ternary": "off", "no-trailing-spaces": "warn", { "ignoreComments": true } , "no-underscore-dangle": "off", "no-unneeded-ternary": "warn", { "defaultAssignment": false } , "no-whitespace-before-property": "warn", "nonblock-statement-body-position": "off", "object-curly-newline": "warn", { "consistent": true } , "object-curly-spacing": "warn", "always", { "arraysInObjects": true, "objectsInObjects": true } , "object-property-newline": "off", "one-var": "warn", { "initialized": "never", "uninitialized": "always" } , "one-var-declaration-per-line": "off", "operator-assignment": "warn", "always" , "operator-linebreak": "warn", "after", { "overrides": { ":": "before", "=": "ignore", "?": "before" } } , "padded-blocks": "warn", "never" , "padding-line-between-statements": [ "warn", { "blankLine": "always", "next": "", "prev": "const", "let", "var" }, { "blankLine": "any", "next": "const", "let", "var" , "prev": "const", "let", "var" } ], "prefer-object-spread": "warn" , "quote-props": "warn", "always" , "quotes": "warn", "double", { "allowTemplateLiterals": true, "avoidEscape": true } , "require-jsdoc": "off", "semi": "warn", "never" , "semi-spacing": "warn", { "after": true, "before": false } , "semi-style": "warn", "last" , "sort-keys": "warn", "asc", { "caseSensitive": false, "natural": true } , "sort-vars": "warn", { "ignoreCase": true } , "space-before-blocks": "warn", "always" , "space-before-function-paren": "warn", "always" , "space-in-parens": "warn", "never" , "space-infix-ops": "warn", "space-unary-ops": "warn", { "nonwords": false, "words": true } , "spaced-comment": [ "warn", "always", { "markers": [ "global", "globals", "eslint", "eslint-disable", "package", "!", "," ] } ], "switch-colon-spacing": "warn", { "after": true, "before": false } , "template-tag-spacing": "warn", "always" , "unicode-bom": "warn", "never" , "wrap-regex": "warn" } } #+end_src #+HTML:

*** [https://eslint.org/docs/rules/#ecmascript-6]

#+HTML: #+begin_src json :noweb-ref "rules/ecmascript-6.json" :tangle "rules/ecmascript-6.json" { "rules": { "arrow-body-style": "warn", "as-needed" , "arrow-parens": "warn", "always" , "arrow-spacing": "warn", { "after": true, "before": true } , "constructor-super": "warn", "generator-star-spacing": "warn", { "after": true, "before": true } , "no-class-assign": "warn", "no-confusing-arrow": "warn", { "allowParens": true } , "no-const-assign": "warn", "no-dupe-class-members": "warn", "no-duplicate-imports": "warn", { "includeExports": true } , "no-new-symbol": "warn", "no-restricted-imports": "off", "no-this-before-super": "warn", "no-useless-computed-key": "warn", "no-useless-constructor": "warn", "no-useless-rename": "warn", "no-var": "warn", "object-shorthand": "warn", "always", { "avoidQuotes": true } , "prefer-arrow-callback": "off", "prefer-const": "warn", "prefer-destructuring": "off", "prefer-numeric-literals": "warn", "prefer-rest-params": "warn", "prefer-spread": "warn", "prefer-template": "warn", "require-yield": "off", "rest-spread-spacing": "warn", "always" , "sort-imports": "off", "symbol-description": "off", "template-curly-spacing": "warn", "never" , "yield-star-spacing": "warn", "both" } } #+end_src #+HTML:

** Plugins

*** [https://github.com/amilajack/eslint-plugin-compat]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-compat.json" :tangle "plugins/plugin-compat.json" { "plugins": "compat" , "rules": { "compat/compat": "warn" } } #+end_src #+HTML:

*** [https://github.com/gajus/eslint-plugin-flowtype]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-flowtype.json" :tangle "plugins/plugin-flowtype.json" { "plugins": "flowtype" , "rules": { "flowtype/array-style-complex-type": "warn", "verbose" , "flowtype/array-style-simple-type": "warn", "verbose" , "flowtype/boolean-style": "warn", "boolean" , "flowtype/define-flow-type": "warn", "flowtype/delimiter-dangle": "warn", "never" , "flowtype/generic-spacing": "warn", "always" , "flowtype/newline-after-flow-annotation": "warn", "always" , "flowtype/no-dupe-keys": "warn", "flowtype/no-existential-type": "off", "flowtype/no-flow-fix-me-comments": "warn", "flowtype/no-mutable-array": "off", "flowtype/no-primitive-constructor-types": "warn", "flowtype/no-types-missing-file-annotation": "off", "flowtype/no-unused-expressions": "warn", "flowtype/no-weak-types": "warn", { "Function": false, "Object": true, "any": true } , "flowtype/object-type-delimiter": "warn", "comma" , "flowtype/require-compound-type-alias": "warn", "always" , "flowtype/require-exact-type": "warn", "flowtype/require-parameter-type": "warn", "flowtype/require-return-type": "warn", "flowtype/require-types-at-top": "warn", "always" , "flowtype/require-valid-file-annotation": "warn", "never", { "annotationStyle": "block" } , "flowtype/require-variable-type": "off", "flowtype/semi": "warn", "never" , "flowtype/sort-keys": "warn", "asc", { "caseSensitive": false, "natural": true } , "flowtype/space-after-type-colon": "warn", "always", { "allowLineBreak": true } , "flowtype/space-before-generic-bracket": "warn", "always" , "flowtype/space-before-type-colon": "off", "flowtype/type-id-match": [ "warn", "^(A-Z+)+Type$" ], "flowtype/type-import-style": "off", "flowtype/union-intersection-spacing": "warn", "always" , "flowtype/use-flow-type": "warn" }, "settings": { "flowtype": { "onlyFilesWithFlowAnnotation": false } } } #+end_src #+HTML:

*** [https://github.com/jfmengels/eslint-plugin-fp]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-fp.json" :tangle "plugins/plugin-fp.json" { "plugins": "fp" , "rules": { "fp/no-arguments": "off", "fp/no-class": "off", "fp/no-delete": "off", "fp/no-events": "off", "fp/no-get-set": "off", "fp/no-let": "off", "fp/no-loops": "off", "fp/no-mutating-assign": "off", "fp/no-mutating-methods": "off", "fp/no-mutation": "off", { "commonjs": true } , "fp/no-nil": "off", "fp/no-proxy": "off", "fp/no-rest-parameters": "off", "fp/no-this": "off", "fp/no-throw": "off", "fp/no-unused-expression": "off", { "allowUseStrict": true } , "fp/no-valueof-field": "off" } } #+end_src #+HTML:

*** [https://github.com/apollographql/eslint-plugin-graphql]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-graphql.json" :tangle "plugins/plugin-graphql.json" { "plugins": "graphql" } #+end_src #+HTML:

*** [https://github.com/benmosher/eslint-plugin-import]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-import.json" :tangle "plugins/plugin-import.json" { "plugins": "import" , "rules": { "import/export": "off", "import/no-amd": "off", "import/no-commonjs": "off", "allow-primitive-modules" } } #+end_src #+HTML:

*** [https://github.com/azeemba/eslint-plugin-json]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-json.json" :tangle "plugins/plugin-json.json" { "plugins": "json" } #+end_src #+HTML:

*** [https://github.com/evcohen/eslint-plugin-jsx-a11y]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-jsx-a11y.json" :tangle "plugins/plugin-jsx-a11y.json" { "plugins": "jsx-a11y" , "rules": { "jsx-a11y/accessible-emoji": "off", "jsx-a11y/alt-text": "off", "jsx-a11y/anchor-has-content": "off", "jsx-a11y/anchor-is-valid": "off", "jsx-a11y/aria-activedescendant-has-tabindex": "off", "jsx-a11y/aria-props": "off", "jsx-a11y/aria-proptypes": "off", "jsx-a11y/aria-role": "off", "jsx-a11y/aria-unsupported-elements": "off", "jsx-a11y/click-events-have-key-events": "off", "jsx-a11y/heading-has-content": "off", "jsx-a11y/html-has-lang": "off", "jsx-a11y/iframe-has-title": "off", "jsx-a11y/img-redundant-alt": "off", "jsx-a11y/interactive-supports-focus": "off", "jsx-a11y/label-has-for": "off", "jsx-a11y/lang": "off", "jsx-a11y/media-has-caption": "off", "jsx-a11y/mouse-events-have-key-events": "off", "jsx-a11y/no-access-key": "off", "jsx-a11y/no-autofocus": "off", "jsx-a11y/no-distracting-elements": "off", "jsx-a11y/no-interactive-element-to-noninteractive-role": "off", "jsx-a11y/no-noninteractive-element-interactions": "off", "jsx-a11y/no-noninteractive-element-to-interactive-role": "off", "jsx-a11y/no-noninteractive-tabindex": "off", "jsx-a11y/no-onchange": "off", "jsx-a11y/no-redundant-roles": "off", "jsx-a11y/no-static-element-interactions": "off", "jsx-a11y/role-has-required-aria-props": "off", "jsx-a11y/role-supports-aria-props": "off", "jsx-a11y/scope": "off", "jsx-a11y/tabindex-no-positive": "off" } } #+end_src #+HTML:

*** [https://github.com/xjamundx/eslint-plugin-promise]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-promise.json" :tangle "plugins/plugin-promise.json" { "plugins": "promise" , "rules": { "promise/param-names": "warn" } } #+end_src #+HTML:

*** [https://github.com/yannickcr/eslint-plugin-react]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-react.json" :tangle "plugins/plugin-react.json" { "plugins": "react" , "rules": { "react/boolean-prop-naming": "warn", "react/button-has-type": "warn", "react/default-props-match-prop-types": "warn", "react/destructuring-assignment": "warn", "react/display-name": "off", "react/forbid-component-props": "off", "react/forbid-elements": "warn", "react/forbid-foreign-prop-types": "warn", "react/forbid-prop-types": "warn", "react/jsx-boolean-value": "warn", "react/jsx-closing-bracket-location": "warn", "react/jsx-closing-tag-location": "warn", "react/jsx-curly-brace-presence": "warn", "react/jsx-curly-spacing": "warn", "react/jsx-equals-spacing": "warn", "react/jsx-filename-extension": "warn", "react/jsx-first-prop-new-line": "warn", "always" , "react/jsx-handler-names": "warn", "react/jsx-indent": "warn", 2 , "react/jsx-indent-props": "warn", 2 , "react/jsx-key": "warn", "react/jsx-max-props-per-line": "warn", "react/jsx-no-bind": "warn", { "allowArrowFunctions": true } , "react/jsx-no-comment-textnodes": "warn", "react/jsx-no-duplicate-props": "warn", "react/jsx-no-literals": "off", "react/jsx-no-target-blank": "warn", "react/jsx-no-undef": "warn", "react/jsx-pascal-case": "warn", "react/jsx-sort-props": "warn", "react/jsx-tag-spacing": "warn", { "afterOpening": "never", "beforeClosing": "never", "beforeSelfClosing": "always", "closingSlash": "never" } , "react/jsx-uses-react": "warn", "react/jsx-uses-vars": "warn", "react/jsx-wrap-multilines": "warn", "react/no-access-state-in-setstate": "warn", "react/no-array-index-key": "warn", "react/no-children-prop": "warn", "react/no-danger": "warn", "react/no-danger-with-children": "warn", "react/no-deprecated": "warn", "react/no-did-mount-set-state": "warn", "react/no-did-update-set-state": "warn", "react/no-direct-mutation-state": "warn", "react/no-find-dom-node": "warn", "react/no-is-mounted": "warn", "react/no-multi-comp": "warn", "react/no-redundant-should-component-update": "warn", "react/no-render-return-value": "warn", "react/no-set-state": "warn", "react/no-string-refs": "warn", "react/no-typos": "warn", "react/no-unescaped-entities": "warn", "react/no-unknown-property": [ "warn", { "ignore": "charset" } ], "react/no-unused-prop-types": "warn", "react/no-unused-state": "warn", "react/no-will-update-set-state": "warn", "react/prefer-es6-class": "warn", "react/prefer-stateless-function": "warn", "react/prop-types": "off", "react/react-in-jsx-scope": "warn", "react/require-default-props": "warn", "react/require-optimization": "warn", "react/require-render-return": "warn", "react/self-closing-comp": "warn", "react/sort-comp": "warn", "react/sort-prop-types": "warn", "react/style-prop-object": "warn", "react/void-dom-elements-no-children": "warn" } } #+end_src #+HTML:

*** [https://github.com/standard/eslint-plugin-standard]

#+HTML: #+begin_src json :noweb-ref "plugins/plugin-standard.json" :tangle "plugins/plugin-standard.json" { "plugins": "standard" , "rules": { "standard/array-bracket-even-spacing": "warn", "either" , "standard/computed-property-even-spacing": "warn", "even" , "standard/object-curly-even-spacing": "warn", "either" } } #+end_src #+HTML:

2019.4.15-0

5 years ago

2019.3.14-2

5 years ago

2019.3.14-1

5 years ago

2019.3.14-0

5 years ago

2019.3.13-1

5 years ago

2019.3.13-0

5 years ago

2019.3.12-0

5 years ago

2019.2.11-6

5 years ago

2019.2.11-5

5 years ago

2019.2.11-4

5 years ago

2019.2.11-3

5 years ago

2019.2.11-2

5 years ago

2019.2.11-1

5 years ago

2019.2.11-0

5 years ago

2018.11.10-0

6 years ago

2018.10.26-0

6 years ago

2018.10.25-0

6 years ago

2018.10.8-2

6 years ago

2018.8.16-1

6 years ago

2018.8.14-1

6 years ago

2018.8.14-0

6 years ago

2018.8.13-6

6 years ago

2018.8.4-6

6 years ago

2018.8.4-5

6 years ago

2018.8.4-4

6 years ago

2018.8.4-3

6 years ago

2018.8.4-2

6 years ago

2018.8.4-1

6 years ago

2018.8.4-0

6 years ago

2018.7.27-7

6 years ago

2018.7.27-6

6 years ago

2018.7.27-5

6 years ago

2018.7.27-4

6 years ago

2018.7.27-3

6 years ago

2018.7.27-2

6 years ago

2018.7.27-1

6 years ago

2018.7.27-0

6 years ago

2018.7.26-10

6 years ago

2018.7.26-9

6 years ago

2018.7.26-8

6 years ago

2018.7.26-7

6 years ago

2018.7.26-6

6 years ago

2018.7.26-5

6 years ago

2018.7.26-4

6 years ago

2018.7.26-3

6 years ago

2018.7.26-2

6 years ago

2018.7.26-1

6 years ago

2018.7.26-0

6 years ago

2018.7.15-1

6 years ago

2018.7.11-8

6 years ago

2018.7.11-7

6 years ago

2018.7.11-6

6 years ago

2018.7.11-5

6 years ago

2018.7.11-4

6 years ago

2018.7.11-3

6 years ago

2018.7.11-2

6 years ago

2018.7.11-1

6 years ago

2018.7.11-0

6 years ago

2018.7.9-2

6 years ago

2018.7.9-1

6 years ago

2018.7.9-0

6 years ago

2018.6.27-2

6 years ago

2018.6.23-0

6 years ago

2018.6.22-3

6 years ago

2018.6.22-2

6 years ago

2018.6.22-1

6 years ago

2018.6.22-0

6 years ago

2018.6.20-1

6 years ago

2018.6.20-0

6 years ago

2018.6.19-0

6 years ago

2018.6.18-0

6 years ago

2018.6.17-3

6 years ago

2018.6.17-2

6 years ago

2018.6.17-1

6 years ago

2018.6.17-0

6 years ago

2018.6.16-0

6 years ago

2018.6.12-5

6 years ago

2018.6.12-4

6 years ago

2018.6.12-3

6 years ago

2018.6.12-2

6 years ago

2018.6.12-1

6 years ago

2018.6.12-0

6 years ago

2018.6.7-2

6 years ago

2018.6.7-1

6 years ago

2018.6.7-0

6 years ago

2018.6.6-10

6 years ago

2018.6.6-9

6 years ago

2018.6.6-8

6 years ago

2018.6.6-7

6 years ago

2018.6.6-6

6 years ago

2018.6.6-5

6 years ago

2018.6.6-4

6 years ago

2018.6.6-3

6 years ago

2018.6.6-2

6 years ago

2018.6.6-1

6 years ago

2018.6.6-0

6 years ago

2018.6.3-0

6 years ago

2018.6.1-1

6 years ago

2018.6.1-0

6 years ago

2018.5.31-1

6 years ago

2018.5.31-0

6 years ago

2018.5.30-0

6 years ago

2018.5.29-5

6 years ago

2018.5.29-4

6 years ago

2018.5.29-3

6 years ago

2018.5.29-2

6 years ago

2018.5.29-1

6 years ago

2018.5.29-0

6 years ago

2018.5.28-1

6 years ago

2018.5.28-0

6 years ago

2018.5.25-3

6 years ago

2018.5.25-2

6 years ago

2018.5.25-1

6 years ago

2018.5.25-0

6 years ago

2018.5.24-1

6 years ago

2018.5.24-0

6 years ago

2018.5.23-7

6 years ago

2018.5.23-6

6 years ago

2018.5.23-5

6 years ago

2018.5.23-4

6 years ago

2018.5.23-3

6 years ago

2018.5.23-2

6 years ago

2018.5.23-1

6 years ago

2018.5.23-0

6 years ago

2018.5.21-9

6 years ago

2018.5.21-8

6 years ago

2018.5.21-7

6 years ago

2018.5.21-6

6 years ago

2018.5.21-5

6 years ago

2018.5.21-4

6 years ago

2018.5.21-3

6 years ago

2018.5.21-2

6 years ago

2018.5.21-1

6 years ago

2018.5.21-0

6 years ago

2018.5.20-5

6 years ago

2018.5.20-4

6 years ago

2018.5.20-3

6 years ago

2018.5.20-2

6 years ago

2018.5.20-1

6 years ago

2018.5.20-0

6 years ago

2018.5.19-3

6 years ago

2018.5.19-2

6 years ago

2018.5.19-1

6 years ago

2018.5.19-0

6 years ago

2018.5.18-2

6 years ago

2018.5.18-1

6 years ago

2018.5.18-0

6 years ago

2018.5.17-1

6 years ago

2018.5.17-0

6 years ago

2018.5.16-3

6 years ago

2018.5.16-2

6 years ago

2018.5.16-1

6 years ago

2018.5.16-0

6 years ago

2018.5.15-4

6 years ago

2018.5.15-3

6 years ago

2018.5.15-2

6 years ago

2018.5.15-1

6 years ago

2018.5.15-0

6 years ago

2018.5.14-5

6 years ago

2018.5.14-4

6 years ago

2018.5.14-3

6 years ago

2018.5.14-2

6 years ago

2018.5.14-1

6 years ago

2018.5.14-0

6 years ago

2018.5.13-6

6 years ago

2018.5.13-5

6 years ago

2018.5.13-4

6 years ago

2018.5.13-3

6 years ago

2018.5.13-2

6 years ago

2018.5.13-1

6 years ago

2018.5.13-0

6 years ago

2018.5.12-0

6 years ago

2018.5.11-7

6 years ago

2018.5.11-6

6 years ago

2018.5.11-5

6 years ago

2018.5.11-4

6 years ago

2018.5.11-3

6 years ago

2018.5.11-2

6 years ago

2018.5.10-1

6 years ago

2018.5.10-0

6 years ago

2018.5.6-14

6 years ago

2018.5.6-13

6 years ago

2018.5.6-12

6 years ago

2018.5.6-11

6 years ago

2018.5.6-10

6 years ago

2018.5.6-9

6 years ago

2018.5.6-8

6 years ago

2018.5.6-7

6 years ago

2018.5.6-6

6 years ago

2018.5.6-5

6 years ago

2018.5.6-4

6 years ago

2018.5.6-3

6 years ago

2018.5.6-2

6 years ago

2018.5.6-1

6 years ago

2018.5.6-0

6 years ago

2018.5.5-2

6 years ago

2018.5.5-1

6 years ago

2018.5.5-0

6 years ago

2018.5.4-1

6 years ago

2018.5.4-0

6 years ago

2018.5.3-4

6 years ago

2018.5.3-3

6 years ago

2018.5.3-2

6 years ago

2018.5.3-1

6 years ago

2018.5.3-0

6 years ago

2018.5.2-0

6 years ago

2018.5.1-5

6 years ago

2018.5.1-4

6 years ago

2018.5.1-3

6 years ago

2018.5.1-2

6 years ago

2018.5.1-1

6 years ago

2018.5.1-0

6 years ago

2018.4.30-1

6 years ago

2018.4.30-0

6 years ago