when running `tsc` on a project inited with this template (v6.9.0), the following errors are thrown:
```
node_modules/@types/node/globals.d.ts:47:11 - error TS2300: Duplicate identifier 'AbortController'.
47 interface AbortController {
~~~~~~~~~~~~~~~
node_modules/@types/react-native/globals.d.ts:435:15
435 declare class AbortController {
~~~~~~~~~~~~~~~
'AbortController' was also declared here.
node_modules/@types/node/globals.d.ts:60:11 - error TS2300: Duplicate identifier 'AbortSignal'.
60 interface AbortSignal {
~~~~~~~~~~~
node_modules/@types/react-native/globals.d.ts:400:15
400 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~
'AbortSignal' was also declared here.
node_modules/@types/node/globals.d.ts:67:13 - error TS2300: Duplicate identifier 'AbortController'.
67 declare var AbortController: {
~~~~~~~~~~~~~~~
node_modules/@types/react-native/globals.d.ts:435:15
435 declare class AbortController {
~~~~~~~~~~~~~~~
'AbortController' was also declared here.
node_modules/@types/node/globals.d.ts:72:13 - error TS2300: Duplicate identifier 'AbortSignal'.
72 declare var AbortSignal: {
~~~~~~~~~~~
node_modules/@types/react-native/globals.d.ts:400:15
400 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~
'AbortSignal' was also declared here.
node_modules/@types/react-native/globals.d.ts:400:15 - error TS2300: Duplicate identifier 'AbortSignal'.
400 declare class AbortSignal implements EventTarget {
~~~~~~~~~~~
node_modules/@types/node/globals.d.ts:60:11
60 interface AbortSignal {
~~~~~~~~~~~
'AbortSignal' was also declared here.
node_modules/@types/node/globals.d.ts:72:13
72 declare var AbortSignal: {
~~~~~~~~~~~
and here.
node_modules/@types/react-native/globals.d.ts:435:15 - error TS2300: Duplicate identifier 'AbortController'.
435 declare class AbortController {
~~~~~~~~~~~~~~~
node_modules/@types/node/globals.d.ts:47:11
47 interface AbortController {
~~~~~~~~~~~~~~~
'AbortController' was also declared here.
node_modules/@types/node/globals.d.ts:67:13
67 declare var AbortController: {
~~~~~~~~~~~~~~~
and here.
```
Setting [skipLibCheck](https://www.typescriptlang.org/tsconfig#skipLibCheck) to true avoids duplication errors and also save time during compilation
👾 React Native Template TypeScript
Clean and minimalist React Native template for a quick start with TypeScript.
⭐ Features
- Elegant usage directly within the React Native CLI
- Consistent with the default React Native template
- Minimal additional dependencies
▶️ Usage
npx react-native init MyApp --template react-native-template-typescript
Usage with older versions of React Native
e.g. react-native@0.66.x
npx react-native init MyApp --template react-native-template-typescript@6.8.*
See the below table to find out which version of the template to use.
React Native <=> Template Version
| React Native | Template |
|---|---|
| 0.67 | 6.9.* |
| 0.66 | 6.8.* |
| 0.65 | 6.7.* |
| 0.64 | 6.6.* |
| 0.63 | 6.5.* |
| 0.62 | 6.4.* |
| 0.61 | 6.3.* |
| 0.60 | 6.2.* |
⚠️ React Native CLI
This template only works with the new CLI. Make sure you have uninstalled the legacy react-native-cli first (npm uninstall -g react-native-cli) for the below command to work. If you wish to not use npx, you can also install the new CLI globally (npm i -g @react-native-community/cli or yarn global add @react-native-community/cli).
If you tried the above and still get the react-native-template-react- native-template-typescript: Not found error, please try adding the --ignore-existing flag to force npx to ignore any locally installed versions of the CLI and use the latest.
Further information can be found here: https://github.com/react-native-community/cli#about
💻 Contributing
Contributions are very welcome. Please check out the contributing document.
🔖 License
This project is MIT licensed.