{
  "excludeFiles": [
    "./lib/jsbn.js"
  ],
  "disallowKeywords": ["with"],
  "disallowKeywordsOnNewLine": ["else", "catch"],
  // FIXME: enable this?
  //"disallowImplicitTypeConversion": ["string"],
  "disallowMixedSpacesAndTabs": true,
  "disallowMultipleLineBreaks": true,
  // FIXME: enable this or do we prefer to
  // use w/angular directive templates?
  //"disallowMultipleLineStrings": true,
  "disallowNewlineBeforeBlockStatements": true,
  //"disallowSpaceAfterKeywords": [
  //  "if",
  //  "for",
  //  "while",
  //  "do",
  //  "switch",
  //  "catch"
  //],
  "disallowSpaceAfterObjectKeys": true,
  "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
  "disallowSpaceBeforeBinaryOperators": [","],
  "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
  "disallowSpacesInAnonymousFunctionExpression": {
    "beforeOpeningRoundBrace": true
  },
  //"disallowSpacesInCallExpression": true,
  "disallowSpacesInFunctionDeclaration": {
    "beforeOpeningRoundBrace": true
  },
  "disallowSpacesInNamedFunctionExpression": {
    "beforeOpeningRoundBrace": true
  },
  //"disallowSpacesInsideArrayBrackets": true,
  "disallowSpacesInsideParentheses": true,
  "disallowTrailingComma": true,
  "disallowTrailingWhitespace": true,
  //"maximumLineLength": {
  //  "value": 80,
  //  "allExcept": ["comments", "regex"]
  //},
  "requireCommaBeforeLineBreak": true,
  "requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"],
  "requireLineFeedAtFileEnd": true,
  "requireSemicolons": true,
  "requireSpaceAfterBinaryOperators": ["?", ":", "+", "-", "/", "*", "%", "==", "===", "!=", "!==", ">", ">=", "<", "<=", "&&", "||"],
  "requireSpaceBeforeBinaryOperators": ["?", ":", "+", "-", "/", "*", "%", "==", "===", "!=", "!==", ">", ">=", "<", "<=", "&&", "||"],
  //"requireSpaceBeforeObjectValues": true,
  "requireSpaceAfterKeywords": [
    "else",
    "do",
    "return",
    "try"
  ],
  //"requireSpaceBeforeKeywords": [
  //  "else",
  //  "while",
  //  "catch"
  //],
  "requireSpaceBeforeBlockStatements": true,
  "requireSpacesInConditionalExpression": {
    "afterTest": true,
    "beforeConsequent": true,
    "afterConsequent": true,
    "beforeAlternate": true
  },
  //"requireSpacesInForStatement": true,
  "requireSpacesInFunction": {
    "beforeOpeningCurlyBrace": true
  },
  "safeContextKeyword": "self",
  //"validateIndentation": 2,
  "validateLineBreaks": "LF",
  // FIXME: enable doc checks (update to use newer jscs jsdoc module)
  //"validateJSDoc": {
  //  "checkParamNames": true,
  //  "requireParamTypes": true
  //},
  "validateParameterSeparator": ", "
}
