react-native-rdservice-fingerprintscanner 1.1.12 → 1.2.1

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.
@@ -1,9 +1,8 @@
1
- package com.reactnativerdservicefingerprintscanner;
1
+ package com.rdservicefingerprintscanner;
2
2
 
3
3
  import android.app.Activity;
4
4
  import android.content.Intent;
5
5
  import android.util.Log;
6
- import android.widget.Toast;
7
6
 
8
7
  import androidx.annotation.NonNull;
9
8
 
@@ -18,29 +17,29 @@ import com.facebook.react.module.annotations.ReactModule;
18
17
 
19
18
  import org.json.JSONException;
20
19
  import org.json.JSONObject;
21
-
22
20
  import fr.arnaudguyon.xmltojsonlib.XmlToJson;
23
21
 
24
22
  @ReactModule(name = RdserviceFingerprintscannerModule.NAME)
25
23
  public class RdserviceFingerprintscannerModule extends ReactContextBaseJavaModule implements RDServiceEvents {
26
- public static final String NAME = "RdserviceFingerprintscanner";
27
- public Promise promise;
28
-
24
+ public static final String NAME = "RdserviceFingerprintscanner";
25
+ public Promise promise;
29
26
  private RDServiceManager rdServiceManager;
30
27
  String servicePackage = "";
28
+ public RdserviceFingerprintscannerModule(ReactApplicationContext reactContext) {
29
+ super(reactContext);
30
+ reactContext.addActivityEventListener(new RDServiceActivityEventListener());
31
+ rdServiceManager = new RDServiceManager.Builder(this).create();
32
+ }
31
33
 
32
- public RdserviceFingerprintscannerModule(ReactApplicationContext reactContext) {
33
- super(reactContext);
34
- reactContext.addActivityEventListener(new RDServiceActivityEventListener());
35
- rdServiceManager = new RDServiceManager.Builder(this).create();
36
- }
34
+ @Override
35
+ @NonNull
36
+ public String getName() {
37
+ return NAME;
38
+ }
37
39
 
38
- @Override
39
- @NonNull
40
- public String getName() {
41
- return NAME;
42
- }
43
40
 
41
+ // Example method
42
+ // See https://reactnative.dev/docs/native-modules-android
44
43
  @ReactMethod
45
44
  public void getDeviceInfo( Promise promise) {
46
45
  this.promise = promise;
@@ -69,19 +68,26 @@ public class RdserviceFingerprintscannerModule extends ReactContextBaseJavaModul
69
68
  rdServiceManager.captureRdService(servicePackage,pidOptions,activity);
70
69
  }
71
70
 
71
+ @ReactMethod
72
+ public void captureFace(String pidOptions, Promise promise) {
73
+ this.promise = promise;
74
+ final Activity activity = getCurrentActivity();
75
+ rdServiceManager.captureFace(pidOptions,activity);
76
+ }
77
+
72
78
 
73
79
  @Override
74
80
  public void onDeviceDriverFound(Boolean isFound) {
75
- try{
76
- WritableMap responseData = Arguments.createMap();
77
- responseData.putBoolean("isDeviceDriverFound",isFound);
78
- responseData.putInt("status",isFound?1:0);
79
- responseData.putString("message",isFound?"Device Driver is Discovered":"Device Driver not found");
80
- promise.resolve(responseData);
81
- }
82
- catch (Exception e){
83
- promise.reject("DRIVER_FOUND_ERROR",e.getMessage());
84
- }
81
+ try{
82
+ WritableMap responseData = Arguments.createMap();
83
+ responseData.putBoolean("isDeviceDriverFound",isFound);
84
+ responseData.putInt("status",isFound?1:0);
85
+ responseData.putString("message",isFound?"Device Driver is Discovered":"Device Driver not found");
86
+ promise.resolve(responseData);
87
+ }
88
+ catch (Exception e){
89
+ promise.reject("DRIVER_FOUND_ERROR",e.getMessage());
90
+ }
85
91
  }
86
92
 
87
93
  @Override
@@ -132,7 +138,7 @@ public class RdserviceFingerprintscannerModule extends ReactContextBaseJavaModul
132
138
  responseData.putString("message","FingerPrint Scanned Successfully");
133
139
  }
