callstack / callstack/react-native-paper
Include `cross-env` as devDependency to the example project
- Dominant language
- TypeScript
- Stars
- 14.5k
- Forks
- 2.2k
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 12
Description
**Is your feature request related to a problem? Please describe.**
It's not exactly a problem, but the usage of environment variables on scripts in the example project does not work on all platforms (e.g. Windows).
**Describe the solution you'd like**
Using `cross-env` package, it would be possible to run on all environments.
**Describe alternatives you've considered**
The alternative is to manually changing the scripts to match your development platform requirements before running any command and being careful not to commit the changes.
**Additional context**
You can check the `cross-env` package on NPM [here](https://www.npmjs.com/package/cross-env). And the scripts could be changed to:
```diff
"scripts": {
"eas-build-pre-install": "cd .. && yarn",
- "start": "EXPO_NO_TYPESCRIPT_SETUP=1 expo start",
- "android": "EXPO_NO_TYPESCRIPT_SETUP=1 expo start --android",
- "android:native": "EXPO_NO_TYPESCRIPT_SETUP=1 expo run:android",
- "ios": "EXPO_NO_TYPESCRIPT_SETUP=1 expo start --ios",
- "web": "EXPO_NO_TYPESCRIPT_SETUP=1 expo start --web"
+ "start": "cross-env EXPO_NO_TYPESCRIPT_SETUP='1' expo start",
+ "android": "cross-env EXPO_NO_TYPESCRIPT_SETUP='1' expo start --android",
+ "android:native": "cross-env EXPO_NO_TYPESCRIPT_SETUP='1' expo run:android",
+ "ios": "cross-env EXPO_NO_TYPESCRIPT_SETUP='1' expo start --ios",
+ "web": "cross-env EXPO_NO_TYPESCRIPT_SETUP='1' expo start --web"
},
```
Contributor guide
Research direction
Locate the example project's package manifest and inspect the listed start, Android, iOS, and web scripts. Add the requested development dependency and verify that each affected command uses it for cross-platform environment variables.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100