GeoKnow/Jassa-Core

View on GitHub
.jshintrc

Summary

Maintainability
Test Coverage
{
    // Settings
    "maxerr": 10000, // Maximum error before stopping.

    // Predefined globals whom JSHint will ignore.
    "browser": false, // Standard browser globals e.g. `window`, `document`.
    "node": true, // node predefined stuff

    "predef": [ // Custom globals.
        "module",
        "__dirname",
        "exports",
        "process",
        "require",
        "-Promise"
    ],

    // Development.
    "debug": false, // Allow debugger statements e.g. browser breakpoints.
    "devel": false, // Allow developments statements e.g. `console.log();`.

    // ECMAScript 5.
    "strict": false, // Require `use strict` pragma  in every file.
    "globalstrict": false, // Allow global "use strict" (also enables "strict").

    // The Good Parts.
    "asi": false, // Tolerate Automatic Semicolon Insertion (no semicolons).
    "laxbreak": true, // Tolerate unsafe line breaks e.g. `return [\n] x` without semicolons.
    "bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
    "boss": false, // Tolerate assignments inside if, for & while. Usually conditions & loops are for comparison, not assignments.
    "curly": true, // Require {} for every new block or scope.
    "eqeqeq": false, // Require triple equals i.e. `===`.
    "eqnull": true, // Tolerate use of `== null`.
    "evil": true, // Tolerate use of `eval`.
    "expr": false, // Tolerate `ExpressionStatement` as Programs.
    "forin": false, // Tolerate `for in` loops without `hasOwnPrototype`.
    "immed": true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
    "latedef": true, // Prohibit variable use before definition.
    "loopfunc": false, // Allow functions to be defined within loops.
    "noarg": true, // Prohibit use of `arguments.caller` and `arguments.callee`.
    "regexp": true, // Prohibit `.` and `[^...]` in regular expressions.
    "regexdash": false, // Tolerate unescaped last dash i.e. `[-...]`.
    "scripturl": false, // Tolerate script-targeted URLs.
    "shadow": false, // Allows re-define variables later in code e.g. `var x=1; x=2;`.
    "supernew": false, // Tolerate `new function () { ... };` and `new Object;`.
    "undef": true, // Require all non-global variables be declared before they are used.
    "unused": "paramsignore", // Warn about unused vars
    "freeze": true, // Prohibits overwriting prototypes of native objects

    // Personal styling preferences.
    "newcap": true, // Require capitalization of all constructor functions e.g. `new F()`.
    "noempty": true, // Prohibit use of empty blocks.
    "nonbsp": true, // Prohibit use of non-breaking space.
    "nonew": true, // Prohibit use of constructors for side-effects.
    "plusplus": false, // Prohibit use of `++` & `--`.
    "sub": false, // Tolerate all forms of subscript notation besides dot notation e.g. `dict["key"]` instead of `dict.key`.
    "trailing": true, // Prohibit trailing whitespaces.
    "indent": 4, // Specify indentation spacing
    "multistr": true, // allow multiline stirngs,
    "camelcase": false, // allow only camelCase vars
    "quotmark": true, // enforce quote consistency
    "maxparams": 10, // allow n max function params
    "maxdepth": 4 // allow max depth of functions 3
}