rnbuilder 0.6.84 → 0.6.86

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
@@ -40,7 +40,7 @@ $ npm install -g rnbuilder
40
40
  $ rnbuilder COMMAND
41
41
  running command...
42
42
  $ rnbuilder (-v|--version|version)
43
- rnbuilder/0.6.84 darwin-arm64 node-v24.13.0
43
+ rnbuilder/0.6.86 darwin-arm64 node-v24.13.0
44
44
  $ rnbuilder --help [COMMAND]
45
45
  USAGE
46
46
  $ rnbuilder COMMAND
@@ -97,7 +97,7 @@ EXAMPLE
97
97
  hello world from ./src/build.ts!
98
98
  ```
99
99
 
100
- _See code: [src/commands/build.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/build.ts)_
100
+ _See code: [src/commands/build.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/build.ts)_
101
101
 
102
102
  ## `rnbuilder check-version [MATCH-CHECK]`
103
103
 
@@ -116,7 +116,7 @@ EXAMPLE
116
116
  Nuke certificates ./src/match-check.ts!
117
117
  ```
118
118
 
119
- _See code: [src/commands/check-version.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/check-version.ts)_
119
+ _See code: [src/commands/check-version.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/check-version.ts)_
120
120
 
121
121
  ## `rnbuilder codepush [BUILD]`
122
122
 
@@ -135,7 +135,7 @@ EXAMPLE
135
135
  Push changes to existing apps ./src/firebase-sync-udids.ts!
136
136
  ```
137
137
 
138
- _See code: [src/commands/codepush.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/codepush.ts)_
138
+ _See code: [src/commands/codepush.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/codepush.ts)_
139
139
 
140
140
  ## `rnbuilder google-key [MATCH-CHECK]`
141
141
 
@@ -154,7 +154,7 @@ EXAMPLE
154
154
  Nuke certificates ./src/match-check.ts!
155
155
  ```
156
156
 
157
- _See code: [src/commands/google-key.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/google-key.ts)_
157
+ _See code: [src/commands/google-key.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/google-key.ts)_
158
158
 
159
159
  ## `rnbuilder help [COMMAND]`
160
160
 
@@ -186,7 +186,7 @@ EXAMPLE
186
186
  initialize environment for first run from ./src/initialize.ts!
187
187
  ```
188
188
 
189
- _See code: [src/commands/initialize.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/initialize.ts)_
189
+ _See code: [src/commands/initialize.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/initialize.ts)_
190
190
 
191
191
  ## `rnbuilder match-check [MATCH-CHECK]`
192
192
 
@@ -205,7 +205,7 @@ EXAMPLE
205
205
  Check match certificates ./src/match-check.ts!
206
206
  ```
207
207
 
208
- _See code: [src/commands/match-check.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/match-check.ts)_
208
+ _See code: [src/commands/match-check.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/match-check.ts)_
209
209
 
210
210
  ## `rnbuilder match-nuke [BUILD]`
211
211
 
@@ -224,7 +224,7 @@ EXAMPLE
224
224
  Nuke certificates ./src/match-nuke.ts!
225
225
  ```
226
226
 
227
- _See code: [src/commands/match-nuke.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/match-nuke.ts)_
227
+ _See code: [src/commands/match-nuke.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/match-nuke.ts)_
228
228
 
229
229
  ## `rnbuilder reject-review [REJECT-REVIEW]`
230
230
 
@@ -242,7 +242,7 @@ EXAMPLE
242
242
  $ rnbuilder reject-review
243
243
  ```
244
244
 
245
- _See code: [src/commands/reject-review.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/reject-review.ts)_
245
+ _See code: [src/commands/reject-review.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/reject-review.ts)_
246
246
 
247
247
  ## `rnbuilder setup [SETUP]`
248
248
 
@@ -260,7 +260,7 @@ EXAMPLE
260
260
  hello world from ./src/setup.ts!
261
261
  ```
262
262
 
263
- _See code: [src/commands/setup.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/setup.ts)_
263
+ _See code: [src/commands/setup.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/setup.ts)_
264
264
 
265
265
  ## `rnbuilder setup-gcp`
266
266
 
@@ -274,7 +274,7 @@ OPTIONS
274
274
  -h, --help show CLI help
275
275
  ```
276
276
 
277
- _See code: [src/commands/setup-gcp.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/setup-gcp.ts)_
277
+ _See code: [src/commands/setup-gcp.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/setup-gcp.ts)_
278
278
 
279
279
  ## `rnbuilder submit-review [SUBMIT-REVIEW]`
280
280
 
@@ -293,7 +293,7 @@ EXAMPLE
293
293
  Push changes to existing apps ./src/firebase-sync-udids.ts!
294
294
  ```
295
295
 
296
- _See code: [src/commands/submit-review.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/submit-review.ts)_
296
+ _See code: [src/commands/submit-review.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/submit-review.ts)_
297
297
 
298
298
  ## `rnbuilder sync-udids [BUILD]`
299
299
 
@@ -312,5 +312,5 @@ EXAMPLE
312
312
  Sync device UDIDs from firebase from ./src/firebase-sync-udids.ts!
313
313
  ```
314
314
 
315
- _See code: [src/commands/sync-udids.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.84/src/commands/sync-udids.ts)_
315
+ _See code: [src/commands/sync-udids.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.86/src/commands/sync-udids.ts)_
316
316
  <!-- commandsstop -->
@@ -35,53 +35,123 @@ async function generateLegacyIcons(sourceFile, mipmapDir, size) {
35
35
  }
36
36
  async function generateAdaptiveLayers(sourceFile, mipmapDir, canvasSize, safeZoneSize, backgroundColor) {
37
37
  await sharp({
38
- create: { width: canvasSize, height: canvasSize, channels: 4, background: Object.assign(Object.assign({}, backgroundColor), { alpha: 1 }) },
38
+ create: {
39
+ width: canvasSize,
40
+ height: canvasSize,
41
+ channels: 4,
42
+ background: Object.assign(Object.assign({}, backgroundColor), { alpha: 1 }),
43
+ },
39
44
  })
40
45
  .png()
41
46
  .toFile(path.join(mipmapDir, 'ic_launcher_background.png'));
42
47
  const offset = Math.round((canvasSize - safeZoneSize) / 2);
43
- const foreground = await sharp(sourceFile).resize(safeZoneSize, safeZoneSize).toBuffer();
48
+ const foreground = await sharp(sourceFile)
49
+ .resize(safeZoneSize, safeZoneSize)
50
+ .toBuffer();
44
51
  await sharp({
45
- create: { width: canvasSize, height: canvasSize, channels: 4, background: { r: 0, g: 0, b: 0, alpha: 0 } },
52
+ create: {
53
+ width: canvasSize,
54
+ height: canvasSize,
55
+ channels: 4,
56
+ background: { r: 0, g: 0, b: 0, alpha: 0 },
57
+ },
46
58
  })
47
59
  .composite([{ input: foreground, left: offset, top: offset }])
48
60
  .png()
49
61
  .toFile(path.join(mipmapDir, 'ic_launcher_foreground.png'));
50
62
  }
51
- // Notification icons must be a white silhouette on transparent. If the source
52
- // has an alpha channel we use it directly (correct shape); otherwise we fall
53
- // back to a luminance threshold, which assumes a dark mark on a light background.
54
- async function buildSilhouetteMask(sourceFile, size) {
55
- const meta = await sharp(sourceFile).metadata();
56
- if (meta.hasAlpha) {
57
- return sharp(sourceFile).resize(size, size).ensureAlpha().png().toBuffer();
63
+ const NOTIFICATION_ICON_NAME = 'ic_stat_notification';
64
+ // Status bar icons render as the alpha shape only. Keep a 2dp-in-24dp margin around the mark.
65
+ const NOTIFICATION_MARK_RATIO = 20 / 24;
66
+ // A pixel counts as mark when it differs from the background by this much (0-255).
67
+ const BACKGROUND_DIFF_FULL_ALPHA = 90;
68
+ // Alpha mask of the logo mark, cropped to its bounding box. Uses the source alpha when the
69
+ // source has transparency. Otherwise (opaque square icon) the mark is whatever differs from
70
+ // the corner background color; using the opaque alpha would give a solid square.
71
+ async function extractMark(sourceFile) {
72
+ const { data, info } = await sharp(sourceFile)
73
+ .ensureAlpha()
74
+ .raw()
75
+ .toBuffer({ resolveWithObject: true });
76
+ const { width, height } = info;
77
+ const pixelCount = width * height;
78
+ const alpha = Buffer.alloc(pixelCount);
79
+ let opaque = true;
80
+ for (let i = 0; i < pixelCount; i++) {
81
+ alpha[i] = data[i * 4 + 3];
82
+ if (alpha[i] !== 255)
83
+ opaque = false;
58
84
  }
59
- const alphaChannel = await sharp(sourceFile)
60
- .resize(size, size)
61
- .greyscale()
62
- .negate()
63
- .threshold(128)
64
- .toBuffer();
65
- const rgb = await sharp({
66
- create: { width: size, height: size, channels: 3, background: { r: 255, g: 255, b: 255 } },
85
+ const mask = opaque ? Buffer.alloc(pixelCount) : alpha;
86
+ if (opaque) {
87
+ const [bgR, bgG, bgB] = data;
88
+ for (let i = 0; i < pixelCount; i++) {
89
+ const diff = Math.max(Math.abs(data[i * 4] - bgR), Math.abs(data[i * 4 + 1] - bgG), Math.abs(data[i * 4 + 2] - bgB));
90
+ mask[i] = Math.min(255, Math.round((diff * 255) / BACKGROUND_DIFF_FULL_ALPHA));
91
+ }
92
+ }
93
+ let minX = width;
94
+ let minY = height;
95
+ let maxX = -1;
96
+ let maxY = -1;
97
+ for (let y = 0; y < height; y++) {
98
+ for (let x = 0; x < width; x++) {
99
+ if (mask[y * width + x] > 16) {
100
+ minX = Math.min(minX, x);
101
+ maxX = Math.max(maxX, x);
102
+ minY = Math.min(minY, y);
103
+ maxY = Math.max(maxY, y);
104
+ }
105
+ }
106
+ }
107
+ if (maxX < 0)
108
+ throw new Error(`No logo mark found in ${sourceFile} for the notification icon`);
109
+ const markWidth = maxX - minX + 1;
110
+ const markHeight = maxY - minY + 1;
111
+ const cropped = Buffer.alloc(markWidth * markHeight);
112
+ for (let y = 0; y < markHeight; y++) {
113
+ mask.copy(cropped, y * markWidth, (minY + y) * width + minX, (minY + y) * width + minX + markWidth);
114
+ }
115
+ return { data: cropped, width: markWidth, height: markHeight };
116
+ }
117
+ async function generateNotificationIcon(mark, drawableDir, size) {
118
+ const inner = Math.round(size * NOTIFICATION_MARK_RATIO);
119
+ const { data, info } = await sharp(mark.data, {
120
+ raw: { width: mark.width, height: mark.height, channels: 1 },
121
+ })
122
+ .resize(inner, inner, { fit: 'inside' })
123
+ .toBuffer({ resolveWithObject: true });
124
+ const left = Math.floor((size - info.width) / 2);
125
+ const top = Math.floor((size - info.height) / 2);
126
+ const alpha = await sharp(data, {
127
+ raw: { width: info.width, height: info.height, channels: info.channels },
128
+ })
129
+ .extend({
130
+ top,
131
+ bottom: size - info.height - top,
132
+ left,
133
+ right: size - info.width - left,
134
+ background: { r: 0, g: 0, b: 0 },
67
135
  })
68
136
  .png()
69
137
  .toBuffer();
70
- return sharp(rgb).joinChannel(alphaChannel).png().toBuffer();
71
- }
72
- async function generateNotificationIcon(sourceFile, drawableDir, size) {
73
- const mask = await buildSilhouetteMask(sourceFile, size);
74
138
  const white = await sharp({
75
- create: { width: size, height: size, channels: 4, background: { r: 255, g: 255, b: 255, alpha: 1 } },
139
+ create: {
140
+ width: size,
141
+ height: size,
142
+ channels: 3,
143
+ background: { r: 255, g: 255, b: 255 },
144
+ },
76
145
  })
77
146
  .png()
78
147
  .toBuffer();
79
148
  await sharp(white)
80
- .composite([{ input: mask, blend: 'dest-in' }])
149
+ .joinChannel(alpha)
81
150
  .png()
82
- .toFile(path.join(drawableDir, 'ic_notification.png'));
151
+ .toFile(path.join(drawableDir, `${NOTIFICATION_ICON_NAME}.png`));
83
152
  }
84
153
  async function generateAndroidIcons({ sourceFile, androidAssetFolder, backgroundColor = { r: 255, g: 255, b: 255 }, }) {
154
+ const notificationMark = await extractMark(sourceFile);
85
155
  const anydpiDir = path.join(androidAssetFolder, 'mipmap-anydpi-v26');
86
156
  common_1.ensureDir(anydpiDir);
87
157
  fs.writeFileSync(path.join(anydpiDir, 'ic_launcher.xml'), ADAPTIVE_ICON_XML, 'utf-8');
@@ -93,9 +163,8 @@ async function generateAndroidIcons({ sourceFile, androidAssetFolder, background
93
163
  common_1.ensureDir(drawableDir);
94
164
  await generateLegacyIcons(sourceFile, mipmapDir, Math.round(LEGACY_BASE_SIZE * scale));
95
165
  await generateAdaptiveLayers(sourceFile, mipmapDir, Math.round(ADAPTIVE_CANVAS_BASE_SIZE * scale), Math.round(ADAPTIVE_SAFE_ZONE_BASE_SIZE * scale), backgroundColor);
96
- await generateNotificationIcon(sourceFile, drawableDir, Math.round(NOTIFICATION_BASE_SIZE * scale));
166
+ await generateNotificationIcon(notificationMark, drawableDir, Math.round(NOTIFICATION_BASE_SIZE * scale));
97
167
  }
98
168
  console.log(`Generated Android launcher + adaptive + notification icons in ${androidAssetFolder}`);
99
- console.log('Note: reference "ic_notification" from AndroidManifest.xml / push SDK config manually if not already wired.');
100
169
  }
101
170
  exports.generateAndroidIcons = generateAndroidIcons;
@@ -90,7 +90,7 @@ exports.provisionFirebase = async ({ client, fastlaneDir, }) => {
90
90
  const fastlaneEnvPath = path.join(fastlaneDir, '.env');
91
91
  const fastlaneEnvVars = env_1.readEnvVars(fastlaneEnvPath);
92
92
  await copyServiceAccountFile(clients[client].project, fastlaneDir);
93
- env_1.setEnvValue('FIREBASE_SERVICE_ACCOUNT_FILE', 'firebase.json', fastlaneEnvVars);
93
+ env_1.setEnvValue('FIREBASE_SERVICE_ACCOUNT_FILE', 'fastlane/firebase.json', fastlaneEnvVars);
94
94
  env_1.saveEnvValues(fastlaneEnvVars, fastlaneEnvPath);
95
95
  const { apnsKey } = await inquirer.prompt([
96
96
  {
@@ -1 +1 @@
1
- {"version":"0.6.84","commands":{"build":{"id":"build","description":"Build react native apps","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder build\nhello world from ./src/build.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Set client that you want to build app"},"target":{"name":"target","type":"option","char":"t","description":"Set the build target: android, ios or both","options":["android","ios","android,ios"]},"env":{"name":"env","type":"option","char":"e","description":"Set the environment: prod, staging, dev"},"branch":{"name":"branch","type":"option","char":"b","description":"Set the source branch used to build the app"},"version":{"name":"version","type":"option","char":"v","description":"Set the version number for this build"},"installr":{"name":"installr","type":"option","char":"i","description":"If enabled, the build will be uploaded to installR"},"distribute":{"name":"distribute","type":"option","char":"d","description":"Specify where to distribute app"},"firebase":{"name":"firebase","type":"boolean","char":"f","description":"If enabled, the build will be uploaded to firebase","allowNo":false},"testersIos":{"name":"testersIos","type":"option","char":"t","description":"Tester ids for iOS distribution"},"testersAndroid":{"name":"testersAndroid","type":"option","char":"u","description":"Tester ids for Android distribution"},"gitReset":{"name":"gitReset","type":"boolean","char":"g","description":"Do git reset when building","allowNo":false},"cleanup":{"name":"cleanup","type":"boolean","char":"s","description":"Do cleanup when building","allowNo":false},"groupsIos":{"name":"groupsIos","type":"option","description":"Groups ids for iOS distribution"},"groupsAndroid":{"name":"groupsAndroid","type":"option","description":"Groups ids for Android distribution"},"skipCheckVersion":{"name":"skipCheckVersion","type":"boolean","description":"Skip checking current version on stores","allowNo":false},"install":{"name":"install","type":"boolean","char":"n","description":"Install dependencies before building","allowNo":false}},"args":[{"name":"build"}]},"check-version":{"id":"check-version","description":"Check live versions","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder check-version\n Nuke certificates ./src/match-check.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"match-check"}]},"codepush":{"id":"codepush","description":"Push changes to existing apps","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder codepush\n Push changes to existing apps ./src/firebase-sync-udids.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to push update"}},"args":[{"name":"build"}]},"google-key":{"id":"google-key","description":"Nuke certificates","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder match-check\n Nuke certificates ./src/match-check.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"match-check"}]},"initialize":{"id":"initialize","description":"Initialize the environment for first run","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder initialize\ninitialize environment for first run from ./src/initialize.ts!\n"],"flags":{},"args":[]},"match-check":{"id":"match-check","description":"Check match certificates","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder match-check\n Check match certificates ./src/match-check.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to check match certificates"}},"args":[{"name":"match-check"}]},"match-nuke":{"id":"match-nuke","description":"Nuke certificates","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder match-nuke\n Nuke certificates ./src/match-nuke.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"build"}]},"reject-review":{"id":"reject-review","description":"Reject current App Store review version (In Review or Pending Developer Release)","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder reject-review\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client to reject App Store review version"}},"args":[{"name":"reject-review"}]},"setup-gcp":{"id":"setup-gcp","description":"Setup GCP service account impersonation","pluginName":"rnbuilder","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"setup":{"id":"setup","description":"Setup new client","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder build\nhello world from ./src/setup.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[{"name":"setup"}]},"submit-review":{"id":"submit-review","description":"Submit ios for review","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder submit-review\n Push changes to existing apps ./src/firebase-sync-udids.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to push update"}},"args":[{"name":"submit-review"}]},"sync-udids":{"id":"sync-udids","description":"Sync device UDIDs from firebase","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder sync-udids\n Sync device UDIDs from firebase from ./src/firebase-sync-udids.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"build"}]}}}
1
+ {"version":"0.6.86","commands":{"build":{"id":"build","description":"Build react native apps","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder build\nhello world from ./src/build.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Set client that you want to build app"},"target":{"name":"target","type":"option","char":"t","description":"Set the build target: android, ios or both","options":["android","ios","android,ios"]},"env":{"name":"env","type":"option","char":"e","description":"Set the environment: prod, staging, dev"},"branch":{"name":"branch","type":"option","char":"b","description":"Set the source branch used to build the app"},"version":{"name":"version","type":"option","char":"v","description":"Set the version number for this build"},"installr":{"name":"installr","type":"option","char":"i","description":"If enabled, the build will be uploaded to installR"},"distribute":{"name":"distribute","type":"option","char":"d","description":"Specify where to distribute app"},"firebase":{"name":"firebase","type":"boolean","char":"f","description":"If enabled, the build will be uploaded to firebase","allowNo":false},"testersIos":{"name":"testersIos","type":"option","char":"t","description":"Tester ids for iOS distribution"},"testersAndroid":{"name":"testersAndroid","type":"option","char":"u","description":"Tester ids for Android distribution"},"gitReset":{"name":"gitReset","type":"boolean","char":"g","description":"Do git reset when building","allowNo":false},"cleanup":{"name":"cleanup","type":"boolean","char":"s","description":"Do cleanup when building","allowNo":false},"groupsIos":{"name":"groupsIos","type":"option","description":"Groups ids for iOS distribution"},"groupsAndroid":{"name":"groupsAndroid","type":"option","description":"Groups ids for Android distribution"},"skipCheckVersion":{"name":"skipCheckVersion","type":"boolean","description":"Skip checking current version on stores","allowNo":false},"install":{"name":"install","type":"boolean","char":"n","description":"Install dependencies before building","allowNo":false}},"args":[{"name":"build"}]},"check-version":{"id":"check-version","description":"Check live versions","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder check-version\n Nuke certificates ./src/match-check.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"match-check"}]},"codepush":{"id":"codepush","description":"Push changes to existing apps","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder codepush\n Push changes to existing apps ./src/firebase-sync-udids.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to push update"}},"args":[{"name":"build"}]},"google-key":{"id":"google-key","description":"Nuke certificates","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder match-check\n Nuke certificates ./src/match-check.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"match-check"}]},"initialize":{"id":"initialize","description":"Initialize the environment for first run","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder initialize\ninitialize environment for first run from ./src/initialize.ts!\n"],"flags":{},"args":[]},"match-check":{"id":"match-check","description":"Check match certificates","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder match-check\n Check match certificates ./src/match-check.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to check match certificates"}},"args":[{"name":"match-check"}]},"match-nuke":{"id":"match-nuke","description":"Nuke certificates","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder match-nuke\n Nuke certificates ./src/match-nuke.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"build"}]},"reject-review":{"id":"reject-review","description":"Reject current App Store review version (In Review or Pending Developer Release)","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder reject-review\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client to reject App Store review version"}},"args":[{"name":"reject-review"}]},"setup-gcp":{"id":"setup-gcp","description":"Setup GCP service account impersonation","pluginName":"rnbuilder","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"setup":{"id":"setup","description":"Setup new client","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder build\nhello world from ./src/setup.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[{"name":"setup"}]},"submit-review":{"id":"submit-review","description":"Submit ios for review","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder submit-review\n Push changes to existing apps ./src/firebase-sync-udids.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to push update"}},"args":[{"name":"submit-review"}]},"sync-udids":{"id":"sync-udids","description":"Sync device UDIDs from firebase","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder sync-udids\n Sync device UDIDs from firebase from ./src/firebase-sync-udids.ts!\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"show CLI help","allowNo":false},"client":{"name":"client","type":"option","char":"c","description":"Select client that you want to sync udids"}},"args":[{"name":"build"}]}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rnbuilder",
3
3
  "description": "React Native builder tool",
4
- "version": "0.6.84",
4
+ "version": "0.6.86",
5
5
  "author": "Tuan Luong @r0b0t3d",
6
6
  "bin": "./bin/run",
7
7
  "bugs": "https://github.com/r0b0t3d/rnbuilder/issues",