A gulp wrapper for Bootlint, the HTML linter for Bootstrap projects.
A gulp wrapper for Bootlint, the HTML linter for Bootstrap projects.
If you are familiar with gulp just install the plugin from npm with the following command:
npm install gulp-bootlint --save-dev
Otherwise check out the Getting Started guide of gulp first.
After installing the plugin you can create a new gulp task in your gulpfile.js
like this:
var gulp = require('gulp');
var bootlint = require('gulp-bootlint');
gulp.task('bootlint', function() {
return gulp.src('./index.html')
.pipe(bootlint());
});
You can pass the following options as a single object when calling the bootlint plugin.
Boolean
false
Stops the gulp task if there are errors in the linted file.
Boolean
false
Stops the gulp task if there are warnings in the linted file.
String[]
[]
Array of bootlint problem ID codes (as Strings
) to explicitly ignore.
Array
of LintWarning
and LintError
objects[]
All found issues (Objects of type LintWarning
and LintError
) are stored in this array.
You can access and use them after executing this module.
The classes LintWarning
and LintError
are described here https://github.com/twbs/bootlint#api-documentation.
Function
Object
file - File with linting error.Object
lint - Linting error.Boolean
isError - True if current linting problem is an error.Boolean
isWarning - True if current linting problem is a warning.Object
errorLocation - Error location in file.A function that will log out the lint errors to the console. Only use this if you want to customize how the lint errors are reported.
If desired, this can be turned off entirely by setting reportFn: false
.
Function
Object
file - File which was linted.Integer
errorCount - Total count of errors in the file.Integer
warningCount - Total count of warnings in the file.A function that will log out the final lint error/warning summary to the console. Only use this if you want to customize how this is reported.
If desired, this can be turned off entirely by setting summaryReportFn: false
.
var gulp = require('gulp');
var bootlint = require('gulp-bootlint');
gulp.task('bootlint', function () {
var fileIssues = [];
return gulp.src('./index.html')
.pipe(bootlint({
stoponerror: true,
stoponwarning: true,
disabledIds: ['W009', 'E007'],
issues: fileIssues,
reportFn: function (file, lint, isError, isWarning, errorLocation) {
var message = (isError) ? 'ERROR! - ' : 'WARN! - ';
if (errorLocation) {
message += file.path + ' (line:' + (errorLocation.line + 1) + ', col:' + (errorLocation.column + 1) + ') [' + lint.id + '] ' + lint.message;
} else {
message += file.path + ': ' + lint.id + ' ' + lint.message;
}
console.log(message);
},
summaryReportFn: function(file, errorCount, warningCount) {
if (errorCount > 0 || warningCount > 0) {
console.log('please fix the ' + errorCount + ' errors and ' + warningCount + ' warnings in ' + file.path);
} else {
console.log('No problems found in ' + file.path);
}
},
}));
});
To set the log level please use the LOG_LEVEL
environment variable before starting your gulp task:
$ LOG_LEVEL=error npm run gulp
Available log levels are listed here: https://github.com/medikoo/log#available-log-levels
merge
package to v2.1.1through2
package to v4.0.2eslint
package to v7.26.0eslint-config-gulp
package to v5.0.1mocha
package to v8.4.0vinyl
package to v2.2.1bootlint
to v1.1.0eslint-config-gulp
package to v4.0.0mocha
package to v7.1.2bootlint
to v1.0.0log
package to v6.0.0loglevel
option since it's not supported anymore by the new log
package.
To set the log level please use the LOG_LEVEL
environment variable before running your gulp task (see: https://github.com/tschortsch/gulp-bootlint#log-level).