@sumsub/cordova-idensic-mobile-sdk-plugin 1.1.0 → 1.42.0

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/CHANGELOG.md CHANGED
@@ -1,2 +1,3 @@
1
- # Changelog
1
+ # Cordova Plugin Changelog
2
2
 
3
+ Changelog can be found at the [SumSub Developer Hub](https://developers.sumsub.com/msdk/plugins/cordova/changelog.html)
package/README.md CHANGED
@@ -1,16 +1,8 @@
1
1
  # SumSub Cordova Plugin
2
2
 
3
+ [Cordova plugin](https://developers.sumsub.com/msdk/plugins/cordova.html) for the [SumSub Mobile SDK](https://developers.sumsub.com/msdk)
3
4
 
4
- Cordova plugin exposing the [SumSub Mobile SDK](https://www.veriff.com/)
5
5
 
6
- ## Requeriments
7
- - Android 5.0 or newer
8
- - iOS version 11.0 or newer
9
6
 
10
- ## Building
11
7
 
12
- Within root plugin path:
13
8
 
14
- ```bash
15
- $ npm run build
16
- ```
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("cordova/exec")):"function"==typeof define&&define.amd?define(["cordova/exec"],t):"object"==typeof exports?exports.SNSMobileSDK=t(require("cordova/exec")):e.SNSMobileSDK=t(e["cordova/exec"])}(self,e=>{return t={440:t=>{"use strict";t.exports=e},846:(e,t,n)=>{const r=n(440),o="SNSMobileSdkCordovaPlugin",i={onStatusChanged:null,onEvent:null};var s=null;function a(e){this.sdkConf=e,this.sdkConf.settings.appFrameworkName="cordova"}function c(){return this.debug=!1,this.handlers={},this.applicantConf={},this.preferredDocumentDefinitions={},this.autoCloseOnApprove=3,this.settings={},this}a.prototype.dismiss=function(){r(e=>{},e=>{},o,"dismiss",[])},a.prototype.sendEvent=function(e,t){var n=this.sdkConf.handlers[e];if(n){var s=i[e];if(s){var a=function(e,t){r(e=>{},e=>{},o,s,[{error:e,result:t}])};n(t).then(e=>{a(null,e)}).catch(e=>{a(e||new Error("rejected"),null)})}else n(t)}},a.prototype.getNewAccessToken=function(){var e=function(e){r(e=>{},e=>{},o,"setNewAccessToken",[e])};this.sdkConf.tokenExpirationHandler().then(t=>{e(t)}).catch(t=>{console.error(t instanceof Error?t.message:t),e(null)})},a.prototype.launch=function(){let e=this;return console.log("InSumSub",JSON.stringify(this.sdkConf)),new Promise((t,n)=>{s?n(new Error("Aborted since another instance is in use!")):e.sdkConf.accessToken?(s=e,r(e=>{s=null,console.log("Promise SumSub Result",JSON.stringify(e)),t(e)},e=>{s=null,console.log("Promise SumSub Error",JSON.stringify(e)),n(e)},o,"launchSNSMobileSDK",[e.sdkConf])):n(new Error("Access token is required"))})},c.prototype.withAccessToken=function(e,t){if(this.accessToken=e,!t||"function"!=typeof t)throw new Error('Invalid parameter, "expirationHandler" must be a function');return this.tokenExpirationHandler=t,this},c.prototype.withHandlers=function(e){if(!e||"object"!=typeof e)throw new Error('Invalid parameter, "withHandlers" expects a hash');return Object.keys(i).forEach(t=>{var n=e[t];if(n){if("function"!=typeof n)throw new Error('Invalid handler, "'+t+'" must be a function');this.handlers[t]=n}}),this},c.prototype.withDebug=function(e){if("boolean"!=typeof e)throw new Error('Invalid parameter, "withDebug" expects a boolean');return this.debug=e,this},c.prototype.withAnalyticsEnabled=function(e){if("boolean"!=typeof e)throw new Error('Invalid parameter, "withAnalyticsEnabled" expects a boolean');return this.isAnalyticsEnabled=e,this},c.prototype.withLocale=function(e){if("string"!=typeof e)throw new Error('Invalid parameter, "locale" must be a string');return this.locale=e,this},c.prototype.withApplicantConf=function(e){if(!e||"object"!=typeof e)throw new Error('Invalid parameter, "withApplicantConf" expects a hash');return this.applicantConf=e,this},c.prototype.withPreferredDocumentDefinitions=function(e){if(!e||"object"!=typeof e)throw new Error('Invalid parameter, "withPreferredDocumentDefinitions" expects a hash');return this.preferredDocumentDefinitions=e,this},c.prototype.withSettings=function(e){if(!e||"object"!=typeof e)throw new Error('Invalid parameter, "withSettings" expects a hash');return this.settings=e,this},c.prototype.withStrings=function(e){if(!e||"object"!=typeof e)throw new Error('Invalid parameter, "withStrings" expects a hash');return this.strings=e,this},c.prototype.withTheme=function(e){if(!e||"object"!=typeof e)throw new Error('Invalid parameter, "withTheme" expects a hash');return this.theme=e,this},c.prototype.withBaseUrl=function(e){if("string"!=typeof e)throw new Error('Invalid parameter, "baseUrl" must be a string');return this.apiUrl=e,this},c.prototype.withAutoCloseOnApprove=function(e){if("number"!=typeof e)throw new Error('Invalid parameter, "autoCloseOnApprove" expects a number');return this.autoCloseOnApprove=e,this},c.prototype.build=function(){var e={};return Object.keys(this.handlers).forEach(t=>{e[t]=!0}),new a({apiUrl:this.apiUrl,accessToken:this.accessToken,tokenExpirationHandler:this.tokenExpirationHandler,handlers:this.handlers,hasHandlers:e,locale:this.locale,applicantConf:this.applicantConf,preferredDocumentDefinitions:this.preferredDocumentDefinitions,settings:this.settings,theme:this.theme,strings:this.strings,isAnalyticsEnabled:this.isAnalyticsEnabled,autoCloseOnApprove:this.autoCloseOnApprove,debug:this.debug})},e.exports={init:function(e,t){return(new c).withAccessToken(e,t)},getNewAccessToken:function(){s&&s.getNewAccessToken()},sendEvent:function(e,t){s&&s.sendEvent(e,t)},reset:function(){s=null}}}},n={},function e(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return t[r](i,i.exports,e),i.exports}(846);var t,n});
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@sumsub/cordova-idensic-mobile-sdk-plugin",
3
- "version": "1.1.0",
4
- "description": "Cordova plugin exposing SumSub SDK",
3
+ "version": "1.42.0",
4
+ "description": "Cordova plugin exposing Sumsub SDK",
5
5
  "scripts": {
6
- "build": "webpack -p"
6
+ "build": "webpack --mode=production"
7
7
  },
8
8
  "cordova": {
9
9
  "id": "cordova-idensic-mobile-sdk-plugin",
@@ -13,11 +13,11 @@
13
13
  ]
14
14
  },