134
140
  else {
135
- errInfo = response.getString("errInfo");
141
+ errInfo = response.getString("errInfo");
136
142
  responseData.putInt("status",0);
137
143
  responseData.putString("message","Make Sure the Device is Connected and OTG Connection is Enabled in your Mobile");
138
144
  }
@@ -149,6 +155,39 @@ public class RdserviceFingerprintscannerModule extends ReactContextBaseJavaModul
149
155
  }
150
156
  }
151
157
 
158
+ @Override
159
+ public void onRDServiceFaceCaptureResponse(String pidData) {
160
+
161
+ XmlToJson xmlToJson = new XmlToJson.Builder(pidData).build();
162
+ String jsonString = xmlToJson.toString();
163
+
164
+ try{
165
+ JSONObject obj = new JSONObject(jsonString);
166
+ JSONObject response = obj.getJSONObject("PidData").getJSONObject("Resp");
167
+ String errorCode = response.getString("errCode");
168
+ String errInfo = "";
169
+ WritableMap responseData = Arguments.createMap();
170
+ if(Integer.parseInt(errorCode) == 0 ){
171
+ responseData.putInt("status",1);
172
+ responseData.putString("message","Face Captured Successfully");
173
+ }
174
+ else {
175
+ errInfo = response.getString("errInfo");
176
+ responseData.putInt("status",0);
177
+ responseData.putString("message",errInfo);
178
+ }
179
+
180
+ responseData.putString("errorCode",errorCode);
181
+ responseData.putString("errInfo",errInfo);
182
+ responseData.putString("pidDataJsonString", jsonString);
183
+ responseData.putString("pidDataXML", pidData);
184
+ promise.resolve(responseData);
185
+ }
186
+ catch (JSONException e){
187
+ promise.reject("FACE_CAPTURE_FAILED", "Face Capture Failed");
188
+ }
189
+ }
190
+
152
191
  @Override
153
192
  public void onRDServiceDriverNotFound() {
154
193
  // Called when no installed driver is found
@@ -171,6 +210,11 @@ public class RdserviceFingerprintscannerModule extends ReactContextBaseJavaModul
171
210
  promise.reject("FINGERPRINT_CAPTURE__FAILED","FingerPrint Capture Failed");
172
211
  }
173
212
 
