com.cprot.ead 1.0.5764 → 1.0.6788
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/android/build.gradle
CHANGED
|
@@ -1,39 +1,30 @@
|
|
|
1
1
|
package com.cproteadmodule
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import com.facebook.react.bridge.ReactMethod
|
|
6
|
-
import com.facebook.react.bridge.Promise
|
|
7
|
-
|
|
3
|
+
import android.telephony.TelephonyManager
|
|
4
|
+
import android.util.Log
|
|
8
5
|
import com.cprot.ead.CProtEadModule
|
|
9
6
|
import com.cprot.ead.helpers.HttpsHelper
|
|
10
|
-
import com.cprot.ead.helpers.ConstantHelper
|
|
11
7
|
import com.cprot.ead.models.DeepblackInfo
|
|
12
8
|
import com.cprot.ead.models.ICProtEvent
|
|
13
9
|
import com.cprot.ead.models.IncomingNumber
|
|
14
10
|
import com.cprot.ead.models.InfectedApp
|
|
15
11
|
import com.cprot.ead.models.Language
|
|
12
|
+
import com.cprot.ead.models.MalwareEntry
|
|
16
13
|
import com.cprot.ead.models.OverlayApp
|
|
17
|
-
import android.telephony.TelephonyManager
|
|
18
|
-
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
19
|
-
import java.util.ArrayList
|
|
20
|
-
import android.os.Environment
|
|
21
|
-
import android.provider.Settings
|
|
22
|
-
import com.cproteadmodule.UninstallHandler
|
|
23
14
|
import com.cprot.ead.models.SecurityFeatureCheck
|
|
24
15
|
import com.cprot.ead.models.UpdateStatus
|
|
25
|
-
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import androidx.core.content.ContextCompat
|
|
30
|
-
import java.util.Date
|
|
31
|
-
import java.text.SimpleDateFormat
|
|
32
|
-
import java.util.Locale
|
|
33
|
-
|
|
16
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
17
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
18
|
+
import com.facebook.react.bridge.ReactMethod
|
|
19
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
34
20
|
import kotlinx.coroutines.CoroutineScope
|
|
35
21
|
import kotlinx.coroutines.Dispatchers
|
|
36
22
|
import kotlinx.coroutines.launch
|
|
23
|
+
import java.text.SimpleDateFormat
|
|
24
|
+
import java.util.ArrayList
|
|
25
|
+
import java.util.Date
|
|
26
|
+
import java.util.Locale
|
|
27
|
+
import java.lang.StringBuilder
|
|
37
28
|
|
|
38
29
|
class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
39
30
|
ReactContextBaseJavaModule(reactContext), ICProtEvent {
|
|
@@ -93,7 +84,7 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
93
84
|
it.setIncomingCallEnabled(value);
|
|
94
85
|
}
|
|
95
86
|
}
|
|
96
|
-
}
|
|
87
|
+
}
|
|
97
88
|
|
|
98
89
|
@ReactMethod
|
|
99
90
|
fun addEvent() {
|
|
@@ -104,7 +95,7 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
104
95
|
}
|
|
105
96
|
}
|
|
106
97
|
}
|
|
107
|
-
|
|
98
|
+
|
|
108
99
|
@ReactMethod
|
|
109
100
|
fun setScreenModule(value: Boolean) {
|
|
110
101
|
val currentActivity = reactApplicationContext.currentActivity
|
|
@@ -116,49 +107,61 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
116
107
|
}
|
|
117
108
|
}
|
|
118
109
|
}
|
|
119
|
-
|
|
110
|
+
|
|
111
|
+
@ReactMethod
|
|
112
|
+
fun setVirtualTouchDetection(value: Boolean) {
|
|
113
|
+
val currentActivity = reactApplicationContext.currentActivity
|
|
114
|
+
module?.let {
|
|
115
|
+
if (currentActivity != null) {
|
|
116
|
+
CoroutineScope(Dispatchers.Main).launch {
|
|
117
|
+
it.setVirtualTouchDetection(currentActivity, value)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
120
123
|
@ReactMethod
|
|
121
124
|
fun setUserId(userId: String) {
|
|
122
125
|
module?.let {
|
|
123
126
|
it.setUserId(userId)
|
|
124
127
|
}
|
|
125
128
|
}
|
|
126
|
-
|
|
129
|
+
|
|
127
130
|
@ReactMethod
|
|
128
131
|
fun setNoHistoryOnThreatDetection(value: Boolean) {
|
|
129
132
|
module?.let {
|
|
130
133
|
it.setNoHistoryOnThreatDetection(value)
|
|
131
134
|
}
|
|
132
135
|
}
|
|
133
|
-
|
|
136
|
+
|
|
134
137
|
@ReactMethod
|
|
135
138
|
fun showThreatDetectionScreenWithoutPermission(value: Boolean) {
|
|
136
139
|
module?.let {
|
|
137
140
|
it.showThreatDetectionScreenWithoutPermission(value)
|
|
138
141
|
}
|
|
139
142
|
}
|
|
140
|
-
|
|
143
|
+
|
|
141
144
|
@ReactMethod
|
|
142
145
|
fun startConnection() {
|
|
143
146
|
module?.let {
|
|
144
147
|
it.startConnection()
|
|
145
148
|
}
|
|
146
149
|
}
|
|
147
|
-
|
|
150
|
+
|
|
148
151
|
@ReactMethod
|
|
149
152
|
fun startRealtime() {
|
|
150
153
|
module?.let {
|
|
151
154
|
it.startRealtime()
|
|
152
155
|
}
|
|
153
156
|
}
|
|
154
|
-
|
|
157
|
+
|
|
155
158
|
@ReactMethod
|
|
156
159
|
fun enableDeviceProtection(value: Boolean) {
|
|
157
160
|
module?.let {
|
|
158
161
|
it.enableDeviceProtection(value)
|
|
159
162
|
}
|
|
160
163
|
}
|
|
161
|
-
|
|
164
|
+
|
|
162
165
|
@ReactMethod
|
|
163
166
|
fun setLanguage(languageCode: Int) {
|
|
164
167
|
module?.let {
|
|
@@ -178,49 +181,49 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
178
181
|
it.isDeviceProtectionEnabled()
|
|
179
182
|
} ?: false
|
|
180
183
|
}
|
|
181
|
-
|
|
184
|
+
|
|
182
185
|
@ReactMethod
|
|
183
186
|
fun reInitRegister() {
|
|
184
187
|
module?.let {
|
|
185
188
|
it.reInitRegister()
|
|
186
189
|
}
|
|
187
190
|
}
|
|
188
|
-
|
|
191
|
+
|
|
189
192
|
@ReactMethod
|
|
190
193
|
fun getSslCertHash(): String? {
|
|
191
194
|
return module?.let {
|
|
192
195
|
it.getSslCertHash()
|
|
193
196
|
} ?: ""
|
|
194
197
|
}
|
|
195
|
-
|
|
198
|
+
|
|
196
199
|
@ReactMethod
|
|
197
200
|
fun getDeviceFingerprint(): String? {
|
|
198
201
|
return module?.let {
|
|
199
202
|
it.getDeviceFingerprint()
|
|
200
203
|
} ?: ""
|
|
201
204
|
}
|
|
202
|
-
|
|
205
|
+
|
|
203
206
|
@ReactMethod
|
|
204
207
|
fun isRunInEmulator(): Boolean {
|
|
205
208
|
return module?.let {
|
|
206
209
|
it.isRunInEmulator()
|
|
207
210
|
} ?: false
|
|
208
211
|
}
|
|
209
|
-
|
|
212
|
+
|
|
210
213
|
@ReactMethod
|
|
211
214
|
fun isRootedDevice(): Boolean {
|
|
212
215
|
return module?.let {
|
|
213
216
|
it.isRootedDevice()
|
|
214
217
|
} ?: false
|
|
215
218
|
}
|
|
216
|
-
|
|
219
|
+
|
|
217
220
|
@ReactMethod
|
|
218
221
|
fun isFingerprintChanged(): Boolean {
|
|
219
222
|
return module?.let {
|
|
220
223
|
it.isFingerprintChanged()
|
|
221
224
|
} ?: false
|
|
222
225
|
}
|
|
223
|
-
|
|
226
|
+
|
|
224
227
|
@ReactMethod
|
|
225
228
|
fun getSignatures(): ArrayList<String>? {
|
|
226
229
|
return module?.let {
|
|
@@ -228,11 +231,11 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
228
231
|
ArrayList(it.getSignatures(reactApplicationContext).toList())
|
|
229
232
|
} catch (e: Exception) {
|
|
230
233
|
e.printStackTrace()
|
|
231
|
-
null
|
|
234
|
+
null
|
|
232
235
|
}
|
|
233
236
|
} ?: ArrayList()
|
|
234
237
|
}
|
|
235
|
-
|
|
238
|
+
|
|
236
239
|
@ReactMethod
|
|
237
240
|
fun getDexCRC(): Long {
|
|
238
241
|
return module?.let {
|
|
@@ -244,14 +247,45 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
244
247
|
}
|
|
245
248
|
} ?: -1L // Module null ise -1 döndürülür
|
|
246
249
|
}
|
|
247
|
-
|
|
250
|
+
|
|
248
251
|
@ReactMethod
|
|
249
|
-
fun getSecurityFeatureChecks():
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
252
|
+
fun getSecurityFeatureChecks(): String? {
|
|
253
|
+
return module?.let {
|
|
254
|
+
val securityCheck = it.getSecurityFeatureChecks() ?: return@let null
|
|
255
|
+
val sb = StringBuilder()
|
|
256
|
+
|
|
257
|
+
sb.append("{")
|
|
258
|
+
sb.append("\"isMalwareDetected\":").append(securityCheck.isMalwareDetected()).append(",")
|
|
259
|
+
sb.append("\"isDebuggerDetected\":").append(securityCheck.isDebuggerDetected()).append(",")
|
|
260
|
+
sb.append("\"isEmulationDetected\":").append(securityCheck.isEmulationDetected()).append(",")
|
|
261
|
+
sb.append("\"emulationDetectionDescription\":").append("\"").append(securityCheck.getEmulationDetectionDescription()).append("\"").append(",")
|
|
262
|
+
sb.append("\"isRootDetected\":").append(securityCheck.isRootDetected()).append(",")
|
|
263
|
+
sb.append("\"rootDetectionDescription\":").append("\"").append(securityCheck.getRootDetectionDescription()).append("\"").append(",")
|
|
264
|
+
//sb.append("\"isIntegrityBroken\":").append(securityCheck.isIntegrityBroken()).append(",")
|
|
265
|
+
sb.append("\"isFingerprintChanged\":").append(securityCheck.isFingerprintChanged()).append(",")
|
|
266
|
+
sb.append("\"isScreenReaderAppsDetected\":").append(securityCheck.isScreenReaderAppsDetected()).append(",")
|
|
267
|
+
sb.append("\"isOverlayedAppsDetected\":").append(securityCheck.isOverlayedAppsDetected()).append(",")
|
|
268
|
+
sb.append("\"isDevModeEnabled\":").append(securityCheck.isDevModeEnabled()).append(",")
|
|
269
|
+
sb.append("\"factoryResetTime\":").append(securityCheck.getFactoryResetTime() ?: "null").append(",")
|
|
270
|
+
sb.append("\"isVpnActive\":").append(securityCheck.getIsVpnActive()).append(",")
|
|
271
|
+
sb.append("\"isDefaultSmsAppChanged\":").append(securityCheck.isDefaultSmsAppChanged()).append(",")
|
|
272
|
+
sb.append("\"isSimChanged\":").append(securityCheck.isSimChanged()).append(",")
|
|
273
|
+
sb.append("\"isProxyActive\":").append(securityCheck.isProxyActive()).append(",")
|
|
274
|
+
sb.append("\"isMockLocation\":").append(securityCheck.isMockLocation()).append(",")
|
|
275
|
+
//sb.append("\"isKeyloggerDetected\":").append(securityCheck.isKeyloggerDetected()).append(",")
|
|
276
|
+
sb.append("\"isVirtualTouch\":").append(securityCheck.isVirtualTouch()).append(",")
|
|
277
|
+
sb.append("\"isCallForwardActive\":").append(securityCheck.isCallForwardActive())
|
|
278
|
+
sb.append("}")
|
|
279
|
+
|
|
280
|
+
val jsonString = sb.toString()
|
|
281
|
+
sendLogEvent(jsonString)
|
|
282
|
+
jsonString
|
|
283
|
+
} ?: run {
|
|
284
|
+
sendLogEvent("Security check module is null")
|
|
285
|
+
null
|
|
286
|
+
}
|
|
253
287
|
}
|
|
254
|
-
|
|
288
|
+
|
|
255
289
|
@ReactMethod
|
|
256
290
|
fun getLastScanTime(): String? {
|
|
257
291
|
return module?.let {
|
|
@@ -260,14 +294,13 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
260
294
|
dateFormat.format(lastScanTime) // Tarihi String formatına çevirir
|
|
261
295
|
} ?: "" // Module null ise boş string döndürülür
|
|
262
296
|
}
|
|
263
|
-
|
|
297
|
+
|
|
264
298
|
@ReactMethod
|
|
265
299
|
fun getUpdateStatus(): UpdateStatus? {
|
|
266
300
|
return module?.let {
|
|
267
301
|
it.getUpdateStatus()
|
|
268
302
|
} ?: null // Module null ise null döndürülür
|
|
269
303
|
}
|
|
270
|
-
|
|
271
304
|
|
|
272
305
|
//Send log message when ovveride functions worked.
|
|
273
306
|
private fun sendLogEvent(message: String) {
|
|
@@ -292,8 +325,10 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
292
325
|
sendLogEvent("Register fail: $message")
|
|
293
326
|
}
|
|
294
327
|
|
|
295
|
-
override fun onRunningInEmulator(value: Boolean) {
|
|
296
|
-
|
|
328
|
+
override fun onRunningInEmulator(value: Boolean, description: String) {
|
|
329
|
+
sendLogEvent("Run in emulator: $value")
|
|
330
|
+
val output: String = if (description.isEmpty()) "Tespit edilemedi" else description
|
|
331
|
+
sendLogEvent("Run in emulator description: $output")
|
|
297
332
|
}
|
|
298
333
|
|
|
299
334
|
override fun onIntegrityCheck(b: Boolean) {
|
|
@@ -304,50 +339,62 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
304
339
|
sendLogEvent("Keyloggers detected: $p0")
|
|
305
340
|
}
|
|
306
341
|
|
|
307
|
-
override fun onRootedDeviceDetected(value: Boolean) {
|
|
308
|
-
|
|
342
|
+
override fun onRootedDeviceDetected(value: Boolean, description: String) {
|
|
343
|
+
sendLogEvent("Rooted device detected: $value")
|
|
344
|
+
val output: String = if (description.isEmpty()) "Tespit edilemedi" else description
|
|
345
|
+
sendLogEvent("Rooted device description: $output")
|
|
309
346
|
}
|
|
310
347
|
|
|
311
348
|
override fun onThreatDetected(infectedApps: ArrayList<InfectedApp>) {
|
|
312
|
-
|
|
349
|
+
sendLogEvent("Threat detected: $infectedApps")
|
|
350
|
+
|
|
351
|
+
if (ConstHelper.DetectedThreats == null) {
|
|
352
|
+
ConstHelper.DetectedThreats = ArrayList<String>()
|
|
353
|
+
}
|
|
313
354
|
|
|
314
|
-
|
|
315
|
-
|
|
355
|
+
for (infectedApp in infectedApps) {
|
|
356
|
+
if (ConstHelper.DetectedThreats.contains(infectedApp.getPackageName())) {
|
|
357
|
+
continue
|
|
316
358
|
}
|
|
317
359
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
360
|
+
if (infectedApp.getPackageName() != null) {
|
|
361
|
+
val detectedTypes = StringBuilder()
|
|
362
|
+
val malwareEntries: ArrayList<MalwareEntry>? = infectedApp.getMalwareTypes()
|
|
363
|
+
|
|
364
|
+
if (malwareEntries != null && malwareEntries.isNotEmpty()) {
|
|
365
|
+
for (entry in malwareEntries) {
|
|
366
|
+
detectedTypes.append(entry.getMalwareType().name)
|
|
367
|
+
.append(" - ").append("%")
|
|
368
|
+
.append(String.format(Locale.US, "%.2f", entry.getPercentage()))
|
|
369
|
+
.append(", ")
|
|
321
370
|
}
|
|
371
|
+
}
|
|
322
372
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
getCurrentActivity() ?: reactApplicationContext,
|
|
329
|
-
infectedApp.getName(),
|
|
330
|
-
infectedApp.getPackageName(),
|
|
331
|
-
infectedApp.getVersion(),
|
|
332
|
-
infectedApp.getThreatName()
|
|
333
|
-
)
|
|
334
|
-
|
|
335
|
-
CoroutineScope(Dispatchers.Main).launch {
|
|
336
|
-
try {
|
|
337
|
-
uninstallHandler.showDialog()
|
|
338
|
-
sendLogEvent("Uninstall dialog shown for ${infectedApp.getPackageName()}")
|
|
339
|
-
} catch (e: Exception) {
|
|
340
|
-
sendLogEvent("Error showing uninstall dialog: ${e.message}")
|
|
341
|
-
}
|
|
342
|
-
}
|
|
373
|
+
if (!infectedApp.getPackageName().isNullOrEmpty()) {
|
|
374
|
+
sendLogEvent("Threat detected: ${infectedApp.getPackageName()} - ${infectedApp.getThreatName()} - [${detectedTypes}]")
|
|
375
|
+
} else {
|
|
376
|
+
sendLogEvent("Threat detected: ${infectedApp.getThreatName()} - ${infectedApp.getName()}")
|
|
377
|
+
}
|
|
343
378
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
379
|
+
CoroutineScope(Dispatchers.Main).launch {
|
|
380
|
+
try {
|
|
381
|
+
val uninstallHandler = UninstallHandler(
|
|
382
|
+
context = reactApplicationContext,
|
|
383
|
+
installedAppName = infectedApp.getName() ?: "Unknown App",
|
|
384
|
+
installedAppPackageName = infectedApp.getPackageName(),
|
|
385
|
+
installedAppVersion = infectedApp.getVersion() ?: "Unknown Version",
|
|
386
|
+
threatName = infectedApp.getThreatName() ?: "Unknown Threat"
|
|
387
|
+
)
|
|
388
|
+
uninstallHandler.showDialog()
|
|
389
|
+
sendLogEvent("Uninstall dialog shown for ${infectedApp.getPackageName()}")
|
|
390
|
+
} catch (e: Exception) {
|
|
391
|
+
sendLogEvent("Error showing uninstall dialog: ${e.message}")
|
|
347
392
|
}
|
|
348
|
-
|
|
349
|
-
|
|
393
|
+
}
|
|
394
|
+
} else {
|
|
395
|
+
sendLogEvent("Threat detected: ${infectedApp.getName()} - ${infectedApp.getThreatName()}")
|
|
350
396
|
}
|
|
397
|
+
}
|
|
351
398
|
}
|
|
352
399
|
|
|
353
400
|
override fun onIncomingCall(state: Int, phoneNumber: String?, incomingNumber: IncomingNumber?) {
|
|
@@ -361,7 +408,7 @@ class CProtEadModuleModule(reactContext: ReactApplicationContext) :
|
|
|
361
408
|
if (incomingNumber != null) {
|
|
362
409
|
isSpam = incomingNumber.isSpam
|
|
363
410
|
}
|
|
364
|
-
|
|
411
|
+
|
|
365
412
|
sendLogEvent("Incoming Call detected: $phoneNumber -> Is Spam: $isSpam")
|
|
366
413
|
}
|
|
367
414
|
|
package/package.json
CHANGED
|
@@ -1,179 +1,191 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "com.cprot.ead",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "c-prot ead android module",
|
|
5
|
-
"source": "./src/index.tsx",
|
|
6
|
-
"main": "
|
|
7
|
-
"module": "
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": {
|
|
11
|
-
"types": "./lib/typescript/module/src/index.d.ts",
|
|
12
|
-
"default": "./lib/module/index.js"
|
|
13
|
-
},
|
|
14
|
-
"require": {
|
|
15
|
-
"types": "./lib/typescript/commonjs/src/index.d.ts",
|
|
16
|
-
"default": "./lib/commonjs/index.js"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"files": [
|
|
21
|
-
"src",
|
|
22
|
-
"lib",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"!
|
|
28
|
-
"!android/
|
|
29
|
-
"!android/
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"!**/.*"
|
|
34
|
-
],
|
|
35
|
-
"scripts": {
|
|
36
|
-
"example": "yarn workspace c-prot-ead-module-example",
|
|
37
|
-
"test": "jest",
|
|
38
|
-
"typecheck": "tsc",
|
|
39
|
-
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
40
|
-
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
41
|
-
"prepare": "bob build",
|
|
42
|
-
"release": "release-it"
|
|
43
|
-
},
|
|
44
|
-
"keywords": [
|
|
45
|
-
"react-native",
|
|
46
|
-
"android"
|
|
47
|
-
],
|
|
48
|
-
"author": "C-Prot",
|
|
49
|
-
"license": "MIT",
|
|
50
|
-
"bugs": {
|
|
51
|
-
"url": "https://www.npmjs.com/issues"
|
|
52
|
-
},
|
|
53
|
-
"homepage": "https://www.npmjs.com#readme",
|
|
54
|
-
"publishConfig": {
|
|
55
|
-
"registry": "https://registry.npmjs.org/"
|
|
56
|
-
},
|
|
57
|
-
"devDependencies": {
|
|
58
|
-
"@commitlint/config-conventional": "^17.0.2",
|
|
59
|
-
"@evilmartians/lefthook": "^1.5.0",
|
|
60
|
-
"@react-native/
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@types/
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"eslint
|
|
68
|
-
"eslint-
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"react
|
|
73
|
-
"react-native
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"react
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
"
|
|
92
|
-
|
|
93
|
-
"<rootDir>/
|
|
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
|
-
"
|
|
152
|
-
"
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
"
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
"
|
|
177
|
-
"
|
|
178
|
-
|
|
179
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "com.cprot.ead",
|
|
3
|
+
"version": "1.0.6788",
|
|
4
|
+
"description": "c-prot ead android module",
|
|
5
|
+
"source": "./src/index.tsx",
|
|
6
|
+
"main": "lib/commonjs/index.js",
|
|
7
|
+
"module": "lib/module/index.js",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./lib/typescript/module/src/index.d.ts",
|
|
12
|
+
"default": "./lib/module/index.js"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./lib/typescript/commonjs/src/index.d.ts",
|
|
16
|
+
"default": "./lib/commonjs/index.js"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"src",
|
|
22
|
+
"lib",
|
|
23
|
+
"!**/__tests__",
|
|
24
|
+
"!**/__fixtures__",
|
|
25
|
+
"!**/__mocks__",
|
|
26
|
+
"android",
|
|
27
|
+
"!ios/build",
|
|
28
|
+
"!android/build",
|
|
29
|
+
"!android/gradle",
|
|
30
|
+
"!android/gradlew",
|
|
31
|
+
"!android/gradlew.bat",
|
|
32
|
+
"!android/local.properties",
|
|
33
|
+
"!**/.*"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"example": "yarn workspace c-prot-ead-module-example",
|
|
37
|
+
"test": "jest",
|
|
38
|
+
"typecheck": "tsc",
|
|
39
|
+
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
40
|
+
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
41
|
+
"prepare": "bob build",
|
|
42
|
+
"release": "release-it"
|
|
43
|
+
},
|
|
44
|
+
"keywords": [
|
|
45
|
+
"react-native",
|
|
46
|
+
"android"
|
|
47
|
+
],
|
|
48
|
+
"author": "C-Prot",
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"bugs": {
|
|
51
|
+
"url": "https://www.npmjs.com/issues"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://www.npmjs.com#readme",
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"registry": "https://registry.npmjs.org/"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@commitlint/config-conventional": "^17.0.2",
|
|
59
|
+
"@evilmartians/lefthook": "^1.5.0",
|
|
60
|
+
"@react-native-community/bob": "^0.17.1",
|
|
61
|
+
"@react-native/eslint-config": "0.74.0",
|
|
62
|
+
"@release-it/conventional-changelog": "^5.0.0",
|
|
63
|
+
"@types/jest": "^29.5.5",
|
|
64
|
+
"@types/react": "^18.2.6",
|
|
65
|
+
"commitlint": "^17.0.2",
|
|
66
|
+
"del-cli": "^5.1.0",
|
|
67
|
+
"eslint": "^8.51.0",
|
|
68
|
+
"eslint-config-prettier": "^9.0.0",
|
|
69
|
+
"eslint-plugin-prettier": "^5.0.1",
|
|
70
|
+
"jest": "^29.7.0",
|
|
71
|
+
"prettier": "^3.0.3",
|
|
72
|
+
"react": "18.2.0",
|
|
73
|
+
"react-native": "0.74.5",
|
|
74
|
+
"react-native-builder-bob": "^0.30.0",
|
|
75
|
+
"release-it": "^15.0.0",
|
|
76
|
+
"turbo": "^1.10.7",
|
|
77
|
+
"typescript": "^5.7.2"
|
|
78
|
+
},
|
|
79
|
+
"resolutions": {
|
|
80
|
+
"@types/react": "^18.2.44"
|
|
81
|
+
},
|
|
82
|
+
"peerDependencies": {
|
|
83
|
+
"react": "*",
|
|
84
|
+
"react-native": "*"
|
|
85
|
+
},
|
|
86
|
+
"workspaces": [
|
|
87
|
+
"example"
|
|
88
|
+
],
|
|
89
|
+
"packageManager": "yarn@3.6.1",
|
|
90
|
+
"jest": {
|
|
91
|
+
"preset": "react-native",
|
|
92
|
+
"modulePathIgnorePatterns": [
|
|
93
|
+
"<rootDir>/example/node_modules",
|
|
94
|
+
"<rootDir>/lib/"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"commitlint": {
|
|
98
|
+
"extends": [
|
|
99
|
+
"@commitlint/config-conventional"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"release-it": {
|
|
103
|
+
"git": {
|
|
104
|
+
"commitMessage": "chore: release ${version}",
|
|
105
|
+
"tagName": "v${version}"
|
|
106
|
+
},
|
|
107
|
+
"npm": {
|
|
108
|
+
"publish": true
|
|
109
|
+
},
|
|
110
|
+
"github": {
|
|
111
|
+
"release": true
|
|
112
|
+
},
|
|
113
|
+
"plugins": {
|
|
114
|
+
"@release-it/conventional-changelog": {
|
|
115
|
+
"preset": "angular"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"eslintConfig": {
|
|
120
|
+
"root": true,
|
|
121
|
+
"extends": [
|
|
122
|
+
"@react-native",
|
|
123
|
+
"prettier"
|
|
124
|
+
],
|
|
125
|
+
"rules": {
|
|
126
|
+
"react/react-in-jsx-scope": "off",
|
|
127
|
+
"prettier/prettier": [
|
|
128
|
+
"error",
|
|
129
|
+
{
|
|
130
|
+
"quoteProps": "consistent",
|
|
131
|
+
"singleQuote": true,
|
|
132
|
+
"tabWidth": 2,
|
|
133
|
+
"trailingComma": "es5",
|
|
134
|
+
"useTabs": false
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"eslintIgnore": [
|
|
140
|
+
"node_modules/",
|
|
141
|
+
"lib/"
|
|
142
|
+
],
|
|
143
|
+
"prettier": {
|
|
144
|
+
"quoteProps": "consistent",
|
|
145
|
+
"singleQuote": true,
|
|
146
|
+
"tabWidth": 2,
|
|
147
|
+
"trailingComma": "es5",
|
|
148
|
+
"useTabs": false
|
|
149
|
+
},
|
|
150
|
+
"react-native-builder-bob": {
|
|
151
|
+
"source": "src",
|
|
152
|
+
"output": "lib",
|
|
153
|
+
"targets": [
|
|
154
|
+
[
|
|
155
|
+
"commonjs",
|
|
156
|
+
{
|
|
157
|
+
"esm": true
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
[
|
|
161
|
+
"module",
|
|
162
|
+
{
|
|
163
|
+
"esm": true
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
[
|
|
167
|
+
"typescript",
|
|
168
|
+
{
|
|
169
|
+
"project": "tsconfig.build.json",
|
|
170
|
+
"esm": true
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
"create-react-native-library": {
|
|
176
|
+
"type": "module-legacy",
|
|
177
|
+
"languages": "kotlin-objc",
|
|
178
|
+
"version": "0.41.0"
|
|
179
|
+
},
|
|
180
|
+
"react-native": "src/index.tsx",
|
|
181
|
+
"types": "lib/typescript/commonjs/src/index.d.ts",
|
|
182
|
+
"@react-native-community/bob": {
|
|
183
|
+
"source": "src",
|
|
184
|
+
"output": "lib",
|
|
185
|
+
"targets": [
|
|
186
|
+
"commonjs",
|
|
187
|
+
"module",
|
|
188
|
+
"typescript"
|
|
189
|
+
]
|
|
190
|
+
}
|
|
191
|
+
}
|