iammerrick / react-sourcerer

A React based code pattern matching library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-sourcerer

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:

  1. Imports from 'lodash'
  2. 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).

About

A React based code pattern matching library.


Languages

Language:JavaScript 100.0%