@regulaforensics/face-sdk 8.4.1488-rc → 8.4.1495-nightly

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.
@@ -4,35 +4,26 @@
4
4
  "scripts": {
5
5
  "setup": "scripts/setup.sh",
6
6
  "ios": "scripts/ios.sh",
7
- "android": "scripts/android.sh",
8
- "start": "expo start --port \"$npm_package_config_metroPort\""
7
+ "android": "scripts/android.sh"
9
8
  },
10
9
  "dependencies": {
11
- "@regulaforensics/face-sdk": "8.4.1488-rc",
12
- "@regulaforensics/face-core-basic": "8.5.906-rc",
13
- "react-native": "0.88.0-rc.0",
10
+ "@regulaforensics/face-sdk": "8.4.1495-nightly",
11
+ "@regulaforensics/face-core-basic": "8.5.911-nightly",
12
+ "react-native": "0.88.0",
14
13
  "react-native-fs": "^2.20.0",
15
- "react-native-image-picker": "^8.2.1",
14
+ "react-native-image-picker": "^8.3.0",
16
15
  "react-native-webview": "^14.0.1",
17
- "react": "19.2.3",
18
- "@types/react": "19.2.18",
19
- "expo": "58.0.0-preview.3",
20
- "expo-dev-client": "58.0.3",
16
+ "react": "19.3.1",
17
+ "@types/react": "19.3.0",
18
+ "expo": "~58.0.10",
21
19
  "expo-custom-assets": "^1.5.0",
22
- "expo-build-properties": "58.0.3",
20
+ "expo-build-properties": "~58.0.10",
23
21
  "typescript": "^7.0.2",
24
- "@expo/config-plugins": "58.0.0"
22
+ "@expo/config-plugins": "~58.0.9"
25
23
  },
26
24
  "overrides": {
27
- "uuid": "^14.0.0",
28
- "expo-custom-assets": {
29
- "expo": "$expo"
30
- },
31
- "source-map-js": "^1.2.2",
32
- "shell-quote": "^1.11.0",
33
- "@expo/metro-file-map": "^58.0.4"
34
- },
35
- "config": {
36
- "metroPort": 8082
25
+ "xcode": {
26
+ "uuid": "^11.1.1"
27
+ }
37
28
  }
38
29
  }
@@ -1,15 +1,8 @@
1
1
  #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
- adb reverse tcp:${npm_package_config_metroPort} tcp:${npm_package_config_metroPort} >/dev/null || :
5
4
  if [[ " $* " == *" --open "* ]] || [[ " $* " == *" -o "* ]]; then
6
5
  open -a 'Android Studio' android
7
- # Check if Metro is running at app's port.
8
- if [[ "$(curl --silent --max-time 2 http://localhost:${npm_package_config_metroPort}/status)" != "packager-status:running" ]]; then
9
- npm start
10
- else
11
- echo "Metro is already running on port ${npm_package_config_metroPort}."
12
- fi
13
6
  else
14
- expo run:android --device --port ${npm_package_config_metroPort}
7
+ npx expo run:android --device --no-bundler "$@"
15
8
  fi
@@ -1,14 +1,6 @@
1
1
  #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
- if [[ " $* " == *" --open "* ]] || [[ " $* " == *" -o "* ]]; then
5
- open ios/Face.xcworkspace
6
- # Check if Metro is running at app's port.
7
- if [[ "$(curl --silent --max-time 2 http://localhost:${npm_package_config_metroPort}/status)" != "packager-status:running" ]]; then
8
- npm start
9
- else
10
- echo "Metro is already running on port ${npm_package_config_metroPort}."
11
- fi
12
- else
13
- npx expo run:ios --device --port ${npm_package_config_metroPort}
14
- fi
4
+ [[ " $* " == *" --open "* || " $* " == *" -o "* ]] &&
5
+ open ios/Face.xcworkspace ||
6
+ npx expo run:ios --device --no-bundler "$@"
@@ -1,11 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  set -e
3
3
 
4
- # Kill Metro instance at app's port.
5
- lsof -tiTCP:${npm_package_config_metroPort} -sTCP:LISTEN | xargs kill 2>/dev/null || true
6
-
7
4
  npm install
8
- rm -rf node_modules/expo/node_modules/expo-modules-core/android/.cxx # Temp fix for expo@58.0.0-preview.3
9
5
  npx expo prebuild --no-install
