"use strict";

var xtend = require("xtend");

module.exports = {
    /**
     * Returns the rules
     *
     * @param {{}} [overwrite]
     * @returns {{}}
     */
    getRules: function (overwrite)
    {
        overwrite = overwrite || {};
        return xtend(this.rules, overwrite);
    },

    /**
     * The predefined rules
     *
     * @private
     * @type {{}}
     */
    rules: {
        //enforce
        bitwise: true,
        curly: true,
        eqeqeq: true,
        forin: true,
        freeze: true,
        funcscope: true,
        futurehostile: true,
        globalstrict: true,
        latedef: true,
        maxdepth: 5,
        maxparams: 3,
        noarg: true,
        nocomma: true,
        nonbsp: true,
        nonew: true,
        singleGroups: true,
        undef: true,
        unused: true,

        // relaxation
        eqnull: true,
        strict: true,

        // environments
        browser: true,
        browserify: true
    }
};

@@ -749,24 +749,25 @@
 : true,%0A
+%0A
         
 singleGr
@@ -762,27 +762,659 @@
     
-singleGroups: true,
+// Disable, as this may reduce readability.%0A        //%0A        // Examples:%0A        //    var change = bgChange %3E= 0 ? absoluteChange : %60-$%7BabsoluteChange%7D%60;%0A        //    vs%0A        //    var change = (bgChange %3E= 0) ? absoluteChange : %60-$%7BabsoluteChange%7D%60;%0A        //%0A        //    and%0A        //%0A        //    if (transitions.hasOwnProperty(t) && el.style%5Bt%5D !== undefined)%0A        //    vs%0A        //    if (transitions.hasOwnProperty(t) && (el.style%5Bt%5D !== undefined))%0A        //%0A        // One might argue, that the second examples improve readability, although they use technically%0A        // unnecessary grouping.%0A        singleGroups: false,%0A
 %0A   

Disable jshint linter for `singleGroups`