213
+ @Override
214
+ public void onRDServiceFaceCaptureFailed(int resultCode, Intent data) {
215
+ promise.reject("FACE_CAPTURE__FAILED","Face Capture Failed");
216
+ }
217
+
174
218
  private class RDServiceActivityEventListener extends BaseActivityEventListener {
175
219
  @Override
176
220
  public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) {
@@ -0,0 +1,28 @@
1
+ package com.rdservicefingerprintscanner;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.ReactPackage;
6
+ import com.facebook.react.bridge.NativeModule;
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.uimanager.ViewManager;
9
+
10
+ import java.util.ArrayList;
11
+ import java.util.Collections;
12
+ import java.util.List;
13
+
14
+ public class RdserviceFingerprintscannerPackage implements ReactPackage {
15
+ @NonNull
16
+ @Override
17
+ public List<NativeModule> createNativeModules(@NonNull ReactApplicationContext reactContext) {
18
+ List<NativeModule> modules = new ArrayList<>();
19
+ modules.add(new RdserviceFingerprintscannerModule(reactContext));
20
+ return modules;
21
+ }
22
+
23
+ @NonNull
24
+ @Override
25
+ public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactContext) {
26
+ return Collections.emptyList();
27
+ }
28
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_PID_OPTIONS = exports.AVAILABLE_PACKAGES = void 0;
7
+ exports.captureFace = captureFace;
8
+ exports.captureFinger = captureFinger;
9
+ exports.getDeviceInfo = getDeviceInfo;
10
+ exports.isDriverFound = isDriverFound;
11
+ exports.openFingerPrintScanner = openFingerPrintScanner;
12
+ var _reactNative = require("react-native");
13
+ const LINKING_ERROR = `The package 'react-native-rdservice-fingerprintscanner' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
14
+ ios: "- You have run 'pod install'\n",
15
+ default: ''
16
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
17
+ const RdserviceFingerprintscanner = _reactNative.NativeModules.RdserviceFingerprintscanner ? _reactNative.NativeModules.RdserviceFingerprintscanner : new Proxy({}, {
18
+ get() {
19
+ throw new Error(LINKING_ERROR);
20
+ }
21
+ });
22
+ const AVAILABLE_PACKAGES = exports.AVAILABLE_PACKAGES = {
23
+ Secugen: 'com.secugen.rdservice',
24
+ Morpho: 'com.scl.rdservice',
25
+ Mantra: 'com.mantra.rdservice',
26
+ Startek_FM220: 'com.acpl.registersdk',
27
+ Gemalto_3M_Cogent_CSD200: 'com.rd.gemalto.com.rdserviceapp',
28
+ Integra: 'com.integra.registered.device',
29
+ Aratek: 'com.aratek.asix_gms.rdservice',
30
+ Maestros: 'rdservice.metsl.metslrdservice',
31
+ Tatvik_TMF20: 'com.tatvik.bio.tmf20',
32
+ Evolute: 'com.evolute.rdservice',
33
+ PB510: 'com.precision.pb510.rdservice',
34
+ MIS100V2_by_Mantra: 'com.mantra.mis100v2.rdservice',
35
+ NEXT_Biometrics_NB3023: 'com.nextbiometrics.rdservice',
36
+ IriTech_IriShield: 'com.iritech.rdservice',
37
+ Evolute_IRIS: 'com.evolute.iris.rdservice'
38
+ };
39
+ const DEFAULT_PID_OPTIONS = exports.DEFAULT_PID_OPTIONS = `<PidOptions ver="1.0"> <Opts fCount="1" fType="0" iCount="0" pCount="0" format="0" pidVer="2.0" timeout="20000" otp="" posh="UNKNOWN" env="P" wadh="" /> <Demo></Demo><CustOpts> <Param name="ValidationKey" value="" /> </CustOpts> </PidOptions>`;
40
+ function getDeviceInfo() {
41
+ return new Promise((resolve, reject) => {
42
+ RdserviceFingerprintscanner.getDeviceInfo().then(res => {
43
+ if (res.status === -1) {
44
+ const resObj = {
45
+ status: res.status,
46
+ message: res.message
47
+ };
48
+ resolve(resObj);
49
+ } else {
50
+ const resObj = {
51
+ isWhitelisted: res.isWhitelisted,
52
+ rdServiceInfoJson: JSON.parse(res.rdServiceInfoJsonString),
53
+ rdServiceInfoXML: res.rdServiceInfoXML,
54
+ rdServicePackage: res.rdServicePackage,
55
+ status: res.status,
56
+ message: res.message
57
+ };
58
+ resolve(resObj);
59
+ }
60
+ }).catch(err => {
61
+ reject(err);
62
+ });
63
+ });
64
+ }
65
+ function isDriverFound(packageName) {
66
+ return new Promise((resolve, reject) => {
67
+ if (packageName) {
68
+ RdserviceFingerprintscanner.isDriverFound(packageName).then(res => {
69
+ resolve(res);
70
+ }).catch(err => {
71
+ reject(err);
72
+ });
73
+ } else {
74
+ reject('Package Name cannot be empty');
75
+ }
76
+ });
77
+ }
78
+ function openFingerPrintScanner(packageName, pidOptions = DEFAULT_PID_OPTIONS) {
79
+ return new Promise((resolve, reject) => {
80
+ if (packageName) {
81
+ RdserviceFingerprintscanner.openFingerPrintScanner(packageName, pidOptions).then(res => {
82
+ if (res.pidDataJsonString) {
83
+ const resObj = {
84
+ pidDataJson: JSON.parse(res.pidDataJsonString),
85
+ pidDataXML: res.pidDataXML,
86
+ rdServicePackage: res.rdServicePackage,
87
+ status: res.status,
88
+ errInfo: res.errInfo,
89
+ errorCode: parseInt(res.errorCode),
90
+ message: res.message
91
+ };
92
+ resolve(resObj);
93
+ } else {
94
+ resolve(res);
95
+ }
96
+ }).catch(err => {
97
+ reject(err);
98
+ });
99
+ } else {
100
+ reject('Package Name cannot be empty');
101
+ }
102
+ });
103
+ }
104
+ function captureFinger(pidOptions = DEFAULT_PID_OPTIONS) {
105
+ return new Promise((resolve, reject) => {
106
+ RdserviceFingerprintscanner.captureFinger(pidOptions).then(res => {
107
+ const resObj = {
108
+ pidDataJson: JSON.parse(res.pidDataJsonString),
109
+ pidDataXML: res.pidDataXML,
110
+ rdServicePackage: res.rdServicePackage,
111
+ status: res.status,
112
+ errInfo: res.errInfo,
113
+ errorCode: parseInt(res.errorCode),
114
+ message: res.message
115
+ };
116
+ resolve(resObj);
117
+ }).catch(err => {
118
+ reject(err);
119
+ });
120
+ });
121
+ }
122
+ function captureFace(pidOptions) {
123
+ return new Promise((resolve, reject) => {
124
+ if (!pidOptions) {
125
+ reject("PID Options cannot be empty");
126
+ return;
127
+ }
128
+ RdserviceFingerprintscanner.captureFace(pidOptions).then(res => {
129
+ const resObj = {
130
+ pidDataJson: JSON.parse(res.pidDataJsonString),
131
+ pidDataXML: res.pidDataXML,
132
+ status: res.status,
133
+ errInfo: res.errInfo,
134
+ errorCode: parseInt(res.errorCode),
135
+ message: res.message
136
+ };
137
+ resolve(resObj);
138
+ }).catch(err => {
139
+ reject(err);
140
+ });
141
+ });
142
+ }
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","RdserviceFingerprintscanner","NativeModules","Proxy","get","Error","AVAILABLE_PACKAGES","exports","Secugen","Morpho","Mantra","Startek_FM220","Gemalto_3M_Cogent_CSD200","Integra","Aratek","Maestros","Tatvik_TMF20","Evolute","PB510","MIS100V2_by_Mantra","NEXT_Biometrics_NB3023","IriTech_IriShield","Evolute_IRIS","DEFAULT_PID_OPTIONS","getDeviceInfo","Promise","resolve","reject","then","res","status","resObj","message","isWhitelisted","rdServiceInfoJson","JSON","parse","rdServiceInfoJsonString","rdServiceInfoXML","rdServicePackage","catch","err","isDriverFound","packageName","openFingerPrintScanner","pidOptions","pidDataJsonString","pidDataJson","pidDataXML","errInfo","errorCode","parseInt","captureFinger","captureFace"],"sourceRoot":"../../src","sources":["index.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.d.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,132 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ const LINKING_ERROR = `The package 'react-native-rdservice-fingerprintscanner' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
3
+ ios: "- You have run 'pod install'\n",
4
+ default: ''
5
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
6
+ const RdserviceFingerprintscanner = NativeModules.RdserviceFingerprintscanner ? NativeModules.RdserviceFingerprintscanner : new Proxy({}, {
7
+ get() {
8
+ throw new Error(LINKING_ERROR);
9
+ }
10
+ });
11
+ export const AVAILABLE_PACKAGES = {
12
+ Secugen: 'com.secugen.rdservice',
13
+ Morpho: 'com.scl.rdservice',
14
+ Mantra: 'com.mantra.rdservice',
15
+ Startek_FM220: 'com.acpl.registersdk',
16
+ Gemalto_3M_Cogent_CSD200: 'com.rd.gemalto.com.rdserviceapp',
17
+ Integra: 'com.integra.registered.device',
18
+ Aratek: 'com.aratek.asix_gms.rdservice',
19
+ Maestros: 'rdservice.metsl.metslrdservice',
20
+ Tatvik_TMF20: 'com.tatvik.bio.tmf20',
21
+ Evolute: 'com.evolute.rdservice',
22
+ PB510: 'com.precision.pb510.rdservice',
23
+ MIS100V2_by_Mantra: 'com.mantra.mis100v2.rdservice',
24
+ NEXT_Biometrics_NB3023: 'com.nextbiometrics.rdservice',
25
+ IriTech_IriShield: 'com.iritech.rdservice',
26
+ Evolute_IRIS: 'com.evolute.iris.rdservice'
27
+ };
28
+ export const DEFAULT_PID_OPTIONS = `<PidOptions ver="1.0"> <Opts fCount="1" fType="0" iCount="0" pCount="0" format="0" pidVer="2.0" timeout="20000" otp="" posh="UNKNOWN" env="P" wadh="" /> <Demo></Demo><CustOpts> <Param name="ValidationKey" value="" /> </CustOpts> </PidOptions>`;
29
+ export function getDeviceInfo() {
30
+ return new Promise((resolve, reject) => {
31
+ RdserviceFingerprintscanner.getDeviceInfo().then(res => {
32
+ if (res.status === -1) {
33
+ const resObj = {
34
+ status: res.status,
35
+ message: res.message
36
+ };
37
+ resolve(resObj);
38
+ } else {
39
+ const resObj = {
40
+ isWhitelisted: res.isWhitelisted,
41
+ rdServiceInfoJson: JSON.parse(res.rdServiceInfoJsonString),
42
+ rdServiceInfoXML: res.rdServiceInfoXML,
43
+ rdServicePackage: res.rdServicePackage,
44
+ status: res.status,
45
+ message: res.message
46
+ };
47
+ resolve(resObj);
48
+ }
49
+ }).catch(err => {
50
+ reject(err);
51
+ });
52
+ });
53
+ }
54
+ export function isDriverFound(packageName) {
55
+ return new Promise((resolve, reject) => {
56
+ if (packageName) {
57
+ RdserviceFingerprintscanner.isDriverFound(packageName).then(res => {
58
+ resolve(res);
59
+ }).catch(err => {
60
+ reject(err);
61
+ });
62
+ } else {
63
+ reject('Package Name cannot be empty');
64
+ }
65
+ });
66
+ }
67
+ export function openFingerPrintScanner(packageName, pidOptions = DEFAULT_PID_OPTIONS) {
68
+ return new Promise((resolve, reject) => {
69
+ if (packageName) {
70
+ RdserviceFingerprintscanner.openFingerPrintScanner(packageName, pidOptions).then(res => {
71
+ if (res.pidDataJsonString) {
72
+ const resObj = {
73
+ pidDataJson: JSON.parse(res.pidDataJsonString),
74
+ pidDataXML: res.pidDataXML,
75
+ rdServicePackage: res.rdServicePackage,
76
+ status: res.status,
77
+ errInfo: res.errInfo,
78
+ errorCode: parseInt(res.errorCode),
79
+ message: res.message
80
+ };
81
+ resolve(resObj);
82
+ } else {
83
+ resolve(res);
84
+ }
85
+ }).catch(err => {
86
+ reject(err);
87
+ });
88
+ } else {
89
+ reject('Package Name cannot be empty');
90
+ }
91
+ });
92
+ }
93
+ export function captureFinger(pidOptions = DEFAULT_PID_OPTIONS) {
94
+ return new Promise((resolve, reject) => {
95
+ RdserviceFingerprintscanner.captureFinger(pidOptions).then(res => {
96
+ const resObj = {
97
+ pidDataJson: JSON.parse(res.pidDataJsonString),
98
+ pidDataXML: res.pidDataXML,
99
+ rdServicePackage: res.rdServicePackage,
100
+ status: res.status,
101
+ errInfo: res.errInfo,
102
+ errorCode: parseInt(res.errorCode),
103
+ message: res.message
104
+ };
105
+ resolve(resObj);
106
+ }).catch(err => {
107
+ reject(err);
108
+ });
109
+ });
110
+ }
111
+ export function captureFace(pidOptions) {
112
+ return new Promise((resolve, reject) => {
113
+ if (!pidOptions) {
114
+ reject("PID Options cannot be empty");
115
+ return;
116
+ }
117
+ RdserviceFingerprintscanner.captureFace(pidOptions).then(res => {
118
+ const resObj = {
119
+ pidDataJson: JSON.parse(res.pidDataJsonString),
120
+ pidDataXML: res.pidDataXML,
121
+ status: res.status,
122
+ errInfo: res.errInfo,
123
+ errorCode: parseInt(res.errorCode),
124
+ message: res.message
125
+ };
126
+ resolve(resObj);
127
+ }).catch(err => {
128
+ reject(err);
129
+ });
130
+ });
131
+ }
132
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","RdserviceFingerprintscanner","Proxy","get","Error","AVAILABLE_PACKAGES","Secugen","Morpho","Mantra","Startek_FM220","Gemalto_3M_Cogent_CSD200","Integra","Aratek","Maestros","Tatvik_TMF20","Evolute","PB510","MIS100V2_by_Mantra","NEXT_Biometrics_NB3023","IriTech_IriShield","Evolute_IRIS","DEFAULT_PID_OPTIONS","getDeviceInfo","Promise","resolve","reject","then","res","status","resObj","message","isWhitelisted","rdServiceInfoJson","JSON","parse","rdServiceInfoJsonString","rdServiceInfoXML","rdServicePackage","catch","err","isDriverFound","packageName","openFingerPrintScanner","pidOptions","pidDataJsonString","pidDataJson","pidDataXML","errInfo","errorCode","parseInt","captureFinger","captureFace"],"sourceRoot":"../../src","sources":["index.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/index.test.tsx"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-rdservice-fingerprintscanner",
3
- "version": "1.1.12",
3
+ "version": "1.2.1",
4
4
  "description": "FingerPrint Scanner RD Service",
5
5
  "main": "src/index.js",
6
6
  "module": "lib/module/index",
@@ -13,22 +13,30 @@
13
13
  "android",
14
14
  "ios",
15
15
  "cpp",
16
- "react-native-rdservice-fingerprintscanner.podspec",
16
+ "*.podspec",
17
17
  "!lib/typescript/example",
18
- "!android/build",
19
18
  "!ios/build",
19
+ "!android/build",
20
+ "!android/gradle",
21
+ "!android/gradlew",
22
+ "!android/gradlew.bat",
23
+ "!android/local.properties",
20
24
  "!**/__tests__",
21
25
  "!**/__fixtures__",
22
- "!**/__mocks__"
26
+ "!**/__mocks__",
27
+ "!**/.*"
23
28
  ],
