Skip to content
This repository has been archived by the owner on Nov 2, 2018. It is now read-only.

A set of utility scripts, written using jscodeshift, that can be used by community members and Facebook alike to upgrade Relay APIs in an automated fashion.

License

Notifications You must be signed in to change notification settings

facebookarchive/relay-codemod

Repository files navigation

relay-codemod Build Status

This repository contains a collection of codemod scripts based for use with JSCodeshift that help update Relay APIs.

Setup & run

  • npm install -g jscodeshift
  • git clone https://github.com/relayjs/relay-codemod.git or download a zip file from https://github.com/relayjs/relay-codemod/archive/master.zip
  • jscodeshift -t <codemod-script> <file>
  • Use the -d option for a dry-run and use -p to print the output for comparison

Included scripts

upgrade-store-api-0.8

jscodeshift -t relay-codemod/transforms/upgrade-store-api-0.8.js <file>

Updates method calls on Relay.Store that were removed in Relay 0.8.0:

  • Relay.Store.update => Relay.Store.commitUpdate

upgrade-requires-1.0

jscodeshift -t relay-codemod/transforms/upgrade-requires-1.0.js <file>

Replaces requires to /classic for upgrading to 1.0.0:

  • require('react-relay') => require('react-relay/classic')
  • from 'react-relay' => from 'react-relay/classic'

migrate-to-modern-1.0

jscodeshift -t relay-codemod/transforms/migrate-to-modern-1.0.js <file>

Attempts (in a crude way) to migrate classic APIs to modern ones.

Caveats for initial version:

  • Only translates fragment containers
  • Only works if react-relay is imported/requried as "Relay"
  • Assumes object spread operator is ok to use

Recast options

Options to recast's printer can be provided through the printOptions command line argument

  • jscodeshift -t transform.js <file> --printOptions='{"quote":"double"}'

About

A set of utility scripts, written using jscodeshift, that can be used by community members and Facebook alike to upgrade Relay APIs in an automated fashion.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •