Skip to content

Commit

Permalink
Merge pull request #2336 from abhishekdev/handle-react-detect-errors
Browse files Browse the repository at this point in the history
[Fix] Handle react version detect errors
  • Loading branch information
ljharb committed Jun 28, 2019
2 parents d6832d6 + 8fbf50c commit 0215c38
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
8 changes: 5 additions & 3 deletions lib/util/version.js
Expand Up @@ -20,10 +20,12 @@ function detectReactVersion() {
const react = require(reactPath); // eslint-disable-line import/no-dynamic-require
return react.version;
} catch (e) {
if (!warnedForMissingVersion && e.code === 'MODULE_NOT_FOUND') {
error('Warning: React version was set to "detect" in eslint-plugin-react settings, ' +
if (e.code === 'MODULE_NOT_FOUND') {
if (!warnedForMissingVersion) {
error('Warning: React version was set to "detect" in eslint-plugin-react settings, ' +
'but the "react" package is not installed. Assuming latest React version for linting.');
warnedForMissingVersion = true;
warnedForMissingVersion = true;
}
return '999.999.999';
}
throw e;
Expand Down
9 changes: 9 additions & 0 deletions tests/util/version.js
Expand Up @@ -44,6 +44,15 @@ describe('Version', () => {
];
});

it('warns only once for failure to detect react ', () => {
assert.equal(versionUtil.testReactVersion(context, '999.999.999'), true);
assert.equal(versionUtil.testReactVersion(context, '999.999.999'), true);

expectedErrorArgs = [
['Warning: React version was set to "detect" in eslint-plugin-react settings, but the "react" package is not installed. Assuming latest React version for linting.']
];
});

it('assumes latest version if flow-bin is not installed', () => {
assert.equal(versionUtil.testFlowVersion(context, '999.999.999'), true);

Expand Down

0 comments on commit 0215c38

Please sign in to comment.