Gulp task for isort.
npm install @petervanderdoes/gulp-isort --save-dev
This plugin requires isort to be installed.
From a terminal:
python -m pip install isortvar gulp = require('gulp');
var gulpIsort = require('gulp-isort');
gulp.task('isort', function () {
return gulp.src('**/*')
.pipe(gulpIsort())
.pipe(gulpIsort.reporter())
.pipe(gulpIsort.failAfterError());
});Type: String
The format of the report. The plugin comes with three build-in options:
- default
- fancy
- verbose
Default is default
Only display errors.
Example:
stuff
.pipe(gulpIsort())
.pipe(gulpIsort.reporter())Example Output:
manage.py: Imports are incorrectly sorted.
wger/exercises/views/categories.py: Imports are incorrectly sorted.
wger/exercises/views/comments.py: Imports are incorrectly sorted.
wger/exercises/views/equipment.py: Imports are incorrectly sorted.
A colored output which displays error only. If a file has multiple errors, the filename is only displayed on the first error.
Example:
stuff
.pipe(gulpIsort())
.pipe(gulpIsort.reporter('fancy'))Example output:
manage.py: Imports are incorrectly sorted.
wger/exercises/views/categories.py: Imports are incorrectly sorted.
wger/exercises/views/comments.py: Imports are incorrectly sorted.
wger/exercises/views/equipment.py: Imports are incorrectly sorted.
Displays all messages from isort but gulp only stops linting if there are isort errors.
Example:
stuff
.pipe(gulpIsort())
.pipe(gulpIsort.reporter('verbose'))Example output:
manage.py: Imports are incorrectly sorted.
wger/exercises/views/categories.py: Imports are incorrectly sorted.
wger/exercises/views/comments.py: Imports are incorrectly sorted.
wger/exercises/views/equipment.py: Imports are incorrectly sorted.
Stop a task/stream if a gulpIsort error has been reported for any file.
gulp.task('lint-python', function () {
return gulp.src('**/*py')
.pipe(gulpIsort())
.pipe(gulpIsort.failAfterError());
});Type: Object
The following properties are set to the result object:
result.gulpIsort.success = true; // or false
result.gulpIsort.errorCount = 0; // number of errors returned by isort
result.gulpIsort.errorList = []; // isort errors
result.gulpIsort.infoList = []; // isort messages and warningsThe objects in errorList and infoList all have the following properties
result.gulpIsort.errorList = [{
'filename': 'full path of the filename',
'reason': 'a description of the error'
}]
result.gulpIsort.infoList = [{
'filename': 'full path of the filename',
'reason': 'a description of the error'
}]Custom reporter functions can be passed as gulpIsort.reporter(reporterFunc).
The reporter function will be called for each linted file that includes
an error or warning and will be passed the result object as described above.
var gulpIsort = require('@petervanderdoes/gulp-isort');
var gulp = require('gulp');
var gulpUtil = require('gulp-util');
var myReporter = function(file) {
gulpUtil.log(result.gulpIsort.errorCount + ' errors');
};
gulp.task('lint', function() {
return gulp.src('*.py')
.pipe(gulpIsort())
.pipe(gulpIsort.reporter(myReporter));
});See src/reports.js for more detailed examples.