{
  "requireCurlyBraces": [
    "if",
    "else",
    "for",
    "while",
    "do",
    "try",
    "catch"
  ],
  "requireOperatorBeforeLineBreak": true,
  "requireParenthesesAroundIIFE": true,
  "requireCommaBeforeLineBreak": true,
  "requireCamelCaseOrUpperCaseIdentifiers": true,
  "requireDotNotation": true,
  "requireSpacesInForStatement": true,
  "requireSpaceBetweenArguments": true,
  "maximumLineLength": {
    "value": 100,
    "tabSize": 4,
    "allExcept": ["urlComments", "regex"]
  },
  "validateQuoteMarks": { "mark": "\"", "escape": true },

  "disallowMixedSpacesAndTabs": "smart",
  "disallowTrailingWhitespace": true,
  "disallowMultipleLineStrings": true,
  "disallowTrailingComma": true,
  "disallowSpaceBeforeComma": true,
  "requireSpaceAfterComma": true,

  "requireSpaceBeforeBlockStatements": true,
  "requireSpacesInFunctionExpression": {
    "beforeOpeningCurlyBrace": true
  },
  "requireSpaceAfterKeywords": [
    "if",
    "else",
    "for",
    "while",
    "do",
    "switch",
    "return",
    "try",
    "catch"
  ],
  "requireSpacesInsideObjectBrackets": "all",
  "requireSemicolons": true,
  "requireSpaceAfterBinaryOperators": true,
  "requireLineFeedAtFileEnd": true,
  "requireSpaceBeforeBinaryOperators": [
    "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
    "&=", "|=", "^=", "+=",

    "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
    "|", "^", "&&", "||", "===", "==", ">=",
    "<=", "<", ">", "!=", "!=="
  ],
  "requireSpacesInAnonymousFunctionExpression": {
    "beforeOpeningCurlyBrace": true
  },
  "requireSpacesInNamedFunctionExpression": {
    "beforeOpeningCurlyBrace": true
  },
  "requirePaddingNewLinesBeforeLineComments": true,
  "validateLineBreaks": "LF",

  "disallowKeywords": [ "with" ],
  "disallowKeywordsOnNewLine": [ "else" ],
  "disallowSpacesInFunctionExpression": {
    "beforeOpeningRoundBrace": true
  },
  "disallowSpacesInNamedFunctionExpression": {
    "beforeOpeningRoundBrace": true
  },
  "disallowSpacesInAnonymousFunctionExpression": {
    "beforeOpeningRoundBrace": true
  },
  "disallowSpacesInCallExpression": true,
  "disallowSpaceAfterObjectKeys": true,
  "disallowSpaceAfterPrefixUnaryOperators": true,
  "disallowSpaceBeforePostfixUnaryOperators": true,
  "disallowSpaceBeforeBinaryOperators": [ "," ],
  "disallowMultipleLineBreaks": true
}
