This repository contains a collection of Codemods written with JSCodeshift that will help update our old, crusty JavaScript to nice, clean JavaScript.
yarn global add jscodeshiftgit clone https://github.com/shopify/shopify-codemodor download the zip filecd shopify-codemodyarn installjscodeshift -t <codemod-script> <file>- Use the
-doption for a dry-run and use-pto print the output for comparison.
The documentation for each transform can be found in the docs folder.
All code is written in ES2015+ in the transforms/ directory. Make sure to add tests for all new transforms and features. A custom transforms(fixtureName) assertion is provided which checks that the passed transformer converts the fixture found at test/fixtures/{{fixtureName}}.input.js to the one found at test/fixtures/{{fixtureName}}.output.js. You can run yarn test to run all tests, or yarn test:watch to have Mocha watch for changes and re-run the tests.
bin/create-transform your-transform-name-here creates a transform file, a test file, some empty test fixtures, and a doc file.
bin/rename-transform old-transform-name new-transform-name renames the transforms file, test file, fixture directory, and doc file.