{
  "requireCurlyBraces": [
    "try",
    "catch",
    "do"
  ],
  "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties",
  "requireCapitalizedConstructors": true,
  "maximumLineLength": {
    "value": 120,
    "allowComments": true,
    "allowRegex": true
  },
  "validateIndentation": 2,
  "validateQuoteMarks": "'",

  "disallowMultipleLineStrings": true,
  "disallowMixedSpacesAndTabs": true,
  "disallowTrailingWhitespace": true,
  "disallowQuotedKeysInObjects": true,
  "disallowSpaceAfterObjectKeys": true,

  "requireSpaceAfterKeywords": [
    "if",
    "else",
    "for",
    "while",
    "do",
    "switch",
    "return",
    "try",
    "catch",
    "function",
    "typeof"
  ],
  "requireSpaceBeforeBinaryOperators": [
    "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
    "&=", "|=", "^=", "+=",

    "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
    "|", "^", "&&", "||", "===", "==", ">=",
    "<=", "<", ">", "!=", "!=="
  ],
  "requireSpaceAfterPrefixUnaryOperators": [
    "!"
  ],
  "requireSpacesInConditionalExpression": true,
  "requireSpaceBeforeBlockStatements": true,
  "requireSpacesInForStatement": true,
  "requireLineFeedAtFileEnd": true,
  "requireSpacesInFunctionExpression": {
    "beforeOpeningCurlyBrace": true,
    "beforeOpeningRoundBrace": true
  },
  "requireSpacesInFunctionDeclaration": {
    "beforeOpeningCurlyBrace": true,
    "beforeOpeningRoundBrace": true
  },
  "requireDotNotation": true,
  "disallowSpacesInsideArrayBrackets": "all",
  "disallowSpacesInsideParentheses": true,


  "validateJSDoc": {
    "checkParamNames": true,
    "requireParamTypes": true
  },

  "disallowMultipleLineBreaks": true,
  "disallowNewlineBeforeBlockStatements": true,
  "disallowKeywords": [ "with" ],

  "excludeFiles": [
    "bower_components/**",
    "node_modules/**",
    "dist/**",
    "test/coverage/**",
    "examples/smoothscroll.min.js"
  ]
}
