This project allows you to express code patterns in the form of React components.
This is a very experimental project. Currently, this project is under heavy development but a lot can be understood from the tests.
Example
For example the following will match code that:
- Imports from 'lodash'
- Calls forEach on any identifier imported from lodash.
<Import source='lodash' > {imports => <MemberExpression name='forEach' target={getIdentifiersFromImport(imports)} > {(matches) => matches.length > 0 ? <UseES2015Each /> : null} </MemberExpression> } </Import>
Of course the patterns can be as sophisticated as you'd like them to be, and because React is awesome you can even observe changes in the code (componentDidUpdate).