tasks/cmd.js
function processOptions(opt) {
        keys(opt).forEach(function (key) {
            var value = opt[key];
            if (typeof value === 'string') {
                opt[key] = grunt.template.process(value);
            } else if (Array.isArray(value)) {
                opt[key] = value.slice().map(function (i) {
                    return grunt.template.process(i);
                });
            }
        });
    }
function processOptions(opt) {
        keys(opt).forEach(function (key) {
            var value = opt[key];
            if (typeof value === 'string') {
                opt[key] = grunt.template.process(value);
            } else if (Array.isArray(value)) {
                opt[key] = value.slice().map(function (i) {
                    return grunt.template.process(i);
                });
            }
        });
    }
function processOptions ( opt ) { keys ( opt ) . forEach ( function ( key ) { var value = opt [ key ] ; if ( typeof value === 'string' ) { opt [ key ] = grunt . template . process ( value ) ; } else if ( Array . isArray ( value ) ) { opt [ key ] = value . slice ( ) . map ( function ( i ) { return grunt . template . process ( i ) ; } ) ; } } ) ; }
preprocess template in options default template delimiters are
preprocess template in options default template delimiters are