@lingui/codemods v1.2.0
This repository contains a collection of codemod scripts for use with JSCodeshift that help update Lingui APIs.
Usage
npx @lingui/codemods <transform> <path> [...options]
transform- name of transform, see available transforms below.path- files or directory to transform- use the
--dryoption for a dry-run - use
--printto print the output for comparison - use
--remove-unused-importsto remove unused imports once finished the codemod
This will start an interactive wizard, and then run the specified transform.
Included Transforms
v2-to-v3
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>split-macro-imports
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.
jscodeshift options
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.
Recast Options
Options to recast's printer can be provided
through jscodeshift's printOptions command line argument
npx @lingui/codemods <transform> <path> --jscodeshift="--printOptions='{\"quote\":\"double\"}'"Usage without params
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`License
@lingui/codemods is MIT licensed.