Building a codemod package
You can build a codemod package using three different ways:
- Build with Codemod Studio
- Scaffold a package with Codemod CLI
By building a codemod with Codemod Studio, your codemod package will automatically have the required package structure.
If you build a codemod from scratch or a previously built codemod, you will have to scaffold a valid codemod package using Codemod CLI.
Building with Codemod Studio
To learn how to build codemods with Codemod Studio, please refer to the detailed Codemod Studio usage guide.
Scaffolding a codemod package
Scaffolding a codemod package allows you to either:
- manually write your own codemod
- turn an existing codemod into a Codemod-compatible package.
To scaffold a new codemod package, you should:
Verify codemod engine compatibility
Verify that the existing codemod is built by one of the supported codemod engines.
Initialize codemod package
Initialize a Codemod-compatible package by running:
Update transform file content
For jscodeshift/ts-morph/workflow codemods:
Update the content inside the src/index.ts
file with the content of your codemod’s transform file.
For ast-grep codemods:
Update the content inside the src/rule.yaml
file with the content of your ast-grep rule.
Update package configuration file
Add information about your codemod to the .codemodrc.json
configuration file. Refer to .codemodrc.json
reference here.
Next steps
Publishing your codemod ->
Get started with publishing your codemod to Codemod Registry.