Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

Removes React.PropTypes and attempts to transform to flowtypes

License

Notifications You must be signed in to change notification settings

billyvg/codemod-proptypes-to-flow

Repository files navigation

codemod-proptypes-to-flow Build Status codecov

Removes React.PropTypes and attempts to transform to Flow.

Setup & Run

  • npm install -g jscodeshift
  • git clone https://github.com/billyvg/codemod-proptypes-to-flow
  • jscodeshift -t codemod-proptypes-to-flow/src/index.js <path>
  • Use the -d option for a dry-run and use -p to print the output for comparison

Options

Behavior of this codemod can be customized by passing options to jscodeshift e.g.:

jscodeshift -t codemod-proptypes-to-flow/src/index.js --flowComment=line <path>

Following options are accepted:

flowComment

--flowComment=<block|line> - type of flow comment. Defaults to block.

--flowComment=block:  /* @flow */
--flowComment=line:   // @flow
propsTypeSuffix

--propsTypeSuffix=<suffix> - used to customize the type names generated by the codemod. Provided string will be used alone or appended to Component's name when defining props type. Defaults to Props.

Default:

type Props = {...}
type MyComponentProps = {...}

With --propsTypeSuffix=PropsType:

type PropsType = {...}
type MyComponentPropsType = {...}

Not working/Implemented yet

  • Custom validators
  • React.createClass
  • Use of importing PropTypes

Contributors

  • Thanks to @skovhus for adding support for functional components and modernizing the codebase a bit (a lot)

About

Removes React.PropTypes and attempts to transform to flowtypes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published