You can install @carbon/upgrade in your project, or use a tool like
npx
by running the following command in your project:
npx @carbon/upgrade
Below is a full output of the options and commands available:
Usage: @carbon/upgrade [options]Commands: @carbon/upgrade upgrade upgrade your project [default] @carbon/upgrade migrate <migration> run a Carbon migration on your [paths...] source files @carbon/upgrade migrate list list all available migrationsOptions: --help Show help [boolean] --version Show version number [boolean] --force force execution if the cli encounters an error while doing safety checks [boolean] [default: false] -w, --write update the files with changes found by running the migration [boolean] [default: false] -v, --verbose optionally include additional logs, useful for debugging [boolean] [default: false]
Included within the CLI are a number of migrations available to you to be ran on
your project's source files.
Migrations are automated scripts (codemods) ran using the
jscodeshift runner, that will apply
intelligent transformations to your code.
These migrations range from simple automations like a find and replace of import
statements, to more sophisticated migrations that rewrite component prop usage,
configuration, and set up. The source of these migrations can be viewed within
the
transforms folder.
Each is tested against a series of test fixtures to ensure transforms are
predictable and consistently provide the intended output.
The output of a codemod may not match your codebase's formatting style. It is
recommended to always run the result of a codemod through an autoformatter like
Prettier.
The following codemods help you adopt changes introduced by feature flags in
preparation for Carbon v12. Each codemod transforms your code to work with
specific feature flags enabled.
If you have ideas on how we could make your migration experience easier, please
reach out by
opening a new discussion.
We're always looking for contributors to help us fix bugs, build new features,
or help us improve the project documentation. If you're interested, definitely
check out our Contributing Guide! ๐
This package uses IBM Telemetry to collect de-identified and anonymized metrics
data. By installing this package as a dependency you are agreeing to telemetry
collection. To opt out, see
Opting out of IBM Telemetry data collection.
For more information on the data being collected, please see the
IBM Telemetry documentation.