@humansecurity/expo-mobile-sdk 1.0.5 → 1.0.8
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 +26 -0
- package/README.md +42 -3
- package/android/build.gradle +28 -16
- package/app.plugin.js +54 -0
- package/build/ExpoHumanSdkModule.d.ts +4 -1
- package/build/ExpoHumanSdkModule.d.ts.map +1 -1
- package/build/ExpoHumanSdkModule.js.map +1 -1
- package/build/HumanSecurity.d.ts +1 -1
- package/ios/humansecurityexpomobilesdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/humansecurityexpomobilesdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/package.json +16 -11
- package/android/libs/HUMAN-4.2.0.aar +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
For Expo wrapper versions
|
|
3
|
+
|
|
4
|
+
## [1.0.8] - 12-11-2025
|
|
5
|
+
### Moved the AAR out of the wrapper package and added inclusion via the Gradle plugin file; updated docs and plugin setup accordingly.
|
|
6
|
+
|
|
7
|
+
## [1.0.6] - 25-09-2025
|
|
8
|
+
### Updated wrapper version to Expo 54 and native sdk version 4.2.0 to include new human_session.
|
|
9
|
+
- Expo version: "^54.0.9"
|
|
10
|
+
- react-native: "0.81.4" - "react": "^19.1.0"
|
|
11
|
+
- iOS SDK version: 4.2.0
|
|
12
|
+
- Android SDK version: 4.2.1 - (built with Kotlin 2.x & Ktor 3.x)
|
|
13
|
+
|
|
14
|
+
## [1.0.5] - 09-09-2025
|
|
15
|
+
### Updated wrapper version to Expo 53 and native sdk version 4.2.0 to include new human_session.
|
|
16
|
+
- Expo version: "^53.0.0"
|
|
17
|
+
- react-native: "0.76.9" - "react": "^18.2.0"
|
|
18
|
+
- iOS SDK version: 4.2.0
|
|
19
|
+
- Android SDK version: 4.2.0 - copmiled speacially with kotlin 1.9.25
|
|
20
|
+
|
|
21
|
+
## [1.0.4] - 09-02-2025
|
|
22
|
+
### Released wrapper to support easy Expo integration.
|
|
23
|
+
- Expo version: "~51.0.37" - devDependencies - dependencies - "^53.0.0"
|
|
24
|
+
- react-native: "0.74.5" - devDependencies
|
|
25
|
+
- iOS SDK version: 4.0.3
|
|
26
|
+
- Android SDK version: 4.1.0
|
package/README.md
CHANGED
|
@@ -1,17 +1,42 @@
|
|
|
1
1
|
# expo-mobile-sdk
|
|
2
2
|
|
|
3
|
-
A
|
|
3
|
+
A module implementing our native SDKs for the Expo framework.
|
|
4
4
|
|
|
5
5
|
# API documentation
|
|
6
6
|
|
|
7
|
+
The full Documentation and usage examples can be found at our [official site](https://docs.humansecurity.com/applications-and-accounts/docs/expo-integration).
|
|
8
|
+
|
|
7
9
|
# Installation in managed Expo projects -
|
|
8
10
|
From the terminal run:
|
|
9
11
|
|
|
12
|
+
```
|
|
13
|
+
npm install @humansecurity/expo-mobile-sdk
|
|
14
|
+
```
|
|
15
|
+
Then add the config plugin to your app.json (or app.config.js) so the Android dependency repository is automatically configured:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
{
|
|
19
|
+
"expo": {
|
|
20
|
+
"plugins": [
|
|
21
|
+
"@humansecurity/expo-mobile-sdk"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Note:**
|
|
28
|
+
The config plugin is available starting from **version 1.0.7 and later**.
|
|
29
|
+
If you are using an earlier version (**1.0.2–1.0.6**), **do not add** the plugin line — simply run:
|
|
10
30
|
```
|
|
11
31
|
npm install @humansecurity/expo-mobile-sdk
|
|
12
32
|
npx expo prebuild
|
|
13
33
|
```
|
|
14
34
|
|
|
35
|
+
Finally, run the prebuild command:
|
|
36
|
+
```
|
|
37
|
+
npx expo prebuild
|
|
38
|
+
```
|
|
39
|
+
|
|
15
40
|
### Usage example
|
|
16
41
|
|
|
17
42
|
```
|
|
@@ -21,7 +46,6 @@ import { HumanSecurity } from '@humansecurity/expo-mobile-sdk';
|
|
|
21
46
|
<ThemedText type="title">{HumanSecurity.sdkVersion()}</ThemedText>
|
|
22
47
|
|
|
23
48
|
```
|
|
24
|
-
The full Documentation and usage examples can be found at our [official site](https://docs.humansecurity.com/applications-and-accounts/docs/expo-integration).
|
|
25
49
|
|
|
26
50
|
### The current API:
|
|
27
51
|
|
|
@@ -45,6 +69,21 @@ The full Documentation and usage examples can be found at our [official site](ht
|
|
|
45
69
|
|
|
46
70
|
```
|
|
47
71
|
|
|
48
|
-
|
|
72
|
+
## Installation in bare React Native projects
|
|
49
73
|
|
|
50
74
|
For the react-native bare workflow projects see our [integration guide](https://docs.humansecurity.com/applications-and-accounts/docs/react-native-integration).
|
|
75
|
+
|
|
76
|
+
## ⚠️ Note for Custom / Bare Workflows
|
|
77
|
+
|
|
78
|
+
If your project does not use expo prebuild, you must manually add the repository entry to your android/build.gradle file.
|
|
79
|
+
Make sure this block appears in every section where you define repositories:
|
|
80
|
+
```
|
|
81
|
+
allprojects {
|
|
82
|
+
repositories {
|
|
83
|
+
// ... your existing repos
|
|
84
|
+
maven { url 'https://jfrog.humansecurity.com/artifactory/human-android-sdk/' }
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
The config plugin automatically adds this during expo prebuild,
|
|
89
|
+
but in custom workflows, it must be added manually to ensure proper Android dependency resolution.
|
package/android/build.gradle
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
|
+
buildscript {
|
|
2
|
+
// Simple helper that allows the root project to override versions declared by this library.
|
|
3
|
+
ext.safeExtGet = { prop, fallback ->
|
|
4
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
5
|
+
}
|
|
6
|
+
repositories {
|
|
7
|
+
google()
|
|
8
|
+
mavenCentral()
|
|
9
|
+
maven {
|
|
10
|
+
url 'https://jfrog.humansecurity.com/artifactory/human-android-sdk/'
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
allprojects {
|
|
16
|
+
repositories {
|
|
17
|
+
google()
|
|
18
|
+
mavenCentral()
|
|
19
|
+
maven {
|
|
20
|
+
url 'https://jfrog.humansecurity.com/artifactory/human-android-sdk/'
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
1
25
|
apply plugin: 'com.android.library'
|
|
2
26
|
|
|
3
27
|
group = 'expo.modules.humansdk'
|
|
4
|
-
version = '1.0.
|
|
28
|
+
version = '1.0.8'
|
|
5
29
|
|
|
6
30
|
def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
|
|
7
31
|
apply from: expoModulesCorePlugin
|
|
@@ -16,12 +40,6 @@ def useManagedAndroidSdkVersions = false
|
|
|
16
40
|
if (useManagedAndroidSdkVersions) {
|
|
17
41
|
useDefaultAndroidSdkVersions()
|
|
18
42
|
} else {
|
|
19
|
-
buildscript {
|
|
20
|
-
// Simple helper that allows the root project to override versions declared by this library.
|
|
21
|
-
ext.safeExtGet = { prop, fallback ->
|
|
22
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
43
|
project.android {
|
|
26
44
|
compileSdkVersion safeExtGet("compileSdkVersion", 34)
|
|
27
45
|
defaultConfig {
|
|
@@ -32,20 +50,14 @@ if (useManagedAndroidSdkVersions) {
|
|
|
32
50
|
}
|
|
33
51
|
|
|
34
52
|
dependencies {
|
|
35
|
-
implementation
|
|
36
|
-
implementation "androidx.core:core-ktx:1.13.1"
|
|
37
|
-
implementation "androidx.lifecycle:lifecycle-process:2.8.2"
|
|
38
|
-
implementation "androidx.datastore:datastore-preferences:1.1.1"
|
|
39
|
-
implementation "com.google.android.material:material:1.12.0"
|
|
40
|
-
implementation "com.fasterxml.uuid:java-uuid-generator:4.3.0"
|
|
41
|
-
implementation "io.ktor:ktor-client-okhttp:2.3.11"
|
|
53
|
+
implementation 'com.humansecurity:sdk:4.2.1'
|
|
42
54
|
}
|
|
43
55
|
|
|
44
56
|
android {
|
|
45
57
|
namespace "expo.modules.humansdk"
|
|
46
58
|
defaultConfig {
|
|
47
|
-
versionCode
|
|
48
|
-
versionName "1.0.
|
|
59
|
+
versionCode 8
|
|
60
|
+
versionName "1.0.8"
|
|
49
61
|
}
|
|
50
62
|
lintOptions {
|
|
51
63
|
abortOnError false
|
package/app.plugin.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// app.plugin.js
|
|
2
|
+
const { withProjectBuildGradle, WarningAggregator } = require('@expo/config-plugins');
|
|
3
|
+
|
|
4
|
+
const REPO_LINE = `maven { url 'https://jfrog.humansecurity.com/artifactory/human-android-sdk/' }`;
|
|
5
|
+
const REPO_MARKER = 'jfrog.humansecurity.com/artifactory/human-android-sdk';
|
|
6
|
+
|
|
7
|
+
function ensureInsideFirstRepositoriesBlock(block) {
|
|
8
|
+
if (block.includes(REPO_MARKER)) return block;
|
|
9
|
+
return block.replace(/repositories\s*\{/, (m) => `${m}\n ${REPO_LINE}`);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports = function withHumanRepo(config) {
|
|
13
|
+
return withProjectBuildGradle(config, (cfg) => {
|
|
14
|
+
let src = cfg.modResults.contents;
|
|
15
|
+
const before = src;
|
|
16
|
+
|
|
17
|
+
// 1) buildscript.repositories
|
|
18
|
+
src = src.replace(
|
|
19
|
+
/buildscript\s*\{\s*repositories\s*\{[\s\S]*?\}\s*([\r\n\t ]*dependencies\s*\{[\s\S]*?\}\s*)?\}/m,
|
|
20
|
+
(match) => ensureInsideFirstRepositoriesBlock(match)
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
// 2) allprojects.repositories
|
|
24
|
+
const replacedAll = src.replace(
|
|
25
|
+
/allprojects\s*\{\s*repositories\s*\{[\s\S]*?\}\s*\}/m,
|
|
26
|
+
(match) => ensureInsideFirstRepositoriesBlock(match)
|
|
27
|
+
);
|
|
28
|
+
if (replacedAll !== src) {
|
|
29
|
+
src = replacedAll;
|
|
30
|
+
} else if (!src.includes(REPO_MARKER)) {
|
|
31
|
+
// 3) append minimal block if none present
|
|
32
|
+
src += `
|
|
33
|
+
|
|
34
|
+
allprojects {
|
|
35
|
+
repositories {
|
|
36
|
+
google()
|
|
37
|
+
mavenCentral()
|
|
38
|
+
${REPO_LINE}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (src === before) {
|
|
45
|
+
WarningAggregator.addWarningAndroid(
|
|
46
|
+
'withHumanRepo',
|
|
47
|
+
'No Gradle repositories block matched; appended minimal allprojects.repositories if repo not found.'
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
cfg.modResults.contents = src;
|
|
52
|
+
return cfg;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { HSPolicy, HSBotDefenderChallengeResult } from "./ExpoHumanSdk.types";
|
|
2
|
+
export type Subscription = {
|
|
3
|
+
remove: () => void;
|
|
4
|
+
};
|
|
2
5
|
declare class ExpoHumanSdkModule {
|
|
3
6
|
sdkVersion(): string;
|
|
4
7
|
startWithAppId(appId: string, policy?: HSPolicy): Promise<void>;
|
|
@@ -19,7 +22,7 @@ declare class ExpoHumanSdkModule {
|
|
|
19
22
|
[key: string]: string;
|
|
20
23
|
}, appId?: string): void;
|
|
21
24
|
}
|
|
22
|
-
export declare const addEventListener: (eventName: string, listener: (data: any) => void) =>
|
|
25
|
+
export declare const addEventListener: (eventName: string, listener: (data: any) => void) => Subscription;
|
|
23
26
|
declare const _default: ExpoHumanSdkModule;
|
|
24
27
|
export default _default;
|
|
25
28
|
//# sourceMappingURL=ExpoHumanSdkModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoHumanSdkModule.d.ts","sourceRoot":"","sources":["../src/ExpoHumanSdkModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAK9E,OAAO,OAAO,kBAAkB;IAC9B,UAAU,IAAI,MAAM;IAEpB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IACnE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAGjC,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAC/D,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,4BAA4B,CAAC;IACxC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IACvE,oBAAoB,IAAI,MAAM;IAC9B,mBAAmB,CACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAGP,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IACtD,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAC7D,iBAAiB,CACf,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;CACR;AAED,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,UAAU,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"ExpoHumanSdkModule.d.ts","sourceRoot":"","sources":["../src/ExpoHumanSdkModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAK9E,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAElD,OAAO,OAAO,kBAAkB;IAC9B,UAAU,IAAI,MAAM;IAEpB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IACnE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAGjC,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAC/D,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,4BAA4B,CAAC;IACxC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IACvE,oBAAoB,IAAI,MAAM;IAC9B,mBAAmB,CACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAGP,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IACtD,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAC7D,iBAAiB,CACf,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACrC,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;CACR;AAED,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,UAAU,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAC5B,YAEF,CAAC;;AAGF,wBAAwE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoHumanSdkModule.js","sourceRoot":"","sources":["../src/ExpoHumanSdkModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAW,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoHumanSdkModule.js","sourceRoot":"","sources":["../src/ExpoHumanSdkModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAW,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;AAkCtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAiB,EACjB,QAA6B,EACf,EAAE;IAChB,OAAO,YAAY,CAAC,WAAW,CAAC,SAA2B,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,yDAAyD;AACzD,eAAe,mBAAmB,CAAqB,eAAe,CAAC,CAAC","sourcesContent":["import { requireNativeModule, EventEmitter } from \"expo-modules-core\";\nimport { HSPolicy, HSBotDefenderChallengeResult } from \"./ExpoHumanSdk.types\";\n\ntype EventMap = Record<string, (data: any) => void>;\nconst eventEmitter = new EventEmitter<EventMap>(requireNativeModule(\"HumanSecurity\"));\n\nexport type Subscription = { remove: () => void };\n\ndeclare class ExpoHumanSdkModule {\n sdkVersion(): string;\n\n startWithAppId(appId: string, policy?: HSPolicy): Promise<void>;\n startWithAppIds(appIds: string[], policy?: HSPolicy): Promise<void>;\n vid(appId: string): string | null;\n\n // BD functionality\n headersForURLRequest(appId?: string): { [key: string]: string };\n handleResponse(\n response: string,\n code: number,\n url: string,\n ): Promise<HSBotDefenderChallengeResult>;\n canHandleResponse(response: string, code: number, url: string): boolean;\n challengeReferenceId(): string;\n setCustomParameters(\n parameters: { [key: string]: string },\n appId?: string,\n ): void;\n\n // Adding AD functions\n setUserId(userId: string | null, appId?: string): void;\n registerOutgoingUrlRequest(url: string, appId?: string): void;\n setAdditionalData(\n parameters: { [key: string]: string },\n appId?: string,\n ): void;\n}\n\nexport const addEventListener = (\n eventName: string,\n listener: (data: any) => void,\n): Subscription => {\n return eventEmitter.addListener(eventName as keyof EventMap, listener);\n};\n\n// This call loads the native module object from the JSI.\nexport default requireNativeModule<ExpoHumanSdkModule>(\"HumanSecurity\");\n"]}
|
package/build/HumanSecurity.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare class HumanSecurity {
|
|
|
22
22
|
setCustomParameters(parameters: {
|
|
23
23
|
[key: string]: string;
|
|
24
24
|
}, appId?: string): void;
|
|
25
|
-
addListener(eventName: string, callback: (data: any) => void): import("
|
|
25
|
+
addListener(eventName: string, callback: (data: any) => void): import("./ExpoHumanSdkModule").Subscription;
|
|
26
26
|
};
|
|
27
27
|
static AD: {
|
|
28
28
|
setUserId(userId: string | null, appId?: string): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@humansecurity/expo-mobile-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
|
+
"expo": {
|
|
5
|
+
"plugins": [
|
|
6
|
+
"./app.plugin.js"
|
|
7
|
+
]
|
|
8
|
+
},
|
|
4
9
|
"description": "An Expo module to wrap human native SDK for Expo users.",
|
|
5
10
|
"main": "build/index.js",
|
|
6
11
|
"types": "build/index.d.ts",
|
|
@@ -26,17 +31,17 @@
|
|
|
26
31
|
"homepage": "https://github.com/PerimeterX/human-security-ios-sdk#readme",
|
|
27
32
|
"devDependencies": {
|
|
28
33
|
"expo": "^53.0.0",
|
|
29
|
-
"expo-modules-core": "^
|
|
30
|
-
"expo-module-scripts": "^
|
|
31
|
-
"react": "18.
|
|
32
|
-
"react-native": "0.
|
|
33
|
-
"@types/react": "~
|
|
34
|
-
"typescript": "^5.
|
|
34
|
+
"expo-modules-core": "^3.0.17",
|
|
35
|
+
"expo-module-scripts": "^5.0.7",
|
|
36
|
+
"react": "18.3.1",
|
|
37
|
+
"react-native": "0.81.4",
|
|
38
|
+
"@types/react": "~19.1.0",
|
|
39
|
+
"typescript": "^5.9.2"
|
|
35
40
|
},
|
|
36
41
|
"peerDependencies": {
|
|
37
|
-
"expo": "^53
|
|
38
|
-
"expo-modules-core": "^
|
|
39
|
-
"react": "
|
|
40
|
-
"react-native": "
|
|
42
|
+
"expo": "^53 || ^54",
|
|
43
|
+
"expo-modules-core": "^3.0.0",
|
|
44
|
+
"react": ">=18",
|
|
45
|
+
"react-native": ">=0.76"
|
|
41
46
|
}
|
|
42
47
|
}
|
|
Binary file
|