Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pmadruga/react-native-clean-project
Automating the clean up of a React Native project
https://github.com/pmadruga/react-native-clean-project
react react-native reactnative
Last synced: 7 days ago
JSON representation
Automating the clean up of a React Native project
- Host: GitHub
- URL: https://github.com/pmadruga/react-native-clean-project
- Owner: pmadruga
- License: mit
- Created: 2016-12-23T21:29:36.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-28T11:46:44.000Z (about 1 year ago)
- Last Synced: 2024-12-26T16:06:31.054Z (14 days ago)
- Topics: react, react-native, reactnative
- Language: JavaScript
- Homepage:
- Size: 698 KB
- Stars: 1,215
- Watchers: 9
- Forks: 55
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# React Native Clean Project
[![npm version](https://badge.fury.io/js/react-native-clean-project.svg)](https://www.npmjs.com/package/react-native-clean-project) ![https://img.shields.io/github/license/pmadruga/react-native-clean-project.svg](https://img.shields.io/github/license/pmadruga/react-native-clean-project.svg)
[![GitHub issues](https://img.shields.io/github/issues/pmadruga/react-native-clean-project.svg)](https://github.com/pmadruga/react-native-clean-project/issues)
[![Build Status](https://travis-ci.org/pmadruga/react-native-clean-project.svg?branch=master)](https://travis-ci.org/pmadruga/react-native-clean-project)Cleans your React Native project by purging caches and modules, and reinstalling them again.
## Installing
`yarn add -D react-native-clean-project`
## Running
### React-Native CLI plugin
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 repo
- `react-native clean-project` - interactive project state clean: choose types of react-native state to clean### Direct execution
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`
```json
"scripts": {
"clean": "react-native-clean-project"
}
```## Content
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`
## Other Tips
You can also reset the Metro bundler cache when starting with `react-native start --reset-cache`
## Support
This library does not support windows. PR's are welcome.
## Contributing
Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## Authors
- **Pedro Madruga** - [twitter](https://twitter.com/pmadruga_)
See also the list of [contributors](https://github.com/pmadruga/react-native-clean-project/graphs/contributors) who participated in this project.
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details