@strapi/codemods

1.3.0 • Public • Published

@strapi/codemods

@strapi/codemods

CLI to help you migrate your Strapi applications & plugins from v3 to v4.

Features

  • Migrate a Strapi application to v4
  • Migrate a Strapi plugin to v4
  • Migrate a Strapi application or a plugin's dependecies to v4

Getting started

🖐 Requirements

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

Migrate

Usage with prompt

npx @strapi/codemods migrate

The prompt will ask you:

  • What do you want to migrate?
    • Application (migrate folder structure + dependencies)
    • Plugin (migrate folder structure + dependencies)
    • Dependencies (on migrate dependencies)
  • Where is the project located? (default: ./).
  • (plugin only) Where do you want to create the v4 plugin

Bypass the prompt

To bypass the prompts use one of the following commands:

  • Application migration
npx @strapi/codemods migrate:application <path>
  • Plugin migration
npx @strapi/codemods migrate:plugin <path> [pathForV4Plugin]

Note: if no pathForV4Plugin is provided it will be created at <path>-v4

  • Dependencies migration
npx @strapi/codemods migrate:dependencies <path>

Transform

⚠️ 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 🎉

Readme

Keywords

none

Package Sidebar

Install

npm i @strapi/codemods

Weekly Downloads

322

Version

1.3.0

License

MIT

Unpacked Size

106 kB

Total Files

102

Last publish

Collaborators

  • tdfka_rick
  • markkaylor
  • marc-roig-strapi
  • lauriejim
  • pierreburgy
  • aurelsicoko
  • alexandrebodin
  • convly
  • mcastres
  • remidej