rnbuilder 0.5.5 → 0.5.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/README.md CHANGED
@@ -20,7 +20,7 @@ $ npm install -g rnbuilder
20
20
  $ rnbuilder COMMAND
21
21
  running command...
22
22
  $ rnbuilder (-v|--version|version)
23
- rnbuilder/0.5.5 darwin-arm64 node-v16.13.0
23
+ rnbuilder/0.5.8 darwin-arm64 node-v16.13.0
24
24
  $ rnbuilder --help [COMMAND]
25
25
  USAGE
26
26
  $ rnbuilder COMMAND
@@ -33,6 +33,7 @@ USAGE
33
33
  * [`rnbuilder codepush [BUILD]`](#rnbuilder-codepush-build)
34
34
  * [`rnbuilder help [COMMAND]`](#rnbuilder-help-command)
35
35
  * [`rnbuilder initialize`](#rnbuilder-initialize)
36
+ * [`rnbuilder match-nuke [BUILD]`](#rnbuilder-match-nuke-build)
36
37
  * [`rnbuilder sync-udids [BUILD]`](#rnbuilder-sync-udids-build)
37
38
 
38
39
  ## `rnbuilder build [BUILD]`
@@ -57,7 +58,7 @@ EXAMPLE
57
58
  hello world from ./src/build.ts!
58
59
  ```
59
60
 
60
- _See code: [src/commands/build.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.5/src/commands/build.ts)_
61
+ _See code: [src/commands/build.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.8/src/commands/build.ts)_
61
62
 
62
63
  ## `rnbuilder codepush [BUILD]`
63
64
 
@@ -76,7 +77,7 @@ EXAMPLE
76
77
  Push changes to existing apps ./src/firebase-sync-udids.ts!
77
78
  ```
78
79
 
79
- _See code: [src/commands/codepush.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.5/src/commands/codepush.ts)_
80
+ _See code: [src/commands/codepush.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.8/src/commands/codepush.ts)_
80
81
 
81
82
  ## `rnbuilder help [COMMAND]`
82
83
 
@@ -108,7 +109,26 @@ EXAMPLE
108
109
  initialize environment for first run from ./src/initialize.ts!
109
110
  ```
110
111
 
111
- _See code: [src/commands/initialize.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.5/src/commands/initialize.ts)_
112
+ _See code: [src/commands/initialize.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.8/src/commands/initialize.ts)_
113
+
114
+ ## `rnbuilder match-nuke [BUILD]`
115
+
116
+ Nuke certificates
117
+
118
+ ```
119
+ USAGE
120
+ $ rnbuilder match-nuke [BUILD]
121
+
122
+ OPTIONS
123
+ -c, --client=client Select client that you want to sync udids
124
+ -h, --help show CLI help
125
+
126
+ EXAMPLE
127
+ $ rnbuilder match-nuke
128
+ Nuke certificates ./src/match-nuke.ts!
129
+ ```
130
+
131
+ _See code: [src/commands/match-nuke.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.8/src/commands/match-nuke.ts)_
112
132
 
113
133
  ## `rnbuilder sync-udids [BUILD]`
114
134
 
@@ -127,5 +147,5 @@ EXAMPLE
127
147
  Sync device UDIDs from firebase from ./src/firebase-sync-udids.ts!
128
148
  ```
129
149
 
130
- _See code: [src/commands/sync-udids.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.5/src/commands/sync-udids.ts)_
150
+ _See code: [src/commands/sync-udids.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.5.8/src/commands/sync-udids.ts)_
131
151
  <!-- commandsstop -->
@@ -15,7 +15,7 @@ export default class Build extends Command {
15
15
  name: string;
16
16
  }[];
17
17
  askForMissingFields: (flags: any) => Promise<any>;
18
- updateAppVersion(targets: string[], client?: string, versionNumber?: string): void;
18
+ updateAppVersion(targets: string[], env: string, client?: string, versionNumber?: string): void;
19
19
  runPlatforms(target: string[], parameters: any, otherParams: any): void;
20
20
  run(): Promise<void>;
21
21
  }
@@ -136,8 +136,12 @@ class Build extends command_1.Command {
136
136
  return result;
137
137
  };
138
138
  }
139
- updateAppVersion(targets, client, versionNumber) {
140
- const appVersions = require(process.cwd() + '/app.json');
139
+ updateAppVersion(targets, env, client, versionNumber) {
140
+ let fileName = 'app';
141
+ if (env !== 'prod') {
142
+ fileName = `${fileName}.${env}`;
143
+ }
144
+ const appVersions = require(process.cwd() + `/${fileName}.json`);
141
145
  targets.forEach((t) => {
142
146
  const appVersion = utils_1.getAppVersion(client, t);
143
147
  const newVersion = Object.assign(Object.assign({}, appVersion), { build: appVersion.build + 1, buildDate: new Date().toDateString() });
@@ -153,7 +157,6 @@ class Build extends command_1.Command {
153
157
  });
154
158
  const json = JSON.stringify(appVersions, null, 2);
155
159
  fs.writeFileSync(process.cwd() + '/app.json', json);
156
- shell.exec('git add . && git commit -m "bump version" && git push');
157
160
  }
158
161
  runPlatforms(target, parameters, otherParams) {
159
162
  target.forEach((t) => {
@@ -165,12 +168,20 @@ class Build extends command_1.Command {
165
168
  const params = await this.askForMissingFields(flags);
166
169
  const { client, target } = params, otherParams = tslib_1.__rest(params, ["client", "target"]);
167
170
  const parameters = utils_1.buildKeyValuePairs(otherParams);
171
+ if (client) {
172
+ client.forEach((c) => {
173
+ this.updateAppVersion(target, otherParams.env, c, otherParams.version_number);
174
+ });
175
+ }
176
+ else {
177
+ this.updateAppVersion(target, otherParams.env, undefined, otherParams.version_number);
178
+ }
179
+ shell.exec('git add . && git commit -m "bump version" && git push');
168
180
  shell.cd('fastlane');
169
181
  shell.exec('bundle update --bundler');
170
182
  shell.exec('bundle install');
171
183
  shell.exec('bundle update fastlane');
172
184
  shell.exec('bundle update cocoapods');
173
- this.updateAppVersion(target, client, otherParams.version_number);
174
185
  if (client) {
175
186
  client.forEach((c) => {
176
187
  shell.cd(`clients/${c}`);
@@ -0,0 +1,14 @@
1
+ import { Command, flags } from '@oclif/command';
2
+ export default class MatchNuke extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
7
+ client: flags.IOptionFlag<string | undefined>;
8
+ };
9
+ static args: {
10
+ name: string;
11
+ }[];
12
+ askForMissingFields: (flags: any) => Promise<any>;
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable no-negated-condition */
4
+ const command_1 = require("@oclif/command");
5
+ const shell = require("shelljs");
6
+ const inquirer = require("inquirer");
7
+ const utils_1 = require("../utils");
8
+ class MatchNuke extends command_1.Command {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.askForMissingFields = async (flags) => {
12
+ const questions = [];
13
+ if (!flags.client) {
14
+ const clients = utils_1.getDirectories('./fastlane/clients');
15
+ if (clients.length > 0) {
16
+ questions.push({
17
+ type: 'list',
18
+ name: 'client',
19
+ message: 'What is the client?',
20
+ choices: clients,
21
+ });
22
+ }
23
+ }
24
+ let result = flags;
25
+ if (questions.length > 0) {
26
+ const answers = await inquirer.prompt(questions);
27
+ result = Object.assign(Object.assign({}, flags), answers);
28
+ }
29
+ return result;
30
+ };
31
+ }
32
+ async run() {
33
+ const { flags } = this.parse(MatchNuke);
34
+ const params = await this.askForMissingFields(flags);
35
+ const { client } = params;
36
+ let envPath = 'fastlane';
37
+ if (client) {
38
+ envPath += `/clients/${client}/fastlane`;
39
+ }
40
+ require('dotenv').config({ path: process.cwd() + '/' + envPath + '/.env' });
41
+ shell.cd('fastlane');
42
+ const command = `bundle exec fastlane run match_nuke type:adhoc username:${process.env.APPLE_ID} team_id:${process.env.APPLE_TEAM_ID} git_url:${process.env.MATCH_GIT_URL} git_branch:${process.env.CLIENT} app_identifier:${process.env.APP_IDENTIFIER}.staging`;
43
+ console.log({ command });
44
+ }
45
+ }
46
+ exports.default = MatchNuke;
47
+ MatchNuke.description = 'Nuke certificates';
48
+ MatchNuke.examples = [
49
+ `$ rnbuilder match-nuke
50
+ Nuke certificates ./src/match-nuke.ts!
51
+ `,
52
+ ];
53
+ MatchNuke.flags = {
54
+ help: command_1.flags.help({ char: 'h' }),
55
+ client: command_1.flags.string({ char: 'c', description: 'Select client that you want to sync udids' }),
56
+ };
57
+ MatchNuke.args = [{ name: 'build' }];
@@ -1 +1 @@
1
- {"version":"0.5.5","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"]},"env":{"name":"env","type":"option","char":"e","description":"Set the environment: prod, adhoc, staging","options":["staging","adhoc","prod"]},"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"}},"args":[{"name":"build"}]},"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"}]},"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":[]},"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.5.8","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"]},"env":{"name":"env","type":"option","char":"e","description":"Set the environment: prod, adhoc, staging","options":["staging","adhoc","prod"]},"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"}},"args":[{"name":"build"}]},"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"}]},"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-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"}]},"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.5.5",
4
+ "version": "0.5.8",
5
5
  "author": "Tuan Luong @r0b0t3d",
6
6
  "bin": {
7
7
  "rnbuilder": "./bin/run"