corrade-http-templates – Rev 62

Subversion Repositories:
Rev:
module.exports = function( grunt ) {

"use strict";

grunt.registerTask( "clean", function() {
        require( "rimraf" ).sync( "dist" );
} );

grunt.registerTask( "asciilint", function() {
        var valid = true,
                files = grunt.file.expand( { filter: "isFile" }, "ui/*.js" );
        files.forEach( function( filename ) {
                var i, c,
                        text = grunt.file.read( filename );

                // Ensure files use only \n for line endings, not \r\n
                if ( /\x0d\x0a/.test( text ) ) {
                        grunt.log.error( filename + ": Incorrect line endings (\\r\\n)" );
                        valid = false;
                }

                // Ensure only ASCII chars so script tags don't need a charset attribute
                if ( text.length !== Buffer.byteLength( text, "utf8" ) ) {
                        grunt.log.error( filename + ": Non-ASCII characters detected:" );
                        for ( i = 0; i < text.length; i++ ) {
                                c = text.charCodeAt( i );
                                if ( c > 127 ) {
                                        grunt.log.error( "- position " + i + ": " + c );
                                        grunt.log.error( "-- " + text.substring( i - 20, i + 20 ) );
                                        break;
                                }
                        }
                        valid = false;
                }
        } );
        if ( valid ) {
                grunt.log.ok( files.length + " files lint free." );
        }
        return valid;
} );

};