JSPM

  • Created
  • Published
  • Downloads 122
  • Score
    100M100P100Q85951F
  • License MIT

CLI to create a codemod project

Package Exports

  • @codemod-utils/cli
  • @codemod-utils/cli/dist/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@codemod-utils/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

This project uses GitHub Actions for continuous integration.

@codemod-utils/cli

CLI to create a codemod project

Usage

Step 1. Use npx to run @codemod-utils/cli.

npx @codemod-utils/cli <your-codemod-name> [options]

This will create a folder named <your-codemod-name>.

Step 2. Change to the codemod directory, then run these scripts in sequence:

# Install dependencies
pnpm install
# Commit changes
git init
git add .
git commit -m "Initial commit"
# Push changes (to a new repo)
git remote add origin git@github.com:<your-github-handle>/<your-repo-name>.git
git branch -M main
git push -u origin main

Arguments

You must pass the name of your codemod.

npx @codemod-utils/cli ember-codemod-v1-to-v2
Optional: Add more utilities

By default, @codemod-utils/cli only installs @codemod-utils/files and @codemod-utils/tests. If you need more, pass --addon and list the package names.

npx @codemod-utils/cli --addon blueprints package-json

The options are:

Optional: Specify the project root

Pass --root to run the codemod somewhere else (i.e. not in the current directory).

npx @codemod-utils/cli --root <path/to/your/project>
Optional: Create a JavaScript project

By default, @codemod-utils/cli creates a TypeScript project to help you maintain and extend the codemod. To create a JavaScript project, set --typescript to false.

npx @codemod-utils/cli --typescript false

Compatibility

  • Node.js v20 or above

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.