24
29
  "scripts": {
25
30
  "test": "jest",
26
- "typescript": "tsc --noEmit",
31
+ "typecheck": "tsc --noEmit",
27
32
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
33
+ "prepack": "bob build",
28
34
  "release": "release-it",
29
35
  "example": "yarn --cwd example",
30
- "pods": "cd example && pod-install --quiet",
31
- "bootstrap": "yarn example && yarn && yarn pods"
36
+ "build:android": "cd example/android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a",
37
+ "build:ios": "cd example/ios && xcodebuild -workspace RdserviceFingerprintscannerExample.xcworkspace -scheme RdserviceFingerprintscannerExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO",
38
+ "bootstrap": "yarn example && yarn install && yarn example pods",
39
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build"
32
40
  },
33
41
  "keywords": [
34
42
  "react-native",
@@ -36,40 +44,49 @@
36
44
  "android"
37
45
  ],
38
46
  "repository": "https://github.com/senthalan2/react-native-rdservice-fingerprintscanner",
39
- "author": "Senthalan S <senthalan2@gmail.com> (https://github.com/senthalan2)",
47
+ "author": "Senthalan <senthalan2@gmail.com> (https://github.com/senthalan2)",
40
48
  "license": "MIT",
41
49
  "bugs": {
42
50
  "url": "https://github.com/senthalan2/react-native-rdservice-fingerprintscanner/issues"
43
51
  },
