{ // setup "fileExtensions": [ ".js" ], "excludeFiles": [ "./node_modules/**", "./bin", "./deps", "./docs", "./examples", "./cover_html" ], // general rules "safeContextKeyword": [ "self" ], "validateParameterSeparator": ", ", "validateQuoteMarks": { "escape": true, "mark": "'" }, // alignment rules "maximumLineLength": { "value": 80, "allowComments": false, "allowUrlComments": false, "allowRegex": false }, "validateIndentation": 4, // newline on EOF "requireLineFeedAtFileEnd": true, // disallow rules "disallowImplicitTypeConversion": [ "numeric", "boolean", "binary", "string" ], "disallowMixedSpacesAndTabs": true, "disallowMultipleVarDecl": "exceptUndefined", "disallowNewlineBeforeBlockStatements": true, "disallowOperatorBeforeLineBreak": [ "." ], "disallowQuotedKeysInObjects": true, "disallowSpaceAfterPrefixUnaryOperators": true, "disallowSpaceBeforePostfixUnaryOperators": true, "disallowSpacesInCallExpression": true, "disallowTrailingComma": true, "disallowTrailingWhitespace": true, "disallowYodaConditions": true, // require rules "requireBlocksOnNewline": true, // TODO: come back to this rule after we normalize code base // "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties", "requireCapitalizedConstructors": true, "requireCurlyBraces": [ "if", "else", "for", "while", "do", "try", "catch" ], "requireDotNotation": true, "requireLineBreakAfterVariableAssignment": true, "requirePaddingNewLinesAfterUseStrict": true, "requirePaddingNewLinesBeforeExport": true, "requirePaddingNewlinesBeforeKeywords": [ "do", "for", "if", "switch", "try", "while" ], "requireSemicolons": true, "requireSpaceAfterBinaryOperators": true, "requireSpaceAfterKeywords": true, "requireSpaceBeforeBinaryOperators": true, "requireSpaceBeforeBlockStatements": true, "requireSpaceBeforeKeywords": [ "else", "while", "catch" ], "requireSpaceBetweenArguments": true, "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true }, "requireSpacesInConditionalExpression": true, "requireSpacesInForStatement": true, "requireSpacesInFunction": { "beforeOpeningCurlyBrace": true } }