rnbuilder 0.6.5 → 0.6.7
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 +34 -11
- package/lib/commands/build.js +2 -0
- package/lib/commands/match-check.d.ts +13 -0
- package/lib/commands/match-check.js +35 -0
- package/lib/commands/onesignal.d.ts +3 -0
- package/lib/commands/onesignal.js +9 -2
- package/lib/utils/common.d.ts +2 -0
- package/lib/utils/common.js +7 -2
- package/lib/utils/setup/fastlane.js +4 -2
- package/lib/utils/setup/launch-screen.js +8 -0
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
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.6.
|
|
23
|
+
rnbuilder/0.6.7 darwin-arm64 node-v16.19.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-check [MATCH-CHECK]`](#rnbuilder-match-check-match-check)
|
|
36
37
|
* [`rnbuilder match-nuke [BUILD]`](#rnbuilder-match-nuke-build)
|
|
37
38
|
* [`rnbuilder onesignal [BUILD]`](#rnbuilder-onesignal-build)
|
|
38
39
|
* [`rnbuilder setup [SETUP]`](#rnbuilder-setup-setup)
|
|
@@ -63,7 +64,7 @@ EXAMPLE
|
|
|
63
64
|
hello world from ./src/build.ts!
|
|
64
65
|
```
|
|
65
66
|
|
|
66
|
-
_See code: [src/commands/build.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
67
|
+
_See code: [src/commands/build.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/build.ts)_
|
|
67
68
|
|
|
68
69
|
## `rnbuilder codepush [BUILD]`
|
|
69
70
|
|
|
@@ -82,7 +83,7 @@ EXAMPLE
|
|
|
82
83
|
Push changes to existing apps ./src/firebase-sync-udids.ts!
|
|
83
84
|
```
|
|
84
85
|
|
|
85
|
-
_See code: [src/commands/codepush.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
86
|
+
_See code: [src/commands/codepush.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/codepush.ts)_
|
|
86
87
|
|
|
87
88
|
## `rnbuilder help [COMMAND]`
|
|
88
89
|
|
|
@@ -114,7 +115,26 @@ EXAMPLE
|
|
|
114
115
|
initialize environment for first run from ./src/initialize.ts!
|
|
115
116
|
```
|
|
116
117
|
|
|
117
|
-
_See code: [src/commands/initialize.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
118
|
+
_See code: [src/commands/initialize.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/initialize.ts)_
|
|
119
|
+
|
|
120
|
+
## `rnbuilder match-check [MATCH-CHECK]`
|
|
121
|
+
|
|
122
|
+
Nuke certificates
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
USAGE
|
|
126
|
+
$ rnbuilder match-check [MATCH-CHECK]
|
|
127
|
+
|
|
128
|
+
OPTIONS
|
|
129
|
+
-c, --client=client Select client that you want to sync udids
|
|
130
|
+
-h, --help show CLI help
|
|
131
|
+
|
|
132
|
+
EXAMPLE
|
|
133
|
+
$ rnbuilder match-check
|
|
134
|
+
Nuke certificates ./src/match-check.ts!
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
_See code: [src/commands/match-check.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/match-check.ts)_
|
|
118
138
|
|
|
119
139
|
## `rnbuilder match-nuke [BUILD]`
|
|
120
140
|
|
|
@@ -133,7 +153,7 @@ EXAMPLE
|
|
|
133
153
|
Nuke certificates ./src/match-nuke.ts!
|
|
134
154
|
```
|
|
135
155
|
|
|
136
|
-
_See code: [src/commands/match-nuke.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
156
|
+
_See code: [src/commands/match-nuke.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/match-nuke.ts)_
|
|
137
157
|
|
|
138
158
|
## `rnbuilder onesignal [BUILD]`
|
|
139
159
|
|
|
@@ -144,15 +164,18 @@ USAGE
|
|
|
144
164
|
$ rnbuilder onesignal [BUILD]
|
|
145
165
|
|
|
146
166
|
OPTIONS
|
|
147
|
-
-c, --client=client
|
|
148
|
-
-h, --help
|
|
167
|
+
-c, --client=client Select client that you want to sync udids
|
|
168
|
+
-h, --help show CLI help
|
|
169
|
+
--android_gcm_sender_id=android_gcm_sender_id
|
|
170
|
+
--android_token=android_token
|
|
171
|
+
--auth_token=auth_token Auth token for OneSignal
|
|
149
172
|
|
|
150
173
|
EXAMPLE
|
|
151
174
|
$ rnbuilder onesignal
|
|
152
175
|
Create and upload push certificate to One Signal from ./src/commands/onesignal.ts!
|
|
153
176
|
```
|
|
154
177
|
|
|
155
|
-
_See code: [src/commands/onesignal.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
178
|
+
_See code: [src/commands/onesignal.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/onesignal.ts)_
|
|
156
179
|
|
|
157
180
|
## `rnbuilder setup [SETUP]`
|
|
158
181
|
|
|
@@ -170,7 +193,7 @@ EXAMPLE
|
|
|
170
193
|
hello world from ./src/setup.ts!
|
|
171
194
|
```
|
|
172
195
|
|
|
173
|
-
_See code: [src/commands/setup.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
196
|
+
_See code: [src/commands/setup.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/setup.ts)_
|
|
174
197
|
|
|
175
198
|
## `rnbuilder submit-review [SUBMIT-REVIEW]`
|
|
176
199
|
|
|
@@ -189,7 +212,7 @@ EXAMPLE
|
|
|
189
212
|
Push changes to existing apps ./src/firebase-sync-udids.ts!
|
|
190
213
|
```
|
|
191
214
|
|
|
192
|
-
_See code: [src/commands/submit-review.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
215
|
+
_See code: [src/commands/submit-review.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/submit-review.ts)_
|
|
193
216
|
|
|
194
217
|
## `rnbuilder sync-udids [BUILD]`
|
|
195
218
|
|
|
@@ -208,5 +231,5 @@ EXAMPLE
|
|
|
208
231
|
Sync device UDIDs from firebase from ./src/firebase-sync-udids.ts!
|
|
209
232
|
```
|
|
210
233
|
|
|
211
|
-
_See code: [src/commands/sync-udids.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.
|
|
234
|
+
_See code: [src/commands/sync-udids.ts](https://github.com/r0b0t3d/rnbuilder/blob/v0.6.7/src/commands/sync-udids.ts)_
|
|
212
235
|
<!-- commandsstop -->
|
package/lib/commands/build.js
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 common_1 = require("../utils/common");
|
|
7
|
+
class MatchNuke extends command_1.Command {
|
|
8
|
+
async run() {
|
|
9
|
+
const clients = common_1.getDirectories('./fastlane/clients');
|
|
10
|
+
clients.forEach(client => {
|
|
11
|
+
const envPath = `fastlane/clients/${client}/fastlane`;
|
|
12
|
+
require('dotenv').config({
|
|
13
|
+
path: process.cwd() + '/' + envPath + '/.env',
|
|
14
|
+
});
|
|
15
|
+
shell.cd(envPath);
|
|
16
|
+
shell.exec('bundle exec fastlane match_check');
|
|
17
|
+
shell.cd('../../../../');
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.default = MatchNuke;
|
|
22
|
+
MatchNuke.description = 'Nuke certificates';
|
|
23
|
+
MatchNuke.examples = [
|
|
24
|
+
`$ rnbuilder match-check
|
|
25
|
+
Nuke certificates ./src/match-check.ts!
|
|
26
|
+
`,
|
|
27
|
+
];
|
|
28
|
+
MatchNuke.flags = {
|
|
29
|
+
help: command_1.flags.help({ char: 'h' }),
|
|
30
|
+
client: command_1.flags.string({
|
|
31
|
+
char: 'c',
|
|
32
|
+
description: 'Select client that you want to sync udids',
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
MatchNuke.args = [{ name: 'match-check' }];
|
|
@@ -5,6 +5,9 @@ export default class OneSignalCertificate extends Command {
|
|
|
5
5
|
static flags: {
|
|
6
6
|
help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
7
7
|
client: flags.IOptionFlag<string | undefined>;
|
|
8
|
+
auth_token: flags.IOptionFlag<string | undefined>;
|
|
9
|
+
android_token: flags.IOptionFlag<string | undefined>;
|
|
10
|
+
android_gcm_sender_id: flags.IOptionFlag<string | undefined>;
|
|
8
11
|
};
|
|
9
12
|
static args: {
|
|
10
13
|
name: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
3
4
|
/* eslint-disable no-negated-condition */
|
|
4
5
|
const command_1 = require("@oclif/command");
|
|
5
6
|
const shell = require("shelljs");
|
|
@@ -53,12 +54,13 @@ class OneSignalCertificate extends command_1.Command {
|
|
|
53
54
|
async run() {
|
|
54
55
|
const { flags } = this.parse(OneSignalCertificate);
|
|
55
56
|
const params = await this.askForMissingFields(flags);
|
|
56
|
-
const { client } = params;
|
|
57
|
+
const { client } = params, otherParams = tslib_1.__rest(params, ["client"]);
|
|
58
|
+
const parameters = common_1.buildKeyValuePairs(otherParams);
|
|
57
59
|
shell.exec('bundle install');
|
|
58
60
|
if (client) {
|
|
59
61
|
shell.cd(`fastlane/clients/${client}`);
|
|
60
62
|
}
|
|
61
|
-
shell.exec(
|
|
63
|
+
shell.exec(`bundle exec fastlane sync_onesignal ${parameters.join(' ')}`);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
exports.default = OneSignalCertificate;
|
|
@@ -74,5 +76,10 @@ OneSignalCertificate.flags = {
|
|
|
74
76
|
char: 'c',
|
|
75
77
|
description: 'Select client that you want to sync udids',
|
|
76
78
|
}),
|
|
79
|
+
auth_token: command_1.flags.string({
|
|
80
|
+
description: 'Auth token for OneSignal',
|
|
81
|
+
}),
|
|
82
|
+
android_token: command_1.flags.string(),
|
|
83
|
+
android_gcm_sender_id: command_1.flags.string(),
|
|
77
84
|
};
|
|
78
85
|
OneSignalCertificate.args = [{ name: 'build' }];
|
package/lib/utils/common.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare const getAppVersion: (env: string, client?: string | undefined, t
|
|
|
5
5
|
build: number;
|
|
6
6
|
};
|
|
7
7
|
export declare const copyDir: (src: string, dest: string) => Promise<unknown>;
|
|
8
|
+
export declare const ensureDir: (path: string) => void;
|
|
9
|
+
export declare const exists: (path: string) => boolean;
|
|
8
10
|
export declare const copyFile: (srcFile: string, destFile: string) => Promise<unknown>;
|
|
9
11
|
export declare const checkFileExists: (path: string) => boolean;
|
|
10
12
|
export declare const normalise: (input: string) => string;
|
package/lib/utils/common.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.capitalize = exports.normalise = exports.checkFileExists = exports.copyFile = exports.copyDir = exports.getAppVersion = exports.getDirectories = exports.buildKeyValuePairs = void 0;
|
|
3
|
+
exports.capitalize = exports.normalise = exports.checkFileExists = exports.copyFile = exports.exists = exports.ensureDir = exports.copyDir = exports.getAppVersion = exports.getDirectories = exports.buildKeyValuePairs = void 0;
|
|
4
4
|
const fs = require("fs");
|
|
5
5
|
exports.buildKeyValuePairs = (params) => Object.keys(params).map(key => `${key}:${params[key]}`);
|
|
6
6
|
exports.getDirectories = (path) => {
|
|
@@ -45,8 +45,13 @@ exports.copyDir = (src, dest) => new Promise((resolve, reject) => {
|
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
|
+
exports.ensureDir = (path) => {
|
|
49
|
+
if (!fs.existsSync(path)) {
|
|
50
|
+
fs.mkdirSync(path, { recursive: true });
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
exports.exists = (path) => fs.existsSync(path);
|
|
48
54
|
exports.copyFile = (srcFile, destFile) => new Promise((resolve, reject) => {
|
|
49
|
-
console.log('Copy file', srcFile, destFile);
|
|
50
55
|
fs.cp(srcFile, destFile, (err) => {
|
|
51
56
|
if (err) {
|
|
52
57
|
reject(err);
|
|
@@ -7,8 +7,10 @@ const inquirer = require("inquirer");
|
|
|
7
7
|
exports.setupFastlane = async ({ client }) => {
|
|
8
8
|
const clientDir = path.join(process.cwd(), `fastlane/clients/${client}`);
|
|
9
9
|
const fastlaneDir = path.join(clientDir, 'fastlane');
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
if (!common_1.exists(fastlaneDir)) {
|
|
11
|
+
// Copy template folders
|
|
12
|
+
await common_1.copyDir(path.join(process.cwd(), 'template/fastlane'), fastlaneDir);
|
|
13
|
+
}
|
|
12
14
|
const { firebaseServiceAccountFile, firebaseIosApp, firebaseAndroidApp, jsonKeyFile, } = await inquirer.prompt([
|
|
13
15
|
{
|
|
14
16
|
type: 'input',
|
|
@@ -89,10 +89,18 @@ exports.prepareLaunchScreen = async ({ iosAssetFolder, androidAssetFolder, }) =>
|
|
|
89
89
|
}
|
|
90
90
|
else if (launchScreen === 'fullscreen') {
|
|
91
91
|
if (inputFile) {
|
|
92
|
+
// ios
|
|
92
93
|
await common_1.copyDir('./template/BootSplashImage.imageset', path.join(iosAssetFolder, 'BootSplashImage.imageset'));
|
|
93
94
|
await sharp(inputFile)
|
|
94
95
|
.png()
|
|
95
96
|
.toFile(path.join(iosAssetFolder, 'BootSplashImage.imageset/splashTablet.png'));
|
|
97
|
+
// Android
|
|
98
|
+
common_1.ensureDir(path.join(androidAssetFolder, 'layout'));
|
|
99
|
+
common_1.ensureDir(path.join(androidAssetFolder, 'drawable'));
|
|
100
|
+
await common_1.copyFile('./template/splash.xml', path.join(androidAssetFolder, 'layout/splash.xml'));
|
|
101
|
+
await sharp(inputFile)
|
|
102
|
+
.png()
|
|
103
|
+
.toFile(path.join(androidAssetFolder, 'drawable/splash.png'));
|
|
96
104
|
}
|
|
97
105
|
}
|
|
98
106
|
return { launchScreen, launchScreenColor };
|
package/oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.6.
|
|
1
|
+
{"version":"0.6.7","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"},"ignore_git_reset":{"name":"ignore_git_reset","type":"boolean","char":"g","description":"Ignore git reset when building","allowNo":false},"ignore_cleanup":{"name":"ignore_cleanup","type":"boolean","char":"s","description":"Ignore cleanup when building","allowNo":false}},"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-check":{"id":"match-check","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"}]},"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"}]},"onesignal":{"id":"onesignal","description":"Create and upload push cerfiticate to One Signal","pluginName":"rnbuilder","pluginType":"core","aliases":[],"examples":["$ rnbuilder onesignal\n Create and upload push certificate to One Signal from ./src/commands/onesignal.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"},"auth_token":{"name":"auth_token","type":"option","description":"Auth token for OneSignal"},"android_token":{"name":"android_token","type":"option"},"android_gcm_sender_id":{"name":"android_gcm_sender_id","type":"option"}},"args":[{"name":"build"}]},"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"}]}}}
|