gulp-gjslint
Gulp task for running gjslint, the Google Closure linter.
Last updated 5 years ago by tomseldon .
BSD-2-Clause · Repository · Original npm · Tarball · package.json
$ cnpm install gulp-gjslint 
SYNC missed versions from official npm registry.

gulp-gjslint

NPM version Build Status Code Climate Test Coverage

Lint Javascript using Google's Javascript linter

Install

$ npm install --save-dev gulp-gjslint

Usage

// See also: Gulpfile.example.js

var gulp = require('gulp'),
    gjslint = require('gulp-gjslint');

// Lint files and output results to the console
gulp.task('default', function() {
    return gulp.src('some/files/**/*.js')
        .pipe(gjslint())
        .pipe(gjslint.reporter('console'));
});

// Lint files, output to console and exit if
// an error is raised (useful for CI servers).
gulp.task('default', function() {
    return gulp.src('some/files/**/*.js')
        .pipe(gjslint())
        .pipe(gjslint.reporter('console'), {fail: true})
});

// Pass options to the linter
// See https://github.com/jmendiara/node-closure-linter-wrapper
var lintOptions = {flags: ['--nojsdoc', '--max_line_length 120']};
gulp.task('default', function() {
    return gulp.src('some/files/**/*.js')
        .pipe(gjslint(lintOptions))
        .pipe(gjslint.reporter('console'));
});

API

Options can be passed to the gulp-gjslint task, which will be passed directly to the gjslint library.

See the library documentation for details on what can be specified.

Note: The reporter option is disabled. Use the additional reporter tasks as shown in the examples above.

gjslint(options)

Run gjslint on each file.

Writes gjslint object to each Vinyl object, e.g.

{
    success: false,
    results: {
        errors: [
            {
                line: 1,
                code: 2
                description: 'Missing space before "{"'
            }
        ],
        total: 1,
        newErrors: 1,
        filesCount: 1,
        filesOK: 0
    }
}

gjslint.reporter(name, options)

Write reporter on each file that was processed by gjslint.

Reporter: Console

Output results to the console.

Example usage
gulp.task('lint', function() {
    var gjslint = require('gulp-gjslint'),
        lintOptions = {},
        reporterOptions = {};

    return gulp.src('./**/*.js')
        .pipe(gjslint(lintOptions))
        .pipe(gjslint.reporter('console', reporterOptions));
Default options:
{
    fail: false // If true, emits an error on failure. Useful for CI servers.
                // Note: This will cause the task to fail after the first
                // linting error.
}

Reporter: Fail

Emits an error on when processing a failed file.

Intended for use with a CI server in conjunction with another style of reporter.

Example usage
gulp.task('lint', function() {
    var gjslint = require('gulp-gjslint');

    return gulp.src('./**/*.js')
        .pipe(gjslint())
        .pipe(gjslint.reporter('console'))
        .pipe(gjslint.reporter('fail'));
});

Reporter: Jshint Adapter

Experimental adapter for using Jshint reporters. Only tested with jshint-stylish.

Format for usage is:

.pipe(gjslint.reporter('jshint', reporterFunction, reporterOptions));
Example usage
gulp.task('lint', function() {
    var gjslint = require('gulp-gjslint'),
        stylish = require('jshint-stylish').reporter,
        reporterOptions = {};

    return gulp.src('./**/*.js')
        .pipe(gjslint())
        .pipe(gjslint.reporter('jshint', stylish, reporterOptions));
});

Known issues:

  • Poor handling for when closure-linter-wrapper blows up.
  • Limitation of closure-linter-wrapper where errors are not returned when a file fails with a large number of errors. The task will still output the names of the failed file(s) and the number of errors, but not the errors themselves.

NPM

Current Tags

  • 0.1.5                                ...           latest (5 years ago)

9 Versions

  • 0.1.5                                ...           5 years ago
  • 0.1.4                                ...           6 years ago
  • 0.1.3                                ...           6 years ago
  • 0.1.2                                ...           6 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
  • 0.0.3                                ...           6 years ago
  • 0.0.2                                ...           6 years ago
  • 0.0.1                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 9
This Month 10
Last Day 9
Last Week 1
Last Month 37
Dependencies (5)
Dev Dependencies (13)
Dependents (2)

Copyright 2014 - 2017 © taobao.org |