{
  extends: 'standard',

  env: {
    mocha: true
  },

  // Almost Standard
  rules: {
    // https://github.com/xjamundx/eslint-plugin-standard
    'standard/computed-property-even-spacing': 'off',

    // Disable: Closing curly brace does not appear on the same line as the subsequent block
    'brace-style': [2, 'stroustrup'],

    // Require or disallow trailing commas
    'comma-dangle': 'off',

    // Config: Enforce spacing around the * in generator functions
    'generator-star-spacing': [2, {'before': false, 'after': true}],

    // Config: Enforce consistent indentation
    'indent': ['error', 2, {'flatTernaryExpressions': true}],

    // Disable: More than 1 blank line not allowed
    'no-multiple-empty-lines': 'off',

    // Disable: Disallow Redeclaring Variables
    // (A bunch of vars inside `else if` blocks)
    'no-redeclare': 0,

    // Disable: Block must not be padded by blank lines
    'padded-blocks': 'off',

    // Disable: Enforce placing object properties on separate lines
    'object-property-newline': 'off',

    // Disable: Enforce consistent linebreak style for operators
    'operator-linebreak': 'off',


    // Unit Tests

    // Disable: Require Camelcase
    'camelcase': 0,

    // Disable: Enforce Callback Error Handling
    'handle-callback-err': 0,

    // Disable: Require or Disallow One Variable Declaration per Scope
    'one-var': 0,

    // Disable: Only used in one of the tests
    'node/no-deprecated-api': 0
  }
}
