feat(build): add tslint to the build.

The first enabled rule enforces return types
declared on non-private (underscore-prefix)
methods that return something.
This commit is contained in:
Alex Eagle
2015-06-24 15:36:16 -07:00
parent d629ed7d5b
commit bc585f2724
5 changed files with 789 additions and 72 deletions

View File

@ -37,6 +37,7 @@ var replace = require('gulp-replace');
var insert = require('gulp-insert');
var uglify = require('gulp-uglify');
var shouldLog = require('./tools/build/logging');
var tslint = require('gulp-tslint');
require('./tools/check-environment')({
requiredNpmVersion: '>=2.9.0',
@ -246,6 +247,19 @@ gulp.task('enforce-format', function() {
});
});
gulp.task('lint', ['build.tools'], function() {
// https://github.com/palantir/tslint#supported-rules
var tslintConfig = {
"rules": {
"requireReturnType": true
}
};
return gulp.src(['modules/angular2/src/**/*.ts', '!modules/angular2/src/test_lib/**'])
.pipe(tslint({configuration: tslintConfig, rulesDirectory: 'dist/tools/tslint'}))
.pipe(tslint.report('prose'));
});
// ------------
// check circular dependencies in Node.js context
gulp.task('build/checkCircularDependencies', function (done) {
@ -592,7 +606,7 @@ gulp.task('pre-test-checks', function(done) {
});
gulp.task('post-test-checks', function(done) {
runSequence('enforce-format', sequenceComplete(done));
runSequence('lint', 'enforce-format', sequenceComplete(done));
});