15
15
  "devDependencies": {
16
- "@babel/core": "7.9.0",
17
- "@babel/preset-env": "7.9.0",
16
+ "@babel/core": "^7.28.0",
17
+ "@babel/preset-env": "^7.28.0",
18
18
  "babel-core": "6.26.3",
19
19
  "babel-eslint": "10.1.0",
20
- "babel-loader": "8.1.0",
20
+ "babel-loader": "^9.2.1",
21
21
  "babel-preset-es2015": "6.24.1",
22
22
  "babel-preset-react": "6.24.1",
23
23
  "babel-preset-react-hmre": "1.1.1",
@@ -28,8 +28,8 @@
28
28
  "eslint-plugin-jsx-a11y": "6.2.3",
29
29
  "eslint-plugin-react": "7.19.0",
30
30
  "eslint-plugin-react-hooks": "2.5.0",
31
- "webpack": "4.42.1",
32
- "webpack-cli": "3.3.11"
31
+ "webpack": "^5.99.9",
32
+ "webpack-cli": "^5.1.4"
33
33
  },
34
34
  "keywords": [
35
35
  "sumsub",
@@ -38,10 +38,9 @@
38
38
  "android",
39
39
  "ios"
40
40
  ],
41
- "author": "SumSub",
41
+ "author": "Sumsub",
42
42
  "license": "Apache-2.0",
43
43
  "main": "webpack.config.js",
44
- "dependencies": {},
45
44
  "repository": {
46
45
  "type": "git"
47
46
  }
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8" ?>
2
- <plugin id="cordova-idensic-mobile-sdk-plugin" version="1.1.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
2
+ <plugin id="cordova-idensic-mobile-sdk-plugin" version="1.42.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
3
3
 
4
4
  <name>cordova-idensic-mobile-sdk-plugin</name>
5
5
  <description>Cordova plugin exposing SumSub Mobile SDK</description>
@@ -12,14 +12,16 @@
12
12
  <platform name="android">
13
13
 
14
14
  <!-- Android X support -->
15
- <dependency id="cordova-plugin-androidx" />
16
- <dependency id="cordova-plugin-androidx-adapter" />
15
+ <!-- <dependency id="cordova-plugin-androidx" />-->
16
+ <!-- <dependency id="cordova-plugin-androidx-adapter" />-->
17
17
 
18
18
  <!-- config-file -->
19
19
  <config-file parent="/*" target="res/xml/config.xml">
20
20
  <feature name="SNSMobileSdkCordovaPlugin">
21
21
  <param name="android-package" value="com.sumsub.msdk.plugins.cordova.SNSMobileSdkCordovaPlugin" />
22
22
  </feature>
23
+ <preference name="android-compileSdkVersion" value="35" />
24
+ <preference name="android-buildToolsVersion" value="35.0.0" />
23
25
  </config-file>
24
26
 
25
27
  <config-file target="AndroidManifest.xml" parent="/*">
@@ -33,11 +35,61 @@
33
35
  </config-file>
34
36
  <config-file parent="/*" target="AndroidManifest.xml" />
35
37
 
38
+ <hook type="after_plugin_install" src="scripts/android/after_plugin_install.js" />
39
+
36
40
  <!-- source-file -->
37
41
  <source-file src="src/android/src/main/java/com/sumsub/msdk/plugins/cordova/SNSMobileSdkCordovaPlugin.java" target-dir="src/main/java/com/sumsub/msdk/plugins/cordova" />
38
42
 
39
43
  <!-- framework h -->
40
44
  <framework src="src/android/build-extras.gradle" custom="true" type="gradleReference" />
45
+
46
+ </platform>
47
+
48
+ <platform name="ios">
49
+
50
+ <preference name="CAMERA_USAGE" default="Let us take a photo" />
51
+ <preference name="MICROPHONE_USAGE" default="Time to record a video" />
52
+ <preference name="PHOTO_USAGE" default="Let us pick a photo" />
53
+ <preference name="LOCATION_USAGE" default="Please provide us with your geolocation data to prove your current location" />
54
+ <preference name="NFCREADER_USAGE" default="Let us scan the document for more precise recognition" />
55
+
56
+ <config-file target="*-Info.plist" parent="NSCameraUsageDescription">
57
+ <string>$CAMERA_USAGE</string>
58
+ </config-file>
59
+ <config-file target="*-Info.plist" parent="NSMicrophoneUsageDescription">
60
+ <string>$MICROPHONE_USAGE</string>
61
+ </config-file>
62
+ <config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
63
+ <string>$PHOTO_USAGE</string>
64
+ </config-file>
65
+ <config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
66
+ <string>$LOCATION_USAGE</string>
67
+ </config-file>
68
+ <config-file target="*-Info.plist" parent="NFCReaderUsageDescription">
69
+ <string>$NFCREADER_USAGE</string>
70
+ </config-file>
71
+
72
+ <config-file target="config.xml" parent="/*">
73
+ <feature name="SNSMobileSdkCordovaPlugin">
74
+ <param name="ios-package" value="SNSMobileSdkCordovaPlugin"/>
75
+ </feature>
76
+ </config-file>
77
+
78
+ <podspec>
79
+ <config>
80
+ <source url="https://github.com/SumSubstance/Specs.git" />
81
+ <source url="https://cdn.cocoapods.org/"/>
82
+ </config>
83
+ <pods>
84
+ <pod name="IdensicMobileSDK" spec="=1.42.0" />
85
+ </pods>
86
+ </podspec>
87
+
88
+ <hook type="before_plugin_install" src="scripts/ios/before_plugin_install.js" />
89
+ <hook type="before_plugin_uninstall" src="scripts/ios/before_plugin_uninstall.js" />
90
+
91
+ <header-file src="src/ios/SNSMobileSdkCordovaPlugin.h" />
92
+ <source-file src="src/ios/SNSMobileSdkCordovaPlugin.m" />
41
93
  </platform>
42
94
 
43
- </plugin>
95
+ </plugin>
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs');
4
+
5
+ module.exports = function (context) {
6
+ var withFisherman = process.argv.includes('--with-Fisherman')
7
+ var withEID = process.argv.includes('--with-EID')
8
+ var withVideoIdent = process.argv.includes('--with-VideoIdent') || process.argv.includes('--with-VideoIdent-compat')
9
+ var withMRTDReader = process.argv.includes('--with-MRTDReader') || process.argv.includes('--with-MRTDReader-compat')
10
+
11
+ if (!withFisherman && !withEID && !withVideoIdent && !withMRTDReader) {
12
+ return
13
+ }
14
+
15
+ var gradleExtrasFilePath = './platforms/android/cordova-idensic-mobile-sdk-plugin/SumSubCordova-build-extras.gradle'
16
+
17
+ try {
18
+ if (!fs.existsSync(gradleExtrasFilePath)) {
19
+ console.log('Warning: Gradle extras file not found at ' + gradleExtrasFilePath)
20
+ return
21
+ }
22
+
23
+ var data = fs.readFileSync(gradleExtrasFilePath, 'utf8')
24
+ var formatted = data
25
+
26
+ if (!withFisherman) {
27
+ formatted = formatted.replace(/^(\s+implementation\s.+fisherman.+)$/m, "//$1");
28
+ }
29
+ if (!withMRTDReader) {
30
+ formatted = formatted.replace(/^(\s+implementation\s.+nfc.+)$/m, "//$1");
31
+ }
32
+ if (!withEID) {
33
+ formatted = formatted.replace(/^(\s+implementation\s.+eid.+)$/m, "//$1");
34
+ }
35
+ if (!withVideoIdent) {
36
+ formatted = formatted.replace(/^(\s+implementation\s.+videoident.+)$/m, "//$1");
37
+ }
38
+
39
+ fs.writeFileSync(gradleExtrasFilePath, formatted, 'utf8')
40
+ } catch (err) {
41
+ console.log('Error processing Gradle extras file: ' + err)
42
+ }
43
+ }
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs');
4
+
5
+ module.exports = function (context) {
6
+
7
+ var withFisherman = process.argv.includes('--with-Fisherman')
8
+ var withEID = process.argv.includes('--with-EID')
9
+ var withMRTDReader = process.argv.includes('--with-MRTDReader')
10
+ var withMRTDReaderCompat = process.argv.includes('--with-MRTDReader-compat')
11
+ var withVideoIdent = process.argv.includes('--with-VideoIdent')
12
+ var withVideoIdentCompat = process.argv.includes('--with-VideoIdent-compat')
13
+
14
+ withMRTDReader = withMRTDReader || withMRTDReaderCompat
15
+ withVideoIdent = withVideoIdent || withVideoIdentCompat
16
+
17
+ if (!withFisherman && !withEID && !withMRTDReader && !withVideoIdent) {
18
+ return
19
+ }
20
+
21
+ var podfilePath = './platforms/ios/Podfile'
22
+
23
+ fs.stat(podfilePath, function (error, stat) {
24
+ if (error) {
25
+ return
26
+ }
27
+
28
+ var podfileContent = fs.readFileSync(podfilePath, 'utf8')
29
+ var platformLineRe = /^\s*platform :ios, ['"](.*?)['"]\s*$/m
30
+ var podLineRe = /^.*IdensicMobileSDK.*$/m
31
+
32
+ var matches = podfileContent.match(podLineRe)
33
+ if (!matches) {
34
+ return
35
+ }
36
+
37
+ var podLine = matches[0]
38
+ var replaces = [podLine]
39
+ var minTarget = '13.0'
40
+
41
+ if (withFisherman) {
42
+ replaces.push(podLine.replace(/IdensicMobileSDK/, 'IdensicMobileSDK/Fisherman'))
43
+ }
44
+ if (withEID) {
45
+ replaces.push(podLine.replace(/IdensicMobileSDK/, 'IdensicMobileSDK/EID'))
46
+ }
47
+ if (withMRTDReader) {
48
+ replaces.push(podLine.replace(/IdensicMobileSDK/, 'IdensicMobileSDK/MRTDReader' + (withMRTDReaderCompat ? "-compat" : "")))
49
+ }
50
+ if (withVideoIdent) {
51
+ replaces.push(podLine.replace(/IdensicMobileSDK/, 'IdensicMobileSDK/VideoIdent' + (withVideoIdentCompat ? "-compat" : "")))
52
+ }
53
+
54
+ var platformMatches = podfileContent.match(platformLineRe)
55
+ if (platformMatches && platformMatches[1] < minTarget) {
56
+ podfileContent = podfileContent.replace(platformMatches[0], "platform :ios, '" + minTarget + "'\n" )
57
+ }
58
+
59
+ podfileContent = podfileContent.replace(podLineRe, replaces.join("\n"))
60
+
61
+ fs.writeFileSync(podfilePath, podfileContent, 'utf8')
62
+ })
63
+ }
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var fs = require('fs');
4
+
5
+ module.exports = function (context) {
6
+
7
+ var podfilePath = './platforms/ios/Podfile'
8
+
9
+ fs.stat(podfilePath, function (error, stat) {
10
+ if (error) {
11
+ return
12
+ }
13
+
14
+ var podfileContent = fs.readFileSync(podfilePath, 'utf8')
15
+
16
+ podfileContent = podfileContent.replace(/^.*IdensicMobileSDK\/\w+.*$/gm, '')
17
+
18
+ fs.writeFileSync(podfilePath, podfileContent, 'utf8')
19
+ })
20
+ }
@@ -1,23 +1,31 @@
1
1
  buildscript {
2
2
  repositories {
3
- maven { url "https://nexus3.smtdpcloud.tk/repository/maven-public/" }
4
3
  google()
5
- jcenter()
4
+ mavenCentral()
6
5
  }
7
6
  }
8
7
 
9
8
  allprojects {
10
9
  repositories {
11
- maven { url "https://nexus3.smtdpcloud.tk/repository/maven-public/" }
10
+ maven { url "https://maven.sumsub.com/repository/maven-public/" }
12
11
  google()
13
- jcenter()
12
+ mavenCentral()
13
+ maven {
14
+ setUrl("https://maven.sumsub.com/repository/maven-private/")
15
+ credentials {
16
+ username = System.getenv("NEXUS_PRIVATE_USERNAME")
17
+ password = System.getenv("NEXUS_PRIVATE_PASSWORD")
18
+ }
19
+ }
14
20
  }
15
21
  }
16
22
 
17
23
  dependencies {
18
- implementation "com.sumsub.sns:idensic-mobile-sdk:1.0.1-SNAPSHOT"
19
- implementation "com.sumsub.sns:idensic-mobile-sdk-liveness3d:1.0.1-SNAPSHOT"
20
- implementation 'androidx.appcompat:appcompat:1.1.0'
21
- implementation 'com.google.android.material:material:1.0.0'
24
+ implementation "com.sumsub.sns:idensic-mobile-sdk:1.42.0"
25
+ implementation "com.sumsub.sns:idensic-mobile-sdk-fisherman:1.42.0"
26
+ implementation "com.sumsub.sns:idensic-mobile-sdk-videoident:1.42.0"
27
+ implementation "com.sumsub.sns:idensic-mobile-sdk-eid:1.42.0"
28
+ implementation "com.sumsub.sns:idensic-mobile-sdk-nfc:1.42.0"
22
29
 
23
- }
30
+ implementation 'com.google.android.material:material:1.8.0'
31
+ }