{ "env": { "node": true, "browser": true }, "globals": { "ArrayBuffer": true, "Uint8Array": true, "Float32Array": true, "Float64Array": true, "define": true, "global": true, "XMLHttpRequest": true, "Promise": true }, "parserOptions": { "ecmaVersion": 5 }, "extends": "eslint:recommended", "rules": { // Possible errors "no-extra-parens": 1, // turned on as the daily lecture "no-prototype-builtins": 1, "no-template-curly-in-string": 1, "no-unsafe-negation": 1, "valid-jsdoc": 1, // Best practices "accessor-pairs": 1, "array-callback-return": 1, "block-scoped-var": 1, "class-methods-use-this": 1, "complexity": 0, // is sometimes necessary "consistent-return": 1, "curly": 0, // sometimes more braces than code "default-case": 0, // just forces unnecessary code "dot-location": 0, // looks nicer for chainables "dot-notation": 0, // not compatible with some reserved properties "eqeqeq": 1, "guard-for-in": 1, "no-alert": 1, "no-caller": 1, "no-cond-assign": 0, "no-div-regex": 1, "no-else-return": 1, "no-empty-function": 1, "no-eq-null": 1, "no-eval": 1, "no-extend-native": 1, "no-extra-bind": 1, "no-extra-label": 1, "no-floating-decimal": 1, "no-global-assign": 1, "no-implicit-coercion": 1, "no-implicit-globals": 1, "no-implied-eval": 1, "no-invalid-this": 1, "no-iterator": 1, "no-labels": 1, "no-lone-blocks": 1, "no-loop-func": 1, "no-magic-numbers": 0, // it's actually fun to turn this on here "no-new-func": 1, "no-new-wrappers": 1, "no-new": 1, "no-octal-escape": 1, "no-param-reassign": 0, // is necessary for varargs functions "no-proto": 1, "no-restricted-properties": 1, "no-sequences": 1, "no-script-url": 1, "no-self-compare": 1, "no-throw-literal": 1, "no-unmodified-loop-condition": 1, "no-unused-expressions": 1, "no-useless-call": 1, "no-useless-concat": 1, "no-useless-escape": 1, "no-useless-return": 1, "no-void": 1, "no-warning-comments": 1, "no-with": 1, "radix": 1, "vars-on-top": 0, // makes code harder to read, not faster "wrap-iife": 0, // used frequently where polyfilling "yoda": 1, // Strict mode "strict": 1, // Variables "init-declarations": 0, // because no-undef-init is on and we actually want undefineds "no-catch-shadow": 0, // no IE8 support anyway "no-label-var": 1, "no-restricted-globals": 1, "no-return-assign": 0, // can make sense. "no-shadow-restricted-names": 1, "no-shadow": 0, // this is javascript. it has forEach and all that stuff. "no-undef-init": 1, "no-undef": 1, "no-undefined": 0, // produces shorter code when testing against this "no-use-before-define": 0, // can actually be used for a better overview, i.e. with module.exports // Node.js and CommonJS "callback-return": 1, "global-require": 0, // only way to resolve cyclic references "handle-callback-err": 1, "no-mixed-requires": 1, "no-new-require": 1, "no-path-concat": 1, "no-process-env": 1, "no-process-exit": 1, "no-restricted-modules": 1, "no-sync": 0, // for loadSync // Stylistic Issues "semi": 1, // maybe next time "no-extra-semi": 1, "quotes": 1 // useful for gzip // ECMAScript 6 // maybe next time } }