This repository contains a collection of codemod scripts for use with JSCodeshift that help update Lingui APIs.
npx @lingui/codemods <transform> <path> [...options]
transform
- name of transform, see available transforms below.path
- files or directory to transform- use the
--dry
option for a dry-run - use
--print
to print the output for comparison - use
--remove-unused-imports
to remove unused imports once finished the codemod
This will start an interactive wizard, and then run the specified transform.
Converts some outdated standards from lingui
version 2.x.x to new features and best practices introduced in lingui
version 3.x.x
npx @lingui/codemods v2-to-v3 <path>
Converts @lingui/macro
imports to @lingui/core/macro
and @lingui/react/macro
.
npx @lingui/codemods split-macro-imports <path>
Visit the Migration guide from 4.x to 5.x for more information.
To pass more options directly to jscodeshift, use --jscodeshift="..."
. For example:
npx @lingui/codemods --jscodeshift="--run-in-band --verbose=2"
See all available options here.
Options to recast's printer can be provided
through jscodeshift's printOptions
command line argument
npx @lingui/codemods <transform> <path> --jscodeshift="--printOptions='{\"quote\":\"double\"}'"
A CLI is built-in to help you migrate your codebase, will ask you some questions:
➜ project git:(master) npx @lingui/codemods
? On which files or directory should the codemods be applied? for ex: ./src
? Which dialect of JavaScript do you use? for ex: JavaScript | Typescript | JavaScript with Flow
? Which transform would you like to apply? for ex: `v2-to-v3`
@lingui/codemods is MIT licensed.