10
6
  (cd ios && (pod install || pod update))
11
7
 
@@ -0,0 +1,86 @@
1
+ const { withAppDelegate, withAppBuildGradle, withMainApplication, withXcodeProject } = require('expo/config-plugins')
2
+
3
+ function replaceRequired(contents, pattern, replacement, description) {
4
+ if (!pattern.test(contents)) throw new Error(`Standalone build: cannot find ${description}`)
5
+ return contents.replace(pattern, replacement)
6
+ }
7
+
8
+ module.exports = config => {
9
+ config = withAppDelegate(config, config => {
10
+ let contents = config.modResults.contents
11
+ if (!contents.includes('// Standalone demo: no development menu.')) {
12
+ contents = replaceRequired(contents, /let factory = ExpoReactNativeFactory\(delegate: delegate\)/,
13
+ `let factory = ExpoReactNativeFactory(delegate: delegate)
14
+ // Standalone demo: no development menu.
15
+ #if DEBUG
16
+ factory.devMenuConfiguration = RCTDevMenuConfiguration(
17
+ devMenuEnabled: false, shakeGestureEnabled: false, keyboardShortcutsEnabled: false)
18
+ #endif`, 'React Native factory')
19
+ }
20
+ contents = replaceRequired(contents,
21
+ /override func bundleURL\(\) -> URL\? \{[\s\S]*?\n \}/,
22
+ `override func bundleURL() -> URL? {
23
+ return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
24
+ }`, 'bundleURL method')
25
+ config.modResults.contents = contents
26
+ return config
27
+ })
28
+
29
+ config = withXcodeProject(config, config => {
30
+ const phases = Object.values(config.modResults.hash.project.objects.PBXShellScriptBuildPhase || {})
31
+ const phase = phases.find(phase => phase.name === '"Bundle React Native code and images"')
32
+ if (!phase) throw new Error('Standalone build: cannot find iOS bundle build phase')
33
+ // Bundle plain JS in Debug as well. Hermes loads it directly, without an
34
+ // additional optimizing bytecode compiler pass or a Metro server.
35
+ phase.shellScript = JSON.stringify(`set -e
36
+ if [[ -f "$SRCROOT/.xcode.env" ]]; then source "$SRCROOT/.xcode.env"; fi
37
+ if [[ -f "$SRCROOT/.xcode.env.local" ]]; then source "$SRCROOT/.xcode.env.local"; fi
38
+ export PROJECT_ROOT="$PROJECT_DIR/.."
39
+ cd "$PROJECT_ROOT"
40
+ export NODE_ENV=production
41
+ export RCT_NO_LAUNCH_PACKAGER=1
42
+ ENTRY_FILE=$("$NODE_BINARY" -e "require('expo/scripts/resolveAppEntry')" "$PROJECT_ROOT" ios absolute | tail -n 1)
43
+ CLI_PATH=$("$NODE_BINARY" --print "require.resolve('@expo/cli', { paths: [require.resolve('expo/package.json')] })")
44
+ DEST="$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH"
45
+ mkdir -p "$DEST"
46
+ rm -rf "$DEST/web"
47
+ mkdir -p "$DEST/web/src"
48
+ cp src/*.html src/*.css "$DEST/web/src/"
49
+ cp -R images "$DEST/web/"
50
+ "$NODE_BINARY" "$CLI_PATH" export:embed --entry-file "$ENTRY_FILE" --platform ios --dev false --minify false --bundle-output "$DEST/main.jsbundle" --assets-dest "$DEST"
51
+ `)
52
+ phase.alwaysOutOfDate = 1
53
+ return config
54
+ })
55
+
56
+ config = withMainApplication(config, config => {
57
+ if (!config.modResults.contents.includes('useDevSupport = false')) {
58
+ config.modResults.contents = replaceRequired(config.modResults.contents,
59
+ /context = applicationContext,/, 'context = applicationContext,\n useDevSupport = false,', 'Android ReactHost context')
60
+ }
61
+ return config
62
+ })
63
+
64
+ config = withAppBuildGradle(config, config => {
65
+ if (!config.modResults.contents.includes('// Standalone demo: embed JS in Debug.')) {
66
+ config.modResults.contents = replaceRequired(config.modResults.contents, /react \{/,
67
+ `react {
68
+ // Standalone demo: embed JS in Debug.
69
+ debuggableVariants = []
70
+ extraPackagerArgs = ["--minify", "false"]
71
+ hermesFlags = ["-O0"]`, 'Android react block')
72
+ }
73
+ if (!config.modResults.contents.includes('tasks.register("copyWebAssets", Sync)')) {
74
+ config.modResults.contents += `
75
+ android.sourceSets.main.assets.srcDir(layout.buildDirectory.dir("generated/webAssets").get().asFile)
76
+ tasks.register("copyWebAssets", Sync) {
77
+ from(projectRoot) { include "src/*.html", "src/*.css", "images/**" }
78
+ into(layout.buildDirectory.dir("generated/webAssets/web"))
79
+ }
80
+ tasks.named("preBuild").configure { dependsOn("copyWebAssets") }
81
+ `
82
+ }
83
+ return config
84
+ })
85
+ return config
86
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regulaforensics/face-sdk",
3
- "version": "8.4.1488-rc",
3
+ "version": "8.4.1495-nightly",
4
4
  "description": "This is an npm module for Regula Face SDK. It allows you to easily compaire faces using your phone's camera.",
5
5
  "main": "www/react-native/index.js",
6
6
  "module": "www/capacitor/index.js",
package/plugin.xml CHANGED
@@ -1,5 +1,5 @@
1
1
  <?xml version='1.0' encoding='utf-8'?>
2
- <plugin id="@regulaforensics/face-sdk" version="8.4.1488-rc" xmlns="http://apache.org/cordova/ns/plugins/1.0">
2
+ <plugin id="@regulaforensics/face-sdk" version="8.4.1495-nightly" xmlns="http://apache.org/cordova/ns/plugins/1.0">
3
3
  <name>FaceSDK</name>
4
4
  <description>Cordova plugin for Regula Face SDK</description>
5
5
  <license>commercial</license>
@@ -27,7 +27,7 @@
27
27
  <source url="https://github.com/regulaforensics/podspecs.git" />
28
28
  </config>
29
29
  <pods>
30
- <pod name="FaceSDKStage" spec="8.5.5106" nospm="true" />
30
+ <pod name="FaceSDKNightly" spec="8.5.5115" nospm="true" />
31
31
  </pods>
32
32
  </podspec>
33
33
  </platform>
@@ -1,6 +1,6 @@
1
1
  Pod::Spec.new do |s|
2
2
  s.name = 'react-native-face-sdk'
3
- s.version = '8.4.1488-rc'
3
+ s.version = '8.4.1495-nightly'
4
4
  s.summary = 'Regula React Native plugin.'
5
5
  s.license = 'commercial'
6
6
  s.authors = { 'RegulaForensics' => 'support@regulaforensics.com' }
@@ -9,6 +9,6 @@ Pod::Spec.new do |s|
9
9
  s.ios.deployment_target = '15.0'
10
10
  s.source_files = [ 'ios/*.swift', 'ios/RN*.m' ]
11
11
  s.exclude_files = [ 'ios/CDVFaceSDK.swift' ]
12
- s.dependency 'FaceSDKStage', '8.5.5106'
12
+ s.dependency 'FaceSDKNightly', '8.5.5115'
13
13
  s.dependency 'React'
14
14
  end
@@ -13,12 +13,9 @@
13
13
  },
14
14
  "..": {
15
15
  "name": "@regulaforensics/face-sdk",
16
- "version": "8.4.1488-rc",
16
+ "version": "1.0.0",
17
17
  "dev": true,
18
- "license": "commercial",
19
- "dependencies": {
20
- "@expo/config-plugins": "^10.0.0"
21
- }
18
+ "license": "commercial"
22
19
  },
23
20
  "node_modules/@esbuild/aix-ppc64": {
24
21
  "version": "0.25.9",
@@ -1,12 +0,0 @@
1
- <meta name="viewport" content="initial-scale=1, user-scalable=no, viewport-fit=cover">
2
- <link rel="stylesheet" href="src/main.css">
3
-
4
- <div id="content" style="height: 100%"></div>
5
-
6
- <script>
7
- (async () => {
8
- document.getElementById("content").innerHTML = await fetch("src/main.html").then(r => r.text())
9
- await new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(resolve)))
10
- window.ReactNativeWebView.postMessage(JSON.stringify({ id: "ready" }))
11
- })()
12
- </script>