Fixed an Arcanist crash bug caused by ruleId being null #60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is an edge case while running ESlint that can cause Arcanist to crash with the following error message:
This edge case can be triggered by trying to lint a source file with a syntax error in it. That produces an ESlint JSON output where ruleId is null.
The idx function however does not fall back to using the provided default value 'unknown'.
It does actually the following: if the dictionary property value is null, and if the tested key (here ruleId) exists in the dictionary, then it returns null instead of the fallback default value.
This fix makes sure we never set a null value for the name property.
Testing
arc lint
in a local project with a modified JS source file that has a syntax error in it. Arcanist does not crash anymore with this fix