react/scripts/tasks/linc.js
Johnson 200db83850 lint task: update scripts/eslint.js sharing code with linc.js; (#11518)
* (build infrastructure): unify lint and linc buid task;

* Fail on warnings

* Fail on warnings
2017-11-13 17:07:35 +00:00

36 lines
911 B
JavaScript

/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
const lintOnFiles = require('../eslint');
const execFileSync = require('child_process').execFileSync;
const mergeBase = execFileSync('git', ['merge-base', 'HEAD', 'master'], {
stdio: 'pipe',
encoding: 'utf-8',
}).trim();
const changedFiles = execFileSync(
'git',
['diff', '--name-only', '--diff-filter=ACMRTUB', mergeBase],
{
stdio: 'pipe',
encoding: 'utf-8',
}
)
.trim()
.toString()
.split('\n');
const jsFiles = changedFiles.filter(file => file.match(/.js$/g));
const report = lintOnFiles(jsFiles);
if (report.errorCount > 0 || report.warningCount > 0) {
console.log('Lint failed for changed files.');
process.exit(1);
} else {
console.log('Lint passed for changed files.');
}