@expo/repack-app 0.1.13 → 0.1.15

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/README.md CHANGED
@@ -2,103 +2,6 @@
2
2
 
3
3
  Repacking tool for Expo apps
4
4
 
5
- ## Repack an onboarding app for Android
6
-
7
- 1. Install repack-app
8
-
9
- ```sh
10
- $ bun i
11
- ```
12
-
13
- 2. Generate golden apk
14
-
15
- ```sh
16
- $ ./scripts/create-golden-apk.sh
17
- ```
18
-
19
- The golden apk will be generated at **./golden-debug.apk**
20
-
21
- 3. Have an onboarding app setup at /path/to/sdk51onboard
22
-
23
- 4. Repack by cli
24
-
25
- ```sh
26
- $ bun bin/cli.js -p android --source-app ./golden-debug.apk /path/to/sdk51onboard
27
- ```
28
-
29
- 5. Install the app
30
-
31
- ```sh
32
- $ adb install -r /path/to/sdk51onboard/repacked.apk
33
- ```
34
-
35
- ## Repack an onboarding app for iOS simulators
36
-
37
- 1. Install repack-app
38
-
39
- ```sh
40
- $ bun i
41
- ```
42
-
43
- 2. Generate golden apk
44
-
45
- ```sh
46
- $ ./scripts/create-golden-ipa.sh iphonesimulator
47
- ```
48
-
49
- The golden apk will be generated at **./golden-debug-iphonesimulator.ipa**
50
-
51
- 3. Have an onboarding app setup at /path/to/sdk51onboard
52
-
53
- 4. Repack by cli
54
-
55
- ```sh
56
- $ bun bin/cli.js -p ios --source-app ./golden-debug-iphonesimulator.ipa /path/to/sdk51onboard
57
- ```
58
-
59
- 5. Install the app
60
-
61
- ```sh
62
- $ mkdir tmp && unzip /path/to/sdk51onboard/repacked.ipa -d tmp && xcrun simctl install booted tmp/Payload/*.app
63
- ```
64
-
65
- ## Repack an onboarding app for iOS devices
66
-
67
- 1. Install repack-app
68
-
69
- ```sh
70
- $ bun i
71
- ```
72
-
73
- 2. Generate golden apk
74
-
75
- ```sh
76
- $ ./scripts/create-golden-ipa.sh iphoneos
77
- ```
78
-
79
- The golden apk will be generated at **./golden-debug-iphoneos.ipa**
80
-
81
- 3. Have an onboarding app setup at /path/to/sdk51onboard
82
-
83
- 4. Repack by cli
84
-
85
- ```sh
86
- $ bun bin/cli.js -p ios --source-app ./golden-debug-iphoneos.ipa /path/to/sdk51onboard
87
- # then resign the ipa maybe through fastlane resign
88
-
89
- # or the cli also provides a shorthand
90
- $ bun bin/cli.js -p ios --source-app ./golden-debug-iphoneos.ipa \
91
- --signing-identity 'Apple Development: OOO (XXX)' \
92
- --provisioning-profile "$HOME/Library/MobileDevice/Provisioning Profiles/e1cf123b-d33a-2b3e-073a-c7ed52aa61bb.mobileprovision" \
93
- /path/to/sdk51onboard
94
- ```
95
-
96
- 5. Install the app
97
-
98
- ```sh
99
- $ xcrun devicectl device install app --verbose --device <device-id> /path/to/sdk51onboard/repacked.ipa
100
- ```
101
-
102
5
  ## API Documentation
103
6
 
104
7
  ### CLI Usage
@@ -119,14 +22,15 @@ repack-app [options] [project-root]
119
22
  #### Android-specific Options
120
23
 
121
24
  - `--ks <path>`: Path to the keystore file
122
- - `--ks-pass <password>`: Keystore password (default: "pass:android")
25
+ - `--ks-pass <password>`: Keystore password (supports formats: `pass:<password>`, `env:<name>`, `file:<file>`)
123
26
  - `--ks-key-alias <alias>`: Keystore key alias
