Skip to content
A React based code pattern matching library.
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
modules
resources
.babelrc
.gitignore
.npmignore
README.md
package.json

README.md

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).

You can’t perform that action at this time.