44
- "homepage": "https://github.com/senthalan2/react-native-rdservice-fingerprintscanner#readme",
52
+ "homepage": "https://github.com/senthalan2",
45
53
  "publishConfig": {
46
54
  "registry": "https://registry.npmjs.org/"
47
55
  },
48
56
  "devDependencies": {
49
- "@commitlint/config-conventional": "^11.0.0",
50
- "@react-native-community/eslint-config": "^2.0.0",
51
- "@release-it/conventional-changelog": "^2.0.0",
52
- "@types/jest": "^26.0.0",
53
- "@types/react": "^16.9.19",
54
- "@types/react-native": "0.62.13",
55
- "commitlint": "^11.0.0",
56
- "eslint": "^7.2.0",
57
- "eslint-config-prettier": "^7.0.0",
58
- "eslint-plugin-prettier": "^3.1.3",
59
- "husky": "^6.0.0",
60
- "jest": "^26.0.1",
57
+ "@commitlint/config-conventional": "^17.0.2",
58
+ "@evilmartians/lefthook": "^1.2.2",
59
+ "@react-native-community/eslint-config": "^3.0.2",
60
+ "@release-it/conventional-changelog": "^5.0.0",
61
+ "@types/jest": "^28.1.2",
62
+ "@types/react": "~17.0.21",
63
+ "@types/react-native": "0.70.0",
64
+ "commitlint": "^17.0.2",
65
+ "del-cli": "^5.0.0",
66
+ "eslint": "^8.4.1",
67
+ "eslint-config-prettier": "^8.5.0",
68
+ "eslint-plugin-prettier": "^4.0.0",
69
+ "jest": "^28.1.1",
61
70
  "pod-install": "^0.1.0",
62
71
  "prettier": "^2.0.5",
63
- "react": "16.13.1",
64
- "react-native": "0.63.4",
65
- "react-native-builder-bob": "^0.18.0",
66
- "release-it": "^14.2.2",
67
- "typescript": "^4.1.3"
72
+ "react": "18.2.0",
73
+ "react-native": "0.73.2",
74
+ "react-native-builder-bob": "^0.23.2",
75
+ "release-it": "^15.0.0",
76
+ "turbo": "^1.10.7",
77
+ "typescript": "^5.0.2"
78
+ },
79
+ "resolutions": {
80
+ "@types/react": "17.0.21"
68
81
  },
69
82
  "peerDependencies": {
70
83
  "react": "*",
71
84
  "react-native": "*"
72
85
  },
86
+ "engines": {
87
+ "node": ">= 16.0.0"
88
+ },
89
+ "packageManager": "^yarn@1.22.15",
73
90
  "jest": {
74
91
  "preset": "react-native",
75
92
  "modulePathIgnorePatterns": [