124
- - `--ks-key-pass <password>`: Keystore key password
27
+ - `--ks-key-pass <password>`: Keystore key password (supports formats: `pass:<password>`, `env:<name>`, `file:<file>`)
125
28
 
126
29
  #### iOS-specific Options
127
30
 
128
- - `--signing-identity <identity>`: Signing identity (e.g., "Apple Development: Name (Team ID)")
129
- - `--provisioning-profile <path>`: Path to the provisioning profile
31
+ - `--signing-identity <identity>`: Code signing identity
32
+ - `--provisioning-profile <path>`: Path to the provisioning profile file(s)
33
+ - `--keychain-path <path>`: Path to the keychain file for codesign
130
34
 
131
35
  #### Bundle Options
132
36
 
@@ -149,14 +53,17 @@ await repackAppAndroidAsync({
149
53
  verbose: true,
150
54
  androidSigningOptions: {
151
55
  keyStorePath: '/path/to/keystore.jks',
152
- keyStorePassword: 'password',
56
+ keyStorePassword: 'pass:password', // or 'env:KEYSTORE_PASS' or 'file:/path/to/pass'
153
57
  keyAlias: 'alias',
154
- keyPassword: 'key-password',
58
+ keyPassword: 'pass:key-password', // or 'env:KEY_PASS' or 'file:/path/to/key-pass'
155
59
  },
156
60
  androidBuildToolsDir: '/path/to/build-tools',
157
61
  exportEmbedOptions: {
158
62
  sourcemapOutput: '/path/to/sourcemap',
159
63
  },
64
+ env: {
65
+ // Additional environment variables
66
+ },
160
67
  });
161
68
 
162
69
  // For iOS
@@ -171,10 +78,14 @@ await repackAppIosAsync({
171
78
  iosSigningOptions: {
172
79
  signingIdentity: 'Apple Development: Name (Team ID)',
173
80
  provisioningProfile: '/path/to/profile.mobileprovision',
81
+ keychainPath: '/path/to/keychain', // Optional
174
82
  },
175
83
  exportEmbedOptions: {
176
84
  sourcemapOutput: '/path/to/sourcemap',
177
85
  },
86
+ env: {
87
+ // Additional environment variables
88
+ },
178
89
  });
179
90
  ```
180
91
 
@@ -193,18 +104,23 @@ The following options are available when using the API programmatically:
193
104
  - `exportEmbedOptions?`: ExportEmbedOptions - Options for embedding JS bundle
194
105
  - `skipWorkingDirCleanup?`: boolean - Skip working directory cleanup
195
106
  - `env?`: Record<string, string | undefined> - Environment variables
196
- - `logger?`: Logger - Custom logger instance
197
- - `spawnAsync?`: SpawnProcessAsync - Custom spawn process function
198
107
 
199
108
  #### Android-specific Options
200
109
 
201
110
  - `androidSigningOptions?`: AndroidSigningOptions - Options for signing the Android app
111
+ - `keyStorePath`: string - Path to the keystore file
112
+ - `keyStorePassword`: string - Keystore password (supports formats: `pass:<password>`, `env:<name>`, `file:<file>`)
113
+ - `keyAlias?`: string - Keystore key alias
114
+ - `keyPassword?`: string - Keystore key password (supports formats: `pass:<password>`, `env:<name>`, `file:<file>`)
202
115
  - `androidBuildToolsDir?`: string - Path to Android SDK build-tools directory
203
116
 
204
117
  #### iOS-specific Options
205
118
 
206
119
  - `iosSigningOptions?`: IosSigningOptions - Options for signing the iOS app
120
+ - `signingIdentity`: string - Code signing identity
121
+ - `provisioningProfile`: string | Record<string, string> - Path to provisioning profile file(s)
122
+ - `keychainPath?`: string - Path to the keychain file for codesign
207
123
 
208
- ### Environment Variables
124
+ ## Environment Variables
209
125
 
210
126
  - `ANDROID_SDK_ROOT`: Path to the Android SDK root directory (required for Android builds)