Trying to get Neomake to work… … All I had to do was install it via vundle… literally no where on the internet has that… it probably has halved their star count.

Good tut on configuration

Yes, eslint has been a mystery to me. WTF is linting? It’s basically a program that reads your file and tells you when you fuck up. For instance, eslint would throw an error if I wrote the following.

Below is an example eslint file. But fuck, no one is gonna type that shit. So that’s why they give you a generator command.

$ npm install -g eslint
$ eslint --init

Here are some reasonable answers for the eslint generator.

? How would you like to configure ESLint? Answer questions about your style
? Are you using ECMAScript 6 features? Yes
? Are you using ES6 modules? Yes
? Where will your code run? Browser, Node
? Do you use CommonJS? No
? Do you use JSX? Yes
? Do you use React Yes
? What style of indentation do you use? Tabs
? What quotes do you use for strings? Single
? What line endings do you use? Unix
? Do you require semicolons? Yes
? What format do you want your config file to be in? JSON

Then it’s possible to manually eslint your javascript files like so

$ eslint src/*


$ eslint client/*

Example output

  "env": {
    "browser": true,
      "es6": true,
      "node": true
    "extends": "eslint:recommended",
    "parserOptions": {
      "ecmaFeatures": {
        "experimentalObjectRestSpread": true,
        "jsx": true
      "sourceType": "module"
    "plugins": [
    "rules": {
      "accessor-pairs": "error",
      "array-bracket-spacing": "error",
      "array-callback-return": "error",
      "arrow-body-style": "error",
      "arrow-parens": "error",
      "arrow-spacing": [
        "after": true,
        "before": true
      "block-scoped-var": "error",
      "block-spacing": "error",
      "brace-style": "error",
      "callback-return": "error",
      "camelcase": "error",
      "class-methods-use-this": "error",
      "comma-dangle": "error",
      "comma-spacing": [
        "after": true,
        "before": false
      "comma-style": "error",
      "complexity": "error",
      "computed-property-spacing": "error",
      "consistent-return": "error",
      "consistent-this": "error",
      "curly": "error",
      "default-case": "error",
      "dot-location": "error",
      "dot-notation": "error",
      "eol-last": "error",
      "eqeqeq": "error",
      "func-call-spacing": "error",
      "func-name-matching": "error",
      "func-names": "error",
      "func-style": "error",
      "generator-star-spacing": "error",
      "global-require": "error",
      "guard-for-in": "error",
      "handle-callback-err": "error",
      "id-blacklist": "error",
      "id-length": "error",
      "id-match": "error",
      "indent": "off",
      "init-declarations": "error",
      "jsx-quotes": "error",
      "key-spacing": "error",
      "keyword-spacing": "error",
      "line-comment-position": "error",
      "linebreak-style": [
      "lines-around-comment": "error",
      "lines-around-directive": "error",
      "max-depth": "error",
      "max-len": "error",
      "max-lines": "error",
      "max-nested-callbacks": "error",
      "max-params": "error",
      "max-statements": "error",
      "max-statements-per-line": "error",
      "multiline-ternary": "error",
      "new-cap": "error",
      "new-parens": "error",
      "newline-after-var": [
      "newline-before-return": "error",
      "newline-per-chained-call": "error",
      "no-alert": "error",
      "no-array-constructor": "error",
      "no-bitwise": "error",
      "no-caller": "error",
      "no-catch-shadow": "error",
      "no-confusing-arrow": "error",
      "no-continue": "error",
      "no-div-regex": "error",
      "no-duplicate-imports": "error",
      "no-else-return": "error",
      "no-empty-function": "error",
      "no-eq-null": "error",
      "no-eval": "error",
      "no-extend-native": "error",
      "no-extra-bind": "error",
      "no-extra-label": "error",
      "no-extra-parens": "error",
      "no-floating-decimal": "error",
      "no-implicit-coercion": "error",
      "no-implicit-globals": "error",
      "no-implied-eval": "error",
      "no-inline-comments": "error",
      "no-invalid-this": "error",
      "no-iterator": "error",
      "no-label-var": "error",
      "no-labels": "error",
      "no-lone-blocks": "error",
      "no-lonely-if": "error",
      "no-loop-func": "error",
      "no-magic-numbers": "off",
      "no-mixed-operators": "error",
      "no-mixed-requires": "error",
      "no-multi-spaces": "error",
      "no-multi-str": "error",
      "no-multiple-empty-lines": "error",
      "no-native-reassign": "error",
      "no-negated-condition": "error",
      "no-negated-in-lhs": "error",
      "no-nested-ternary": "error",
      "no-new": "error",
      "no-new-func": "error",
      "no-new-object": "error",
      "no-new-require": "error",
      "no-new-wrappers": "error",
      "no-octal-escape": "error",
      "no-param-reassign": [
        "props": false
      "no-path-concat": "error",
      "no-plusplus": "error",
      "no-process-env": "off",
      "no-process-exit": "error",
      "no-proto": "error",
      "no-prototype-builtins": "error",
      "no-restricted-globals": "error",
      "no-restricted-imports": "error",
      "no-restricted-modules": "error",
      "no-restricted-properties": "error",
      "no-restricted-syntax": "error",
      "no-return-assign": "error",
      "no-script-url": "error",
      "no-self-compare": "error",
      "no-sequences": "error",
      "no-shadow": "error",
      "no-shadow-restricted-names": "error",
      "no-spaced-func": "error",
      "no-sync": "error",
      "no-tabs": "error",
      "no-template-curly-in-string": "error",
      "no-ternary": "error",
      "no-throw-literal": "error",
      "no-trailing-spaces": "error",
      "no-undef-init": "error",
      "no-undefined": "error",
      "no-underscore-dangle": "error",
      "no-unmodified-loop-condition": "error",
      "no-unneeded-ternary": "error",
      "no-unused-expressions": "error",
      "no-use-before-define": "error",
      "no-useless-call": "error",
      "no-useless-computed-key": "error",
      "no-useless-concat": "error",
      "no-useless-constructor": "error",
      "no-useless-escape": "error",
      "no-useless-rename": "error",
      "no-useless-return": "error",
      "no-var": "error",
      "no-void": "error",
      "no-warning-comments": "error",
      "no-whitespace-before-property": "error",
      "no-with": "error",
      "object-curly-newline": "error",
      "object-curly-spacing": "error",
      "object-property-newline": "error",
      "object-shorthand": "error",
      "one-var": "off",
      "one-var-declaration-per-line": "error",
      "operator-assignment": "error",
      "operator-linebreak": "error",
      "padded-blocks": "off",
      "prefer-arrow-callback": "error",
      "prefer-const": "error",
      "prefer-numeric-literals": "error",
      "prefer-reflect": "error",
      "prefer-rest-params": "error",
      "prefer-spread": "error",
      "prefer-template": "error",
      "quote-props": "error",
      "quotes": [
      "radix": "error",
      "require-jsdoc": "error",
      "rest-spread-spacing": "error",
      "semi": "error",
      "semi-spacing": "error",
      "sort-imports": "error",
      "sort-keys": "error",
      "sort-vars": "error",
      "space-before-blocks": "error",
      "space-before-function-paren": "error",
      "space-in-parens": [
      "space-infix-ops": "error",
      "space-unary-ops": "error",
      "spaced-comment": "error",
      "strict": "error",
      "symbol-description": "error",
      "template-curly-spacing": [
      "unicode-bom": [
      "valid-jsdoc": "error",
      "vars-on-top": "error",
      "wrap-iife": "error",
      "wrap-regex": "error",
      "yield-star-spacing": "error",
      "yoda": "error"

Post Content