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):
npx 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 |
system iOS pods cache | pod cache clean --all |
Yes | Yes | true | --keep-system-iOS-pods-cache |
user iOS pods cache | rm -rf ~/.cocoapods |
Yes | Yes | true | --keep-user-iOS-pods-cache |
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: npx react-native-clean-project --remove-iOS-build
You can also reset the Metro bundler cache when starting with react-native start --reset-cache
This library does not support windows. PR's are welcome.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Pedro Madruga - twitter
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