Cleans your React Native project by purging caches and modules, and reinstalling them again.
yarn add -D react-native-clean-project
This module is automatically detected as a plugin by the standard react-native
command, adding new sub-commands:
react-native clean-project-auto
- fully automated project state clean: like a freshly-cloned, never-started reporeact-native clean-project
- interactive project state clean: choose types of react-native state to clean
For complete control (including using command-line arguments to non-interactively fine-tune what state is cleaned):
./node_modules/.bin/react-native-clean-project
Or add it as a script to your package.json
"scripts": {
"clean": "react-native-clean-project"
}
This is a combination of the commands suggested in the React Native documentation plus others.
State Type | Command | In clean-project-auto ? |
Optional? | Default? | Option Flag |
---|---|---|---|---|---|
React-native cache | rm -rf $TMPDIR/react-* |
Yes | No | true | |
Metro bundler cache | rm -rf $TMPDIR/metro-* |
Yes | No | true | |
Watchman cache | watchman watch-del-all |
Yes | No | true | |
NPM modules | rm -rf node_modules |
Yes | Yes | true | --keep-node_modules |
Yarn cache | yarn cache clean |
Yes | Yes | true | --keep-node-modules |
Yarn packages | yarn install |
No | Yes | true | --keep-node-modules |
NPM cache | npm cache verify |
Yes | Yes | true | --keep-node-modules |
NPM Install | npm ci |
Yes | Yes | true | --keep-node-modules |
iOS build folder | rm -rf ios/build |
Yes | Yes | false | --remove-iOS-build |
iOS pods folder | rm -rf ios/pods |
Yes | Yes | false | --remove-iOS-pods |
Android build folder | rm -rf android/build |
Yes | Yes | false | --remove-android-build |
Android clean project | (cd android && ./gradlew clean) |
Yes | Yes | false | --clean-android-project |
Brew package | brew update && brew upgrade |
No | Yes | true | --keep-brew |
Pod packages | pod update |
No | Yes | true | --keep-pods |
Example: ./node_modules/.bin/react-native-clean-project --remove-iOS-build
You can also reset the Metro bundler cache when starting with react-native start --reset-cache
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Pedro Madruga - Initial work and maintenance - pmadruga
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details