0.2.0 • Published 8 years ago

gulp-html-angular-validate v0.2.0

Weekly downloads
16
License
MIT
Repository
github
Last release
8 years ago

gulp-html-angular-validate

html-angular-validate linter plugin for Gulp.

Thanks to Nik Estep for html-angular-validate and creating the initial Gulp recipe

Installation

npm install --save-dev gulp-html-angular-validate 

Options

Uses all the default html-angular-validate options, but one has been added here to allow for custom log output if desired.

Custom Gulp Options

Name: emitError Type: boolean Default: false Description: Set this to true if you want the gulp task to emit an error when validation failure occur.

Name: errorInCallback Type: boolean Default: false Description: Set this to true if you want the gulp task's callback to return a message saying there were validation failures.

Name: reportFn Type: function Default: null Description: An optional function that takes an array of file failure objects. See below for usage. An example array of file failure objects might look like this:

[
    {
        "msg": "Start tag seen without seeing a doctype first. Expected e.g. '<!DOCTYPE html>'.",
        "line": 1,
        "col": 5
    },{
        "msg": "Element 'head' is missing a required instance of child element 'title'.",
        "line": 2,
        "col": 9
    }, {
        "msg": "Unclosed element 'div'.",
        "line": 53,
        "col": 12
    }
]

Usage

var gulp = require('gulp');
var validate = require('gulp-html-angular-validate');

gulp.task('html-lint', function () {
  var options = {
    customattrs: ['*'],
    customtags: ['*'],
    emitError: true,
    reportFn:function(fileFailures){
        for (var i = 0; i < fileFailures.length; i++) {
		    var fileResult = fileFailures[i];
		    gutil.log(fileResult.filepath);
		    for (var j = 0; j < fileResult.errors.length; j++) {
			    var err = fileResult.errors[j];
			    if (err.line !== undefined) {
				    gutil.log('[line' +err.line +', col: ' + err.col +'] ' +err.msg);
			    } else {
				    gutil.log(err.msg);
			    }
		    }
	    }
    }
  };
  gulp.src('htmlGlob')
    .pipe(validate(options));
})