@burnt-labs/expo-satya-attest 0.2.2 → 0.2.4

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/PUBLISHING.md CHANGED
@@ -59,7 +59,7 @@ Build them from the module directory:
59
59
  ```bash
60
60
  cd platform_sdks/expo-satya-attest
61
61
  npm run build:native:android
62
- npm run build:native:ios
62
+ SATYA_IOS_INCLUDE_SIMULATOR=1 npm run build:native:ios
63
63
  ```
64
64
 
65
65
  iOS artifacts can only be built on macOS with Xcode command line tools. Android artifacts
@@ -72,10 +72,9 @@ diagnostic unstripped iOS build:
72
72
  SATYA_IOS_STRIP=0 npm run build:native:ios
73
73
  ```
74
74
 
75
- By default, the iOS release build includes only the physical-device `arm64` slice. That
76
- is intentional: the real App Attest flow does not work on the iOS simulator, and shipping
77
- simulator slices makes the npm package much larger without helping the production claim
78
- path.
75
+ Publishing builds include the physical-device `arm64` slice plus simulator slices so
76
+ Expo development clients can install the SDK in simulator fallback flows. The real App
77
+ Attest path still only works on physical devices.
79
78
 
80
79
  ## Release Checks
81
80
 
@@ -100,6 +99,7 @@ npm run clean
100
99
  npm run build
101
100
  npm run lint
102
101
  npm run test:providers
102
+ npm run test:publishing-workflows
103
103
  npm run check:example
104
104
  npm run check:native-artifacts
105
105
  npm run check:pack
@@ -113,6 +113,7 @@ What each check covers:
113
113
  | `clean` + `build` | Rebuilds TypeScript output in `build/`. |
114
114
  | `lint` | Runs ESLint over `src/`. |
115
115
  | `test:providers` | Validates provider ids, template hashes, parser hashes, request match rules, HTTPS proof URLs, SNI, and SPKI pins. |
116
+ | `test:publishing-workflows` | Confirms publish workflows build iOS artifacts with simulator slices and matching Rust targets. |
116
117
  | `check:example` | Type-checks the Expo example when its dependencies are installed. |
117
118
  | `check:native-artifacts` | Fails if Android `.so`, generated Kotlin, iOS XCFramework, or generated Swift glue are missing. |
118
119
  | `check:pack` | Runs `npm pack --dry-run --json` and verifies the actual tarball contents. |
@@ -294,8 +295,8 @@ Keep watching:
294
295
  - `npm run check:pack` for npm tarball and unpacked package size.
295
296
  - Whether every release includes only the ABIs you actually support.
296
297
 
297
- Current default iOS output includes only device `arm64`. If you need simulator artifacts
298
- for local fallback/debug work, opt in explicitly:
298
+ Current local iOS output includes only device `arm64` unless you opt in explicitly.
299
+ Publish workflows and release builds should use:
299
300
 
300
301
  ```bash
301
302
  SATYA_IOS_INCLUDE_SIMULATOR=1 npm run build:native:ios
@@ -307,8 +308,8 @@ For Apple-Silicon-simulator-only fallback builds:
307
308
  SATYA_IOS_SIMULATOR_TARGETS="aarch64-apple-ios-sim" npm run build:native:ios
308
309
  ```
309
310
 
310
- Do not publish simulator slices unless you intentionally support a simulator fallback
311
- experience. They are not useful for real App Attest verification.
311
+ Simulator slices are only for simulator fallback and development-client installability;
312
+ they are not useful for real App Attest verification.
312
313
 
313
314
  If the tarball becomes too large for npm or painful for app installs, the next design
314
315
  step is a binary-release model:
package/README.md CHANGED
@@ -68,10 +68,10 @@ npm run build:native:ios
68
68
  npm run build:native:android
69
69
  ```
70
70
 
71
- `build:native:ios` strips local/debug symbols from the XCFramework and publishes a
72
- physical-device `arm64` iOS slice by default because the real App Attest flow does not
73
- work on simulator. See [`PUBLISHING.md`](./PUBLISHING.md) for optional simulator fallback
74
- builds and other binary-size knobs.
71
+ `build:native:ios` strips local/debug symbols from the XCFramework. Local builds include
72
+ the physical-device `arm64` iOS slice by default; publishing builds set
73
+ `SATYA_IOS_INCLUDE_SIMULATOR=1` so simulator fallback slices ship too. See
74
+ [`PUBLISHING.md`](./PUBLISHING.md) for release and binary-size knobs.
75
75
 
76
76
  Build TypeScript after editing `src/*.ts` or `src/*.tsx`:
77
77
 
@@ -4,13 +4,13 @@ plugins {
4
4
  }
5
5
 
6
6
  group = 'expo.modules.satyaattest'
7
- version = '0.2.2'
7
+ version = '0.2.4'
8
8
 
9
9
  android {
10
10
  namespace "expo.modules.satyaattest"
11
11
  defaultConfig {
12
12
  versionCode 1
13
- versionName "0.2.2"
13
+ versionName "0.2.4"
14
14
  // StrongBox key attestation needs API 28+; basic Keystore attestation API 24+.
15
15
  minSdkVersion 24
16
16
  }
@@ -20,6 +20,25 @@
20
20
  <key>SupportedPlatform</key>
21
21
  <string>ios</string>
22
22
  </dict>
23
+ <dict>
24
+ <key>BinaryPath</key>
25
+ <string>libsatya_ffi.a</string>
26
+ <key>HeadersPath</key>
27
+ <string>Headers</string>
28
+ <key>LibraryIdentifier</key>
29
+ <string>ios-arm64_x86_64-simulator</string>
30
+ <key>LibraryPath</key>
31
+ <string>libsatya_ffi.a</string>
32
+ <key>SupportedArchitectures</key>
33
+ <array>
34
+ <string>arm64</string>
35
+ <string>x86_64</string>
36
+ </array>
37
+ <key>SupportedPlatform</key>
38
+ <string>ios</string>
39
+ <key>SupportedPlatformVariant</key>
40
+ <string>simulator</string>
41
+ </dict>
23
42
  </array>
24
43
  <key>CFBundlePackageType</key>
25
44
  <string>XFWK</string>
@@ -0,0 +1,7 @@
1
+ module satya_ffiFFI {
2
+ header "satya_ffiFFI.h"
3
+ export *
4
+ use "Darwin"
5
+ use "_Builtin_stdbool"
6
+ use "_Builtin_stdint"
7
+ }