Skip to content

Instantly share code, notes, and snippets.

@adrianhall
Last active September 17, 2025 08:24
Show Gist options
  • Save adrianhall/70d63d225e536b4563b2 to your computer and use it in GitHub Desktop.
Save adrianhall/70d63d225e536b4563b2 to your computer and use it in GitHub Desktop.

Revisions

  1. Adrian Hall revised this gist Dec 12, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .eslintrc.js
    Original file line number Diff line number Diff line change
    @@ -190,7 +190,7 @@ module.exports = exports = {
    "operator-assignment": [ WARN, "never" ],
    "operator-linebreak": [ WARN, "after" ],
    "padded-blocks": [ WARN, "never" ],
    "quote-props": [ WARN, "always" ],
    "quote-props": [ WARN, "consistent-as-needed" ],
    "quotes": [ WARN, "single" ],
    "require-jsdoc": [ WARN, {
    "require": {
  2. Adrian Hall revised this gist Dec 12, 2015. 1 changed file with 2 additions and 7 deletions.
    9 changes: 2 additions & 7 deletions .eslintrc.js
    Original file line number Diff line number Diff line change
    @@ -2,9 +2,7 @@ var OFF = 0, WARN = 1, ERROR = 2;

    module.exports = exports = {
    "env": {
    "es6": true,
    "browser": true,
    "commonjs": true
    "es6": true
    },

    "ecmaFeatures": {
    @@ -144,8 +142,6 @@ module.exports = exports = {
    "no-var": WARN,
    "object-shorthand": [ WARN, "never" ],
    "prefer-arrow-callback": WARN,
    "prefer-const": WARN,
    "prefer-reflect": OFF,
    "prefer-spread": WARN,
    "prefer-template": WARN,
    "require-yield": ERROR,
    @@ -173,7 +169,6 @@ module.exports = exports = {
    "max-params": [ WARN, 8 ],
    "new-cap": WARN,
    "new-parens": WARN,
    "newline-after-var": WARN,
    "no-array-constructor": WARN,
    "no-bitwise": OFF,
    "no-continue": OFF,
    @@ -190,7 +185,7 @@ module.exports = exports = {
    "no-trailing-spaces": WARN,
    "no-underscore-dangle": WARN,
    "no-unneeded-ternary": WARN,
    "object-curly-spacing": WARN,
    "object-curly-spacing": [ WARN, "always" ],
    "one-var": OFF,
    "operator-assignment": [ WARN, "never" ],
    "operator-linebreak": [ WARN, "after" ],
  3. Adrian Hall revised this gist Dec 4, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion .eslintrc.js
    Original file line number Diff line number Diff line change
    @@ -201,7 +201,7 @@ module.exports = exports = {
    "require": {
    "FunctionDeclaration": true,
    "MethodDefinition": true,
    "ClassDeclaration": true
    "ClassDeclaration": false
    }
    }],
    "semi-spacing": [ WARN, { "before": false, "after": true }],
  4. Adrian Hall created this gist Dec 4, 2015.
    221 changes: 221 additions & 0 deletions .eslintrc.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,221 @@
    var OFF = 0, WARN = 1, ERROR = 2;

    module.exports = exports = {
    "env": {
    "es6": true,
    "browser": true,
    "commonjs": true
    },

    "ecmaFeatures": {
    // env=es6 doesn't include modules, which we are using
    "modules": true
    },

    "extends": "eslint:recommended",

    "rules": {
    // Possible Errors (overrides from recommended set)
    "no-extra-parens": ERROR,
    "no-unexpected-multiline": ERROR,
    // All JSDoc comments must be valid
    "valid-jsdoc": [ ERROR, {
    "requireReturn": false,
    "requireReturnDescription": false,
    "requireParamDescription": true,
    "prefer": {
    "return": "returns"
    }
    }],

    // Best Practices

    // Allowed a getter without setter, but all setters require getters
    "accessor-pairs": [ ERROR, {
    "getWithoutSet": false,
    "setWithoutGet": true
    }],
    "block-scoped-var": WARN,
    "consistent-return": ERROR,
    "curly": ERROR,
    "default-case": WARN,
    // the dot goes with the property when doing multiline
    "dot-location": [ WARN, "property" ],
    "dot-notation": WARN,
    "eqeqeq": [ ERROR, "smart" ],
    "guard-for-in": WARN,
    "no-alert": ERROR,
    "no-caller": ERROR,
    "no-case-declarations": WARN,
    "no-div-regex": WARN,
    "no-else-return": WARN,
    "no-empty-label": WARN,
    "no-empty-pattern": WARN,
    "no-eq-null": WARN,
    "no-eval": ERROR,
    "no-extend-native": ERROR,
    "no-extra-bind": WARN,
    "no-floating-decimal": WARN,
    "no-implicit-coercion": [ WARN, {
    "boolean": true,
    "number": true,
    "string": true
    }],
    "no-implied-eval": ERROR,
    "no-invalid-this": ERROR,
    "no-iterator": ERROR,
    "no-labels": WARN,
    "no-lone-blocks": WARN,
    "no-loop-func": ERROR,
    "no-magic-numbers": WARN,
    "no-multi-spaces": ERROR,
    "no-multi-str": WARN,
    "no-native-reassign": ERROR,
    "no-new-func": ERROR,
    "no-new-wrappers": ERROR,
    "no-new": ERROR,
    "no-octal-escape": ERROR,
    "no-param-reassign": ERROR,
    "no-process-env": WARN,
    "no-proto": ERROR,
    "no-redeclare": ERROR,
    "no-return-assign": ERROR,
    "no-script-url": ERROR,
    "no-self-compare": ERROR,
    "no-throw-literal": ERROR,
    "no-unused-expressions": ERROR,
    "no-useless-call": ERROR,
    "no-useless-concat": ERROR,
    "no-void": WARN,
    // Produce warnings when something is commented as TODO or FIXME
    "no-warning-comments": [ WARN, {
    "terms": [ "TODO", "FIXME" ],
    "location": "start"
    }],
    "no-with": WARN,
    "radix": WARN,
    "vars-on-top": ERROR,
    // Enforces the style of wrapped functions
    "wrap-iife": [ ERROR, "outside" ],
    "yoda": ERROR,

    // Strict Mode - for ES6, never use strict.
    "strict": [ ERROR, "never" ],

    // Variables
    "init-declarations": [ ERROR, "always" ],
    "no-catch-shadow": WARN,
    "no-delete-var": ERROR,
    "no-label-var": ERROR,
    "no-shadow-restricted-names": ERROR,
    "no-shadow": WARN,
    // We require all vars to be initialized (see init-declarations)
    // If we NEED a var to be initialized to undefined, it needs to be explicit
    "no-undef-init": OFF,
    "no-undef": ERROR,
    "no-undefined": OFF,
    "no-unused-vars": WARN,
    // Disallow hoisting - let & const don't allow hoisting anyhow
    "no-use-before-define": ERROR,

    // Node.js and CommonJS
    "callback-return": [ WARN, [ "callback", "next" ]],
    "global-require": ERROR,
    "handle-callback-err": WARN,
    "no-mixed-requires": WARN,
    "no-new-require": ERROR,
    // Use path.concat instead
    "no-path-concat": ERROR,
    "no-process-exit": ERROR,
    "no-restricted-modules": OFF,
    "no-sync": WARN,

    // ECMAScript 6 support
    "arrow-body-style": [ ERROR, "always" ],
    "arrow-parens": [ ERROR, "always" ],
    "arrow-spacing": [ ERROR, { "before": true, "after": true }],
    "constructor-super": ERROR,
    "generator-star-spacing": [ ERROR, "before" ],
    "no-arrow-condition": ERROR,
    "no-class-assign": ERROR,
    "no-const-assign": ERROR,
    "no-dupe-class-members": ERROR,
    "no-this-before-super": ERROR,
    "no-var": WARN,
    "object-shorthand": [ WARN, "never" ],
    "prefer-arrow-callback": WARN,
    "prefer-const": WARN,
    "prefer-reflect": OFF,
    "prefer-spread": WARN,
    "prefer-template": WARN,
    "require-yield": ERROR,

    // Stylistic - everything here is a warning because of style.
    "array-bracket-spacing": [ WARN, "always" ],
    "block-spacing": [ WARN, "always" ],
    "brace-style": [ WARN, "1tbs", { "allowSingleLine": false } ],
    "camelcase": WARN,
    "comma-spacing": [ WARN, { "before": false, "after": true } ],
    "comma-style": [ WARN, "last" ],
    "computed-property-spacing": [ WARN, "never" ],
    "consistent-this": [ WARN, "self" ],
    "eol-last": WARN,
    "func-names": WARN,
    "func-style": [ WARN, "declaration" ],
    "id-length": [ WARN, { "min": 2, "max": 32 } ],
    "indent": [ WARN, 4 ],
    "jsx-quotes": [ WARN, "prefer-double" ],
    "linebreak-style": [ WARN, "unix" ],
    "lines-around-comment": [ WARN, { "beforeBlockComment": true } ],
    "max-depth": [ WARN, 8 ],
    "max-len": [ WARN, 132 ],
    "max-nested-callbacks": [ WARN, 8 ],
    "max-params": [ WARN, 8 ],
    "new-cap": WARN,
    "new-parens": WARN,
    "newline-after-var": WARN,
    "no-array-constructor": WARN,
    "no-bitwise": OFF,
    "no-continue": OFF,
    "no-inline-comments": OFF,
    "no-lonely-if": WARN,
    "no-mixed-spaces-and-tabs": WARN,
    "no-multiple-empty-lines": WARN,
    "no-negated-condition": OFF,
    "no-nested-ternary": WARN,
    "no-new-object": WARN,
    "no-plusplus": OFF,
    "no-spaced-func": WARN,
    "no-ternary": OFF,
    "no-trailing-spaces": WARN,
    "no-underscore-dangle": WARN,
    "no-unneeded-ternary": WARN,
    "object-curly-spacing": WARN,
    "one-var": OFF,
    "operator-assignment": [ WARN, "never" ],
    "operator-linebreak": [ WARN, "after" ],
    "padded-blocks": [ WARN, "never" ],
    "quote-props": [ WARN, "always" ],
    "quotes": [ WARN, "single" ],
    "require-jsdoc": [ WARN, {
    "require": {
    "FunctionDeclaration": true,
    "MethodDefinition": true,
    "ClassDeclaration": true
    }
    }],
    "semi-spacing": [ WARN, { "before": false, "after": true }],
    "semi": [ ERROR, "always" ],
    "sort-vars": OFF,
    "space-after-keywords": [ WARN, "always" ],
    "space-before-blocks": [ WARN, "always" ],
    "space-before-function-paren": [ WARN, "never" ],
    "space-before-keywords": [ WARN, "always" ],
    "space-in-parens": [ WARN, "never" ],
    "space-infix-ops": [ WARN, { "int32Hint": true } ],
    "space-return-throw-case": ERROR,
    "space-unary-ops": ERROR,
    "spaced-comment": [ WARN, "always" ],
    "wrap-regex": WARN
    }
    };