diff --git a/build/gulpfile.hygiene.js b/build/gulpfile.hygiene.js index b064276a58b..ff2b745d94c 100644 --- a/build/gulpfile.hygiene.js +++ b/build/gulpfile.hygiene.js @@ -120,7 +120,7 @@ gulp.task('tslint', function () { .pipe(gulptslint.report(reporter, options)); }); -var hygiene = exports.hygiene = function (some) { +var hygiene = exports.hygiene = function (some, options) { var errorCount = 0; var eol = es.through(function (file) { @@ -181,7 +181,7 @@ var hygiene = exports.hygiene = function (some) { return gulp.src(some || all, { base: '.' }) .pipe(filter(function (f) { return !f.stat.isDirectory(); })) .pipe(filter(eolFilter)) - .pipe(eol) + .pipe(options.skipEOL ? es.through() : eol) .pipe(filter(indentationFilter)) .pipe(indentation) .pipe(filter(copyrightFilter)) @@ -204,21 +204,25 @@ gulp.task('hygiene', function () { // this allows us to run this as a git pre-commit hook if (require.main === module) { var cp = require('child_process'); - cp.exec('git diff --cached --name-only', function (err, out) { - if (err) { - console.error(); - console.error(err); - process.exit(1); - } + cp.exec('git config core.autocrlf', function (err, out) { + var skipEOL = out.trim() === 'true'; - var some = out - .split(/\r?\n/) - .filter(function (l) { return !!l; }); + cp.exec('git diff --cached --name-only', function (err, out) { + if (err) { + console.error(); + console.error(err); + process.exit(1); + } - hygiene(some).on('error', function (err) { - console.error(); - console.error(err); - process.exit(1); + var some = out + .split(/\r?\n/) + .filter(function (l) { return !!l; }); + + hygiene(some, { skipEOL: skipEOL }).on('error', function (err) { + console.error(); + console.error(err); + process.exit(1); + }); }); }); }