yarn-to-npm
v1.0.2
Published
A CLI tool to migrate projects from Yarn to npm
Downloads
17
Readme
Yarn to npm
A CLI tool that simplifies the migration of projects from Yarn to npm. This tool converts the yarn.lock
file to package-lock.json
and updates package.json
scripts to use npm commands.
Features
- Converts
yarn.lock
topackage-lock.json
using synp. - Updates
package.json
scripts to replace Yarn commands with npm equivalents. - Handles common Yarn commands like
yarn add
,yarn remove
,yarn global
, and shorthand script commands. - Supports commands that should be run directly, such as
jest
,eslint
,prettier
,tsc
, andserverless
.
Installation
You can install the CLI globally via npm:
npm install -g yarn-to-npm-cli
Usage
To migrate your project from Yarn to npm, navigate to the root of your project directory and run:
yarn-to-npm migrate
This command will:
- Convert your
yarn.lock
file to apackage-lock.json
file. - Update all
yarn
commands in yourpackage.json
scripts to their npm equivalents.
Example
Before migration:
"scripts": {
"start": "yarn start && yarn build",
"build": "yarn run build && yarn add lodash",
"test": "yarn test && yarn install",
"lint": "yarn eslint .",
"dev": "yarn run dev"
}
After migration:
"scripts": {
"start": "npm run start && npm run build",
"build": "npm run build && npm install lodash",
"test": "npm run test && npm install",
"lint": "eslint .",
"dev": "npm run dev"
}
Options
The CLI is simple to use and currently supports the following command:
migrate
: Converts theyarn.lock
file topackage-lock.json
and updatespackage.json
scripts to use npm commands.
Contributing
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- synp - for converting
yarn.lock
topackage-lock.json
. - commander.js - for providing a robust framework for building CLI tools.
- chalk - for beautiful command-line output.
Author
- Fahad Ahmad Arsal - GitHub
Feel free to reach out if you have any questions or issues! `