declare var module: any; declare function require(name:string); declare var __filename: string; declare var __dirname: string; var gulp = require('gulp'); var $ = require('gulp-load-plugins')({ lazy: true }); var debug = require('gulp-debug'); var foreach = require('gulp-foreach'); var gutil = require('gulp-util'); var errorHandler = require('../helpers/errorHandler'); var path = require('path'); class TypeScriptLintStream { constructor(stream, tsLintRules) { if(!stream || !tsLintRules) { throw new Error('Compile TypeScript Lint setup incorrectly'); } var tslintOptions = { rulesDirectory: null, emitError: true, configuration: tsLintRules }; function filter(file) { return (!!file.path.match(/[.]ts$/) && !file.path.match(/[.]d.ts$/)); } return stream .pipe($["if"](filter, $.tslint(tslintOptions) )) .pipe($["if"](filter, $.tslint.report(errorHandler.typeScriptLintReporter) )) .on('error', errorHandler.onWarning('coffee-script-lint')) .on('error', errorHandler.onError('coffee-script-lint')); } } export = TypeScriptLintStream;