CLI to help you migrate your Strapi applications & plugins from v3 to v4.
Before running any commands, be sure you have initialized a git repository, the working tree is clean, you've pushed your code to GitHub, and you are on a new branch.
Usage with prompt
npx @strapi/codemods migrate
The prompt will ask you:
Application
(migrate folder structure + dependencies)Plugin
(migrate folder structure + dependencies)Dependencies
(on migrate dependencies)./
).Bypass the prompt
To bypass the prompts use one of the following commands:
Application
migrationnpx @strapi/codemods migrate:application <path>
Plugin
migrationnpx @strapi/codemods migrate:plugin <path> [pathForV4Plugin]
Note: if no
pathForV4Plugin
is provided it will be created at<path>-v4
Dependencies
migrationnpx @strapi/codemods migrate:dependencies <path>
:warning: This command will modify your source code. Be sure you have initialized a git repository, the working tree is clean, you've pushed your code to GitHub, and you are on a new branch.
npx @strapi/codemods transform
The prompt will ask two questions:
What kind of transformation you want to perform:
find
-> findMany
: Change find
method to findMany
strapi-some-package
-> @strapi/some-package
: Update strapi scoped imports
.models
-> .contentTypes
: Change model getters to content types
strapi.plugins['some-plugin']
-> strapi.plugin('some-plugin')
: Update top level plugin getters
strapi.plugin('some-plugin').controllers['some-controller']
-> strapi.plugin('some-plugin').controller('some-controller')
: Use plugin getters
Add arrow function for service export
Add strapi to bootstrap function params
Where is the file(s) or folder to transform
Enjoy 🎉