added eslint-plugin-import with config #6446
Draft
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.
Summary
The PR introduces a eslint-plugin-import mainly for maintaining a consistent order of imports. It is the most used eslint plugin for such cases and has the greatest number of available configs. This starting configuration consists of a rule that will keep imports in this order:
builtin -> external (with imports from react-native at the top) -> internal -> parent -> sibling -> index
. Besides that, I've added rules that will prevent self imports, cycles, and useless path segments. Also, I think that it's nice to keep all imports at the top of the file and an empty line after them.Let me know what do you think about this configuration!