remove-lockfiles
Prevent committing lockfiles
Why
- Lockfiles are for apps, not for libraries/packages
- Listing lockfiles in .gitignore is considered a bad approach
- Unstaging only will introduce new problems
- Uses force-del to get rid of lockfiles
- No need to force contributors to use
npmoryarn - No need to use 2 extra dot files (
.npmrcand.yarnrc) to avoid generating lockfiles - Works on macOS, Linux, and Windows
Installation
npm install --save-dev remove-lockfilesUsage
Pre-commit hook
Install husky:
npm install husky --save-devEdit package.json to include this configuration:
{
"scripts": {
"precommit": "remove-lockfiles"
}
}Looking for alternative to husky? We can also use remove-lockfiles with pre-commit.
CLI
Install remove-lockfiles globally:
npm install --global remove-lockfilesRun the script:
$ remove-lockfiles --help
Usage
$ remove-lockfiles [path|options]
Options
--shrinkwrap Remove `npm-shrinkwrap.json` if found
Examples
$ remove-lockfiles
$ remove-lockfiles ../foo
$ remove-lockfiles --shrinkwrap
$ remove-lockfiles --shrinkwrap ../fooAPI
removeLockfiles([options])
Returns Promise<Array> of deleted lockfiles.
options
Type: Object
cwd
Type: string
Default: process.cwd()
Current working directory.
shrinkwrap
Type: boolean
Default: false
Set to true to remove npm-shrinkwrap.json.
Related
- del-nm-cli - Delete
node_modulesand lockfiles - force-del - Force delete files or folders using glob patterns
- has-lockfile - Detect lockfiles in the working directory
Contributors
Thanks goes to these people (emoji key):
Lufty Wiranda 💻 📖 🚇 |
Sindre Sorhus 💬 🤔 |
Dan Abramov 💬 🤔 |
Ade Viankakrisna Fadlil 💬 🤔 |
Jon Crenshaw 🤔 |
|---|---|---|---|---|
This project follows the all-contributors specification. Contributions of any kind welcome!
License
MIT © Lufty Wiranda