Fixes #59 for MobX's observer and other custom HOCs that follow the most common pattern.
HOC pattern covered (simple HOCs):
export default observer(Component);
HOC patterns not covered because we would need to refactor to look for component identifiers in other argument positions (not just the first), and most likely generalize the implementation for redux's connect HOC.
Adding support for simple HOCs brings the most value because HOCs with weird implementations, such as the one with multiple parameters and the component coming last, might be rare (we have some of those in my work codebase, but we'll replace these with hooks).
As follow-up work, it might be nice to detect exported components with HOCs that aren't in the customHOCs list and raise a particular error message that tells the developer about the customHOCs setting.
Fixes #59 for MobX's
observer
and other custom HOCs that follow the most common pattern.HOC pattern covered (simple HOCs):
HOC patterns not covered because we would need to refactor to look for component identifiers in other argument positions (not just the first), and most likely generalize the implementation for redux's
connect
HOC.Adding support for simple HOCs brings the most value because HOCs with weird implementations, such as the one with multiple parameters and the component coming last, might be rare (we have some of those in my work codebase, but we'll replace these with hooks).
As follow-up work, it might be nice to detect exported components with HOCs that aren't in the
customHOCs
list and raise a particular error message that tells the developer about thecustomHOCs
setting.Thoughts? cc @ArnaudBarre