1.0.2 • Published 1 year ago
yarn-to-npm v1.0.2
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.locktopackage-lock.jsonusing synp. - Updates
package.jsonscripts 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-cliUsage
To migrate your project from Yarn to npm, navigate to the root of your project directory and run:
yarn-to-npm migrateThis command will:
- Convert your
yarn.lockfile to apackage-lock.jsonfile. - Update all
yarncommands in yourpackage.jsonscripts 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.lockfile topackage-lock.jsonand updatespackage.jsonscripts 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.locktopackage-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! `