-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpackage.json
More file actions
151 lines (151 loc) · 7.29 KB
/
package.json
File metadata and controls
151 lines (151 loc) · 7.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
{
"name": "react-native-starter",
"version": "1.0.2",
"description": "Production-ready React Native starter — TypeScript (strict), feature-first architecture, theme tokens, i18n (EN/DE/RU), offline-first, pluggable transport, Biome, Jest, GitHub Actions.",
"keywords": [
"react-native",
"typescript",
"starter",
"template",
"boilerplate",
"feature-first",
"offline-first",
"react-navigation",
"tanstack-query",
"zustand",
"mmkv",
"i18n",
"biome",
"sentry"
],
"homepage": "https://github.com/maximcoding/react-native-starter#readme",
"repository": {
"type": "git",
"url": "https://github.com/maximcoding/react-native-starter.git"
},
"author": "Maxim Livshitz",
"license": "MIT",
"private": true,
"scripts": {
"start": "react-native start --reset-cache",
"env:ensure": "node scripts/ensure-env.cjs",
"ios": "node scripts/ensure-env.cjs && react-native run-ios",
"android": "node scripts/ensure-env.cjs && node scripts/wait-for-android-device.cjs && react-native run-android",
"android:devices": "adb devices",
"android:uninstall": "adb uninstall com.reactnativestarter || true",
"npx:ios": "node scripts/ensure-env.cjs && npx react-native run-ios",
"npx:android": "node scripts/ensure-env.cjs && node scripts/wait-for-android-device.cjs && npx react-native run-android",
"doctor": "npx react-native doctor",
"pod-install": "npx pod-install ios",
"lint": "biome check .",
"format": "biome check . --write",
"test": "jest",
"gen:icons": "node scripts/generate-icons.js",
"gen:app-icon": "node scripts/generate-app-icon.cjs",
"cache:clean": "npm cache clean --force",
"clean:auto": "react-native clean-project-auto",
"clean": "react-native clean-project",
"watchman:shutdown": "watchman shutdown-server",
"watchman:delete": "watchman watch-del-all",
"adb": "adb reverse tcp:9090 tcp:9090 && adb reverse tcp:3000 tcp:3000 && adb reverse tcp:9001 tcp:9001 && adb reverse tcp:8081 tcp:8081",
"release": "standard-version",
"release:patch": "npm run release -- --release-as patch",
"release:minor": "npm run release -- --release-as minor",
"release:major": "npm run release -- --release-as major",
"android:key:generate": "keytool -genkey -v -keystore maxim.keystore -alias android_key -keyalg RSA -keysize 2048 -validity 10000",
"android:key:move": "mv maxim.keystore android/app",
"android:assets": "mkdir -p android/app/src/main/assets/ && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/",
"android:build:bundle": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
"android:build:debug": "node scripts/ensure-env.cjs && cd android && ./gradlew assembleDebug && cd .. && open android/app/build/outputs/apk/debug/",
"android:build:release": "node scripts/ensure-env.cjs && cd android && ./gradlew assembleRelease && cd .. && open android/app/build/outputs/apk/release/",
"android:build:release:store": "node scripts/ensure-env.cjs && npx react-native build-android --mode=release",
"android:clean": "node scripts/ensure-env.cjs && rm -rf android/app/.cxx android/app/build android/build",
"android:clean:gradle": "node scripts/ensure-env.cjs && cd android && ./gradlew clean -x :app:externalNativeBuildCleanDebug -x :app:externalNativeBuildCleanDebugOptimized -x :app:externalNativeBuildCleanRelease && cd ..",
"gradle:wrapper": "cd android && gradle wrapper && cd ..",
"gradle:debug": "node scripts/ensure-env.cjs && cd android && ./gradlew assembleDebug && cd ..",
"gradle:stop": "cd android && ./gradlew --stop && cd ..",
"gradle:clean": "node scripts/ensure-env.cjs && rm -rf android/app/.cxx android/app/build android/build",
"gradle:clean:build": "cd android && ./gradlew cleanBuildCache && cd ..",
"debug:key": "cd android && ./gradlew signingReport && cd ..",
"reactotron:android": "adb reverse tcp:9090 tcp:9090",
"link": "npx react-native-asset",
"i18n:extract": "i18next 'App.tsx' 'src/**/*.{ts,tsx}' --config src/i18n/i18next-parser.config.cjs",
"i18n:types": "node src/i18n/generate-i18n-types.cjs",
"i18n:all": "npm run i18n:extract && npm run i18n:types",
"prepare": "husky",
"check:icons": "node scripts/check-icons-stale.js",
"check:imports": "node scripts/check-import-paths.js",
"android:rebuild": "node scripts/ensure-env.cjs && rm -rf android/app/build android/app/.cxx android/build android/.gradle && cd android && ./gradlew :app:assembleDebug && cd .. && node scripts/wait-for-android-device.cjs && npx react-native run-android",
"bootsplash:generate": "node scripts/bootsplash-generate.cjs"
},
"dependencies": {
"@react-native-clipboard/clipboard": "^1.14.1",
"@react-native-community/netinfo": "^11.4.1",
"@react-native-vector-icons/ionicons": "^12.3.0",
"@react-native/new-app-screen": "0.82.1",
"@react-navigation/bottom-tabs": "^7.8.11",
"@react-navigation/native": "^7.1.24",
"@react-navigation/native-stack": "^7.8.5",
"@sentry/react-native": "^8.5.0",
"@shopify/flash-list": "^2.2.0",
"@tanstack/react-query": "^5.90.12",
"@tanstack/react-query-persist-client": "^5.90.14",
"apisauce": "^2.1.3",
"i18next": "^25.7.1",
"i18next-resources-to-backend": "^1.2.1",
"react": "19.1.1",
"react-i18next": "^16.3.5",
"react-native": "0.82.1",
"react-native-bootsplash": "^6.3.11",
"react-native-config": "^1.6.1",
"react-native-gesture-handler": "^2.29.1",
"react-native-localize": "^3.6.0",
"react-native-mmkv": "4.3.0",
"react-native-nitro-modules": "0.35.0",
"react-native-reanimated": "^4.2.0",
"react-native-safe-area-context": "^5.6.2",
"react-native-screens": "^4.18.0",
"react-native-svg": "^15.15.1",
"react-native-svg-transformer": "^1.5.2",
"react-native-vector-icons": "^10.3.0",
"react-native-webview": "^13.16.1",
"react-native-worklet": "^0.0.0",
"react-native-worklets": "^0.7.1",
"zod": "^4.1.13",
"zustand": "^5.0.2"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/plugin-transform-export-namespace-from": "^7.27.1",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@biomejs/biome": "^2.4.8",
"@react-native-community/cli": "20.0.0",
"@react-native-community/cli-platform-android": "20.0.0",
"@react-native-community/cli-platform-ios": "20.0.0",
"@react-native/babel-preset": "0.82.1",
"@react-native/metro-config": "0.82.1",
"@react-native/typescript-config": "0.82.1",
"@types/jest": "^29.5.14",
"@types/node": "^24.10.2",
"@types/react": "^19.1.1",
"@types/react-native-vector-icons": "^6.4.18",
"@types/react-test-renderer": "^19.1.0",
"babel-plugin-module-resolver": "^5.0.2",
"husky": "^9.1.7",
"i18next-parser": "^9.3.0",
"jest": "^29.6.3",
"lint-staged": "^16.2.7",
"prettier": "^3.8.1",
"react-test-renderer": "19.1.1",
"sharp": "0.34.2",
"standard-version": "^9.5.0",
"typescript": "^5.8.3"
},
"overrides": {
"react-native-nitro-modules": "0.35.0"
},
"engines": {
"node": ">=20"
}
}