@solana-mobile/dapp-store-cli 0.1.7 → 0.1.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/lib/esm/commands/create/app.js +3 -2
- package/lib/esm/commands/create/app.js.map +1 -1
- package/lib/esm/index.js +66 -66
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/package.json +57 -0
- package/lib/esm/utils.js +34 -6
- package/lib/esm/utils.js.map +1 -1
- package/lib/types/commands/create/app.d.ts.map +1 -1
- package/lib/types/utils.d.ts +3 -1
- package/lib/types/utils.d.ts.map +1 -1
- package/package.json +8 -3
- package/src/commands/create/app.ts +3 -2
- package/src/index.ts +87 -81
- package/src/utils.ts +41 -7
|
@@ -30,8 +30,9 @@ export const createAppCommand = async ({ signer, url, dryRun, publisherMintAddre
|
|
|
30
30
|
publisherMintAddress: publisherDetails.address ?? publisherMintAddress,
|
|
31
31
|
appDetails,
|
|
32
32
|
}, { dryRun });
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
if (!dryRun) {
|
|
34
|
+
saveToConfig({ app: { address: appAddress } });
|
|
35
|
+
}
|
|
35
36
|
return { appAddress };
|
|
36
37
|
};
|
|
37
38
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/commands/create/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,MAAM,YAAY,GAAG,KAAK,EACxB,EACE,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,SAAS,GAMV,EACD,EAAE,MAAM,EAAwB,EAChC,EAAE;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,SAAS,CAC/B;QACE,oBAAoB,EAAE,IAAI,SAAS,CAAC,oBAAoB,CAAC;QACzD,WAAW;QACX,UAAU;KACX,EACD,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,UAAU,EAAE,EAAE,EAAE;YAC5D,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KACxE;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1D,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,MAAM,EACN,GAAG,EACH,MAAM,EACN,oBAAoB,GACE,EAAE,EAAE;IAC1B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEvC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,GACpD,MAAM,aAAa,EAAE,CAAC;IAExB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CACvC;QACE,UAAU;QACV,SAAS,EAAE,MAAM;QACjB,oBAAoB,EAAE,gBAAgB,CAAC,OAAO,IAAI,oBAAoB;QACtE,UAAU;KACX,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IAEF,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/commands/create/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AACvE,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,MAAM,YAAY,GAAG,KAAK,EACxB,EACE,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,SAAS,GAMV,EACD,EAAE,MAAM,EAAwB,EAChC,EAAE;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,SAAS,CAC/B;QACE,oBAAoB,EAAE,IAAI,SAAS,CAAC,oBAAoB,CAAC;QACzD,WAAW;QACX,UAAU;KACX,EACD,EAAE,QAAQ,EAAE,SAAS,EAAE,CACxB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;IACxD,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,UAAU,EAAE,EAAE,EAAE;YAC5D,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;KACxE;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC1D,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,MAAM,EACN,GAAG,EACH,MAAM,EACN,oBAAoB,GACE,EAAE,EAAE;IAC1B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEvC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,GACpD,MAAM,aAAa,EAAE,CAAC;IAExB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CACvC;QACE,UAAU;QACV,SAAS,EAAE,MAAM;QACjB,oBAAoB,EAAE,gBAAgB,CAAC,OAAO,IAAI,oBAAoB;QACtE,UAAU;KACX,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE;QACX,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;KAChD;IAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Command } from "commander";
|
|
|
2
2
|
import { validateCommand } from "./commands/index.js";
|
|
3
3
|
import { createAppCommand, createPublisherCommand, createReleaseCommand } from "./commands/create/index.js";
|
|
4
4
|
import { publishRemoveCommand, publishSubmitCommand, publishSupportCommand, publishUpdateCommand } from "./commands/publish/index.js";
|
|
5
|
-
import { getConfigFile, parseKeypair,
|
|
5
|
+
import { checkForSelfUpdate, generateNetworkSuffix, getConfigFile, parseKeypair, showMessage } from "./utils.js";
|
|
6
6
|
import * as dotenv from "dotenv";
|
|
7
7
|
dotenv.config();
|
|
8
8
|
const hasAddressInConfig = ({ address }) => {
|
|
@@ -21,10 +21,19 @@ function resolveBuildToolsPath(buildToolsPath) {
|
|
|
21
21
|
// No path was specified
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
+
async function tryWithErrorMessage(block) {
|
|
25
|
+
try {
|
|
26
|
+
await block();
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
const errorMsg = e?.message ?? "";
|
|
30
|
+
showMessage("Error", errorMsg, true);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
24
33
|
async function main() {
|
|
25
34
|
program
|
|
26
35
|
.name("dapp-store")
|
|
27
|
-
.version("0.1.
|
|
36
|
+
.version("0.1.8")
|
|
28
37
|
.description("CLI to assist with publishing to the Saga Dapp Store");
|
|
29
38
|
const createCommand = program
|
|
30
39
|
.command("create")
|
|
@@ -36,10 +45,16 @@ async function main() {
|
|
|
36
45
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
37
46
|
.option("-d, --dry-run", "Flag for dry run. Doesn't mint an NFT")
|
|
38
47
|
.action(async ({ keypair, url, dryRun }) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
48
|
+
tryWithErrorMessage(async () => {
|
|
49
|
+
await checkForSelfUpdate();
|
|
50
|
+
const signer = parseKeypair(keypair);
|
|
51
|
+
if (signer) {
|
|
52
|
+
const result = await createPublisherCommand({ signer, url, dryRun });
|
|
53
|
+
const displayUrl = `https://solscan.io/token/${result.publisherAddress}${generateNetworkSuffix(url)}`;
|
|
54
|
+
const resultText = `Publisher NFT successfully minted:\n${displayUrl}`;
|
|
55
|
+
showMessage("Success", resultText);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
43
58
|
});
|
|
44
59
|
createCommand
|
|
45
60
|
.command("app")
|
|
@@ -49,26 +64,25 @@ async function main() {
|
|
|
49
64
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
50
65
|
.option("-d, --dry-run", "Flag for dry run. Doesn't mint an NFT")
|
|
51
66
|
.action(async ({ publisherMintAddress, keypair, url, dryRun }) => {
|
|
52
|
-
|
|
67
|
+
tryWithErrorMessage(async () => {
|
|
68
|
+
await checkForSelfUpdate();
|
|
53
69
|
const config = await getConfigFile();
|
|
54
70
|
if (!hasAddressInConfig(config.publisher) && !publisherMintAddress) {
|
|
55
|
-
|
|
56
|
-
createCommand.showHelpAfterError();
|
|
57
|
-
return;
|
|
71
|
+
throw new Error("Either specify a publisher mint address in the config file or specify as a CLI argument to this command.");
|
|
58
72
|
}
|
|
59
73
|
const signer = parseKeypair(keypair);
|
|
60
74
|
if (signer) {
|
|
61
|
-
await createAppCommand({
|
|
75
|
+
const result = await createAppCommand({
|
|
62
76
|
publisherMintAddress: publisherMintAddress,
|
|
63
77
|
signer,
|
|
64
78
|
url,
|
|
65
79
|
dryRun,
|
|
66
80
|
});
|
|
81
|
+
const displayUrl = `https://solscan.io/token/${result.appAddress}${generateNetworkSuffix(url)}`;
|
|
82
|
+
const resultText = `App NFT successfully minted:\n${displayUrl}`;
|
|
83
|
+
showMessage("Success", resultText);
|
|
67
84
|
}
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
showUserErrorMessage(e?.message ?? "");
|
|
71
|
-
}
|
|
85
|
+
});
|
|
72
86
|
});
|
|
73
87
|
createCommand
|
|
74
88
|
.command("release")
|
|
@@ -79,18 +93,15 @@ async function main() {
|
|
|
79
93
|
.option("-d, --dry-run", "Flag for dry run. Doesn't mint an NFT")
|
|
80
94
|
.option("-b, --build-tools-path <build-tools-path>", "Path to Android build tools which contains AAPT2")
|
|
81
95
|
.action(async ({ appMintAddress, keypair, url, dryRun, buildToolsPath }) => {
|
|
82
|
-
|
|
96
|
+
tryWithErrorMessage(async () => {
|
|
97
|
+
await checkForSelfUpdate();
|
|
83
98
|
const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
|
|
84
99
|
if (resolvedBuildToolsPath === undefined) {
|
|
85
|
-
|
|
86
|
-
createCommand.showHelpAfterError();
|
|
87
|
-
return;
|
|
100
|
+
throw new Error("Please specify an Android build tools directory in the .env file or via the command line argument.");
|
|
88
101
|
}
|
|
89
102
|
const config = await getConfigFile();
|
|
90
103
|
if (!hasAddressInConfig(config.app) && !appMintAddress) {
|
|
91
|
-
|
|
92
|
-
createCommand.showHelpAfterError();
|
|
93
|
-
return;
|
|
104
|
+
throw new Error("Either specify an app mint address in the config file or specify as a CLI argument to this command");
|
|
94
105
|
}
|
|
95
106
|
const signer = parseKeypair(keypair);
|
|
96
107
|
if (signer) {
|
|
@@ -101,11 +112,11 @@ async function main() {
|
|
|
101
112
|
url,
|
|
102
113
|
dryRun,
|
|
103
114
|
});
|
|
115
|
+
const displayUrl = `https://solscan.io/token/${result?.releaseAddress}${generateNetworkSuffix(url)}`;
|
|
116
|
+
const resultText = `Release NFT successfully minted:\n${displayUrl}`;
|
|
117
|
+
showMessage("Success", resultText);
|
|
104
118
|
}
|
|
105
|
-
}
|
|
106
|
-
catch (e) {
|
|
107
|
-
showUserErrorMessage(e?.message ?? "");
|
|
108
|
-
}
|
|
119
|
+
});
|
|
109
120
|
});
|
|
110
121
|
program
|
|
111
122
|
.command("validate")
|
|
@@ -113,12 +124,11 @@ async function main() {
|
|
|
113
124
|
.requiredOption("-k, --keypair <path-to-keypair-file>", "Path to keypair file")
|
|
114
125
|
.option("-b, --build-tools-path <build-tools-path>", "Path to Android build tools which contains AAPT2")
|
|
115
126
|
.action(async ({ keypair, buildToolsPath }) => {
|
|
116
|
-
|
|
127
|
+
tryWithErrorMessage(async () => {
|
|
128
|
+
await checkForSelfUpdate();
|
|
117
129
|
const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
|
|
118
130
|
if (resolvedBuildToolsPath === undefined) {
|
|
119
|
-
|
|
120
|
-
createCommand.showHelpAfterError();
|
|
121
|
-
return;
|
|
131
|
+
throw new Error("Please specify an Android build tools directory in the .env file or via the command line argument.");
|
|
122
132
|
}
|
|
123
133
|
const signer = parseKeypair(keypair);
|
|
124
134
|
if (signer) {
|
|
@@ -126,11 +136,9 @@ async function main() {
|
|
|
126
136
|
signer,
|
|
127
137
|
buildToolsPath: resolvedBuildToolsPath,
|
|
128
138
|
});
|
|
139
|
+
//TODO: Add pretty formatting here, but will require more work than other sections
|
|
129
140
|
}
|
|
130
|
-
}
|
|
131
|
-
catch (e) {
|
|
132
|
-
showUserErrorMessage(e?.message ?? "");
|
|
133
|
-
}
|
|
141
|
+
});
|
|
134
142
|
});
|
|
135
143
|
const publishCommand = program
|
|
136
144
|
.command("publish")
|
|
@@ -146,12 +154,11 @@ async function main() {
|
|
|
146
154
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
147
155
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
148
156
|
.action(async ({ appMintAddress, releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, dryRun, }) => {
|
|
149
|
-
|
|
157
|
+
tryWithErrorMessage(async () => {
|
|
158
|
+
await checkForSelfUpdate();
|
|
150
159
|
const config = await getConfigFile();
|
|
151
160
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
152
|
-
|
|
153
|
-
publishCommand.showHelpAfterError();
|
|
154
|
-
return;
|
|
161
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
155
162
|
}
|
|
156
163
|
const signer = parseKeypair(keypair);
|
|
157
164
|
if (signer) {
|
|
@@ -164,11 +171,10 @@ async function main() {
|
|
|
164
171
|
compliesWithSolanaDappStorePolicies,
|
|
165
172
|
requestorIsAuthorized,
|
|
166
173
|
});
|
|
174
|
+
const resultText = "Successfully submitted to the Solana Mobile dApp publisher portal";
|
|
175
|
+
showMessage("Success", resultText);
|
|
167
176
|
}
|
|
168
|
-
}
|
|
169
|
-
catch (e) {
|
|
170
|
-
showUserErrorMessage(e?.message ?? "");
|
|
171
|
-
}
|
|
177
|
+
});
|
|
172
178
|
});
|
|
173
179
|
publishCommand
|
|
174
180
|
.command("update")
|
|
@@ -182,12 +188,11 @@ async function main() {
|
|
|
182
188
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
183
189
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
184
190
|
.action(async ({ appMintAddress, releaseMintAddress, keypair, url, compliesWithSolanaDappStorePolicies, requestorIsAuthorized, critical, dryRun, }) => {
|
|
185
|
-
|
|
191
|
+
tryWithErrorMessage(async () => {
|
|
192
|
+
await checkForSelfUpdate();
|
|
186
193
|
const config = await getConfigFile();
|
|
187
194
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
188
|
-
|
|
189
|
-
publishCommand.showHelpAfterError();
|
|
190
|
-
return;
|
|
195
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
191
196
|
}
|
|
192
197
|
const signer = parseKeypair(keypair);
|
|
193
198
|
if (signer) {
|
|
@@ -201,11 +206,10 @@ async function main() {
|
|
|
201
206
|
requestorIsAuthorized,
|
|
202
207
|
critical,
|
|
203
208
|
});
|
|
209
|
+
const resultText = "dApp successfully updated on the publisher portal";
|
|
210
|
+
showMessage("Success", resultText);
|
|
204
211
|
}
|
|
205
|
-
}
|
|
206
|
-
catch (e) {
|
|
207
|
-
showUserErrorMessage(e?.message ?? "");
|
|
208
|
-
}
|
|
212
|
+
});
|
|
209
213
|
});
|
|
210
214
|
publishCommand
|
|
211
215
|
.command("remove")
|
|
@@ -218,12 +222,11 @@ async function main() {
|
|
|
218
222
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
219
223
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
220
224
|
.action(async ({ appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, critical, dryRun, }) => {
|
|
221
|
-
|
|
225
|
+
tryWithErrorMessage(async () => {
|
|
226
|
+
await checkForSelfUpdate();
|
|
222
227
|
const config = await getConfigFile();
|
|
223
228
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
224
|
-
|
|
225
|
-
publishCommand.showHelpAfterError();
|
|
226
|
-
return;
|
|
229
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
227
230
|
}
|
|
228
231
|
const signer = parseKeypair(keypair);
|
|
229
232
|
if (signer) {
|
|
@@ -236,11 +239,10 @@ async function main() {
|
|
|
236
239
|
requestorIsAuthorized,
|
|
237
240
|
critical,
|
|
238
241
|
});
|
|
242
|
+
const resultText = "dApp successfully removed from the publisher portal";
|
|
243
|
+
showMessage("Success", resultText);
|
|
239
244
|
}
|
|
240
|
-
}
|
|
241
|
-
catch (e) {
|
|
242
|
-
showUserErrorMessage(e?.message ?? "");
|
|
243
|
-
}
|
|
245
|
+
});
|
|
244
246
|
});
|
|
245
247
|
publishCommand
|
|
246
248
|
.command("support <request_details>")
|
|
@@ -252,12 +254,11 @@ async function main() {
|
|
|
252
254
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
253
255
|
.option("-d, --dry-run", "Flag for dry run. Doesn't submit the request to the publisher portal.")
|
|
254
256
|
.action(async (requestDetails, { appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }) => {
|
|
255
|
-
|
|
257
|
+
tryWithErrorMessage(async () => {
|
|
258
|
+
await checkForSelfUpdate();
|
|
256
259
|
const config = await getConfigFile();
|
|
257
260
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
258
|
-
|
|
259
|
-
publishCommand.showHelpAfterError();
|
|
260
|
-
return;
|
|
261
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.");
|
|
261
262
|
}
|
|
262
263
|
const signer = parseKeypair(keypair);
|
|
263
264
|
if (signer) {
|
|
@@ -270,11 +271,10 @@ async function main() {
|
|
|
270
271
|
requestorIsAuthorized,
|
|
271
272
|
requestDetails,
|
|
272
273
|
});
|
|
274
|
+
const resultText = "Support request sent successfully";
|
|
275
|
+
showMessage("Success", resultText);
|
|
273
276
|
}
|
|
274
|
-
}
|
|
275
|
-
catch (e) {
|
|
276
|
-
showUserErrorMessage(e?.message ?? "");
|
|
277
|
-
}
|
|
277
|
+
});
|
|
278
278
|
});
|
|
279
279
|
await program.parseAsync(process.argv);
|
|
280
280
|
}
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC5G,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@solana-mobile/dapp-store-cli",
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "./lib/cjs/index.js",
|
|
8
|
+
"module": "./lib/esm/index.js",
|
|
9
|
+
"types": "./lib/types/index.d.ts",
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=18"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
"import": "./lib/esm/index.js",
|
|
15
|
+
"require": "./lib/cjs/index.js",
|
|
16
|
+
"types": "./lib/types/index.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"bin": {
|
|
19
|
+
"dapp-store": "./bin/dapp-store.js"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"lib",
|
|
23
|
+
"src",
|
|
24
|
+
"LICENSE"
|
|
25
|
+
],
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"clean": "shx mkdir -p lib && shx rm -rf lib",
|
|
31
|
+
"prebuild": "pnpm run clean"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@metaplex-foundation/js": "0.17.11",
|
|
35
|
+
"@types/commander": "^2.12.2",
|
|
36
|
+
"@types/debug": "^4.1.7",
|
|
37
|
+
"@types/js-yaml": "^4.0.5",
|
|
38
|
+
"@types/terminal-link": "^1.2.0",
|
|
39
|
+
"@types/update-notifier": "^6.0.1",
|
|
40
|
+
"shx": "^0.3.4"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@solana-mobile/dapp-store-publishing-tools": "workspace:0.1.8",
|
|
44
|
+
"@solana/web3.js": "1.68.0",
|
|
45
|
+
"ajv": "^8.11.0",
|
|
46
|
+
"boxen": "^7.0.1",
|
|
47
|
+
"commander": "^9.4.1",
|
|
48
|
+
"debug": "^4.3.4",
|
|
49
|
+
"dotenv": "^16.0.3",
|
|
50
|
+
"esm": "^3.2.25",
|
|
51
|
+
"image-size": "^1.0.2",
|
|
52
|
+
"js-yaml": "^4.1.0",
|
|
53
|
+
"terminal-link": "^3.0.0",
|
|
54
|
+
"tweetnacl": "1.0.3",
|
|
55
|
+
"update-notifier": "^6.0.2"
|
|
56
|
+
}
|
|
57
|
+
}
|
package/lib/esm/utils.js
CHANGED
|
@@ -8,10 +8,20 @@ import { exec } from "child_process";
|
|
|
8
8
|
import * as path from "path";
|
|
9
9
|
import { BundlrStorageDriver, keypairIdentity, Metaplex, toMetaplexFile } from "@metaplex-foundation/js";
|
|
10
10
|
import { imageSize } from "image-size";
|
|
11
|
+
import updateNotifier from "update-notifier";
|
|
12
|
+
import cliPackage from "./package.json" assert { type: "json" };
|
|
13
|
+
import boxen from "boxen";
|
|
11
14
|
import { CachedStorageDriver } from "./upload/CachedStorageDriver.js";
|
|
12
15
|
const runImgSize = util.promisify(imageSize);
|
|
13
16
|
const runExec = util.promisify(exec);
|
|
14
17
|
export const debug = debugModule("CLI");
|
|
18
|
+
export const checkForSelfUpdate = async () => {
|
|
19
|
+
const notifier = updateNotifier({ pkg: cliPackage });
|
|
20
|
+
const updateInfo = await notifier.fetchInfo();
|
|
21
|
+
if (updateInfo.current != updateInfo.latest) {
|
|
22
|
+
throw new Error("Please update to the latest version of the dApp Store CLI before proceeding.");
|
|
23
|
+
}
|
|
24
|
+
};
|
|
15
25
|
export const parseKeypair = (pathToKeypairFile) => {
|
|
16
26
|
try {
|
|
17
27
|
const keypairFile = fs.readFileSync(pathToKeypairFile, "utf-8");
|
|
@@ -34,7 +44,6 @@ const AaptPrefixes = {
|
|
|
34
44
|
export const getConfigFile = async (buildToolsDir = null) => {
|
|
35
45
|
const configFilePath = `${process.cwd()}/config.yaml`;
|
|
36
46
|
const config = await getConfig(configFilePath);
|
|
37
|
-
console.info(`Pulling details from ${configFilePath}`);
|
|
38
47
|
if (buildToolsDir && fs.lstatSync(buildToolsDir).isDirectory()) {
|
|
39
48
|
// We validate that the config is going to have at least one installable asset
|
|
40
49
|
const apkEntry = config.release.files.find((asset) => asset.purpose === "install");
|
|
@@ -83,10 +92,29 @@ const checkImageExtension = (uri) => {
|
|
|
83
92
|
fileExt == ".jpeg" ||
|
|
84
93
|
fileExt == ".webp");
|
|
85
94
|
};
|
|
86
|
-
export const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
export const generateNetworkSuffix = (rpcUrl) => {
|
|
96
|
+
let suffix = "";
|
|
97
|
+
if (rpcUrl.indexOf("devnet") != -1) {
|
|
98
|
+
suffix = "?cluster=devnet";
|
|
99
|
+
}
|
|
100
|
+
else if (rpcUrl.indexOf("testnet") != -1) {
|
|
101
|
+
suffix = "?cluster=testnet";
|
|
102
|
+
}
|
|
103
|
+
else if (rpcUrl.indexOf("mainnet") != -1) {
|
|
104
|
+
suffix = "?cluster=mainnet";
|
|
105
|
+
}
|
|
106
|
+
return suffix;
|
|
107
|
+
};
|
|
108
|
+
export const showMessage = (titleMessage = "", contentMessage = "", isError = false) => {
|
|
109
|
+
console.log(boxen(contentMessage, {
|
|
110
|
+
title: titleMessage,
|
|
111
|
+
padding: 1,
|
|
112
|
+
margin: 1,
|
|
113
|
+
borderStyle: 'single',
|
|
114
|
+
borderColor: isError ? "redBright" : "cyan",
|
|
115
|
+
textAlignment: "left",
|
|
116
|
+
titleAlignment: "center"
|
|
117
|
+
}));
|
|
90
118
|
};
|
|
91
119
|
const checkIconDimensions = async (iconPath) => {
|
|
92
120
|
const size = await runImgSize(iconPath);
|
|
@@ -107,7 +135,7 @@ const getAndroidDetails = async (aaptDir, apkPath) => {
|
|
|
107
135
|
let localeArray = Array.from(locales?.values() ?? []);
|
|
108
136
|
if (localeArray.length == 2) {
|
|
109
137
|
const localesSrc = localeArray[1];
|
|
110
|
-
localeArray = localesSrc.split("' '").slice(1);
|
|
138
|
+
localeArray = ["en-US"].concat(localesSrc.split("' '").slice(1));
|
|
111
139
|
}
|
|
112
140
|
return {
|
|
113
141
|
android_package: appPackage?.[1] ?? "",
|
package/lib/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../src/commands/create/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAgDzB,aAAK,qBAAqB,GAAG;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,mDAK1B,qBAAqB;;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../src/commands/create/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAgDzB,aAAK,qBAAqB,GAAG;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB,mDAK1B,qBAAqB;;EAqBvB,CAAC"}
|
package/lib/types/utils.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ import type { CLIConfig } from "./config/index.js";
|
|
|
5
5
|
import debugModule from "debug";
|
|
6
6
|
import { Metaplex } from "@metaplex-foundation/js";
|
|
7
7
|
export declare const debug: debugModule.Debugger;
|
|
8
|
+
export declare const checkForSelfUpdate: () => Promise<void>;
|
|
8
9
|
export declare const parseKeypair: (pathToKeypairFile: string) => Keypair | undefined;
|
|
9
10
|
export declare const getConfigFile: (buildToolsDir?: string | null) => Promise<CLIConfig>;
|
|
10
|
-
export declare const
|
|
11
|
+
export declare const generateNetworkSuffix: (rpcUrl: string) => string;
|
|
12
|
+
export declare const showMessage: (titleMessage?: string, contentMessage?: string, isError?: boolean) => void;
|
|
11
13
|
declare type SaveToConfigArgs = {
|
|
12
14
|
publisher?: Pick<Publisher, "address">;
|
|
13
15
|
app?: Pick<App, "address">;
|
package/lib/types/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAC1G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,WAAW,MAAM,OAAO,CAAC;AAKhC,OAAO,EAAwC,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAC1G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,WAAW,MAAM,OAAO,CAAC;AAKhC,OAAO,EAAwC,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AAWzG,eAAO,MAAM,KAAK,sBAAqB,CAAC;AAExC,eAAO,MAAM,kBAAkB,qBAO9B,CAAC;AAEF,eAAO,MAAM,YAAY,sBAAuB,MAAM,wBASrD,CAAC;AAaF,eAAO,MAAM,aAAa,mBACT,MAAM,GAAG,IAAI,KAC3B,QAAQ,SAAS,CAiEnB,CAAC;AAYF,eAAO,MAAM,qBAAqB,WAAY,MAAM,KAAG,MAYtD,CAAC;AAEF,eAAO,MAAM,WAAW,6EAcvB,CAAC;AAsDF,aAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,YAAY,iCAItB,gBAAgB,kBAyBlB,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAClB,UAAU,WACb,OAAO,aAoBjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana-mobile/dapp-store-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -31,19 +31,24 @@
|
|
|
31
31
|
"@types/commander": "^2.12.2",
|
|
32
32
|
"@types/debug": "^4.1.7",
|
|
33
33
|
"@types/js-yaml": "^4.0.5",
|
|
34
|
+
"@types/terminal-link": "^1.2.0",
|
|
35
|
+
"@types/update-notifier": "^6.0.1",
|
|
34
36
|
"shx": "^0.3.4"
|
|
35
37
|
},
|
|
36
38
|
"dependencies": {
|
|
37
|
-
"@solana-mobile/dapp-store-publishing-tools": "0.1.
|
|
39
|
+
"@solana-mobile/dapp-store-publishing-tools": "0.1.8",
|
|
38
40
|
"@solana/web3.js": "1.68.0",
|
|
39
41
|
"ajv": "^8.11.0",
|
|
42
|
+
"boxen": "^7.0.1",
|
|
40
43
|
"commander": "^9.4.1",
|
|
41
44
|
"debug": "^4.3.4",
|
|
42
45
|
"dotenv": "^16.0.3",
|
|
43
46
|
"esm": "^3.2.25",
|
|
44
47
|
"image-size": "^1.0.2",
|
|
45
48
|
"js-yaml": "^4.1.0",
|
|
46
|
-
"
|
|
49
|
+
"terminal-link": "^3.0.0",
|
|
50
|
+
"tweetnacl": "1.0.3",
|
|
51
|
+
"update-notifier": "^6.0.2"
|
|
47
52
|
},
|
|
48
53
|
"scripts": {
|
|
49
54
|
"clean": "shx mkdir -p lib && shx rm -rf lib",
|
|
@@ -81,8 +81,9 @@ export const createAppCommand = async ({
|
|
|
81
81
|
{ dryRun }
|
|
82
82
|
);
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
if (!dryRun) {
|
|
85
|
+
saveToConfig({ app: { address: appAddress } });
|
|
86
|
+
}
|
|
86
87
|
|
|
87
88
|
return { appAddress };
|
|
88
89
|
};
|
package/src/index.ts
CHANGED
|
@@ -7,7 +7,9 @@ import {
|
|
|
7
7
|
publishSupportCommand,
|
|
8
8
|
publishUpdateCommand
|
|
9
9
|
} from "./commands/publish/index.js";
|
|
10
|
-
import { getConfigFile, parseKeypair,
|
|
10
|
+
import { checkForSelfUpdate, generateNetworkSuffix, getConfigFile, parseKeypair, showMessage } from "./utils.js";
|
|
11
|
+
import terminalLink from "terminal-link";
|
|
12
|
+
import boxen from "boxen";
|
|
11
13
|
|
|
12
14
|
import * as dotenv from "dotenv";
|
|
13
15
|
|
|
@@ -34,10 +36,20 @@ function resolveBuildToolsPath(buildToolsPath: string | undefined) {
|
|
|
34
36
|
return;
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
async function tryWithErrorMessage(block: () => Promise<any>) {
|
|
40
|
+
try {
|
|
41
|
+
await block()
|
|
42
|
+
} catch (e) {
|
|
43
|
+
const errorMsg = (e as Error | null)?.message ?? "";
|
|
44
|
+
|
|
45
|
+
showMessage("Error", errorMsg, true);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
37
49
|
async function main() {
|
|
38
50
|
program
|
|
39
51
|
.name("dapp-store")
|
|
40
|
-
.version("0.1.
|
|
52
|
+
.version("0.1.8")
|
|
41
53
|
.description("CLI to assist with publishing to the Saga Dapp Store");
|
|
42
54
|
|
|
43
55
|
const createCommand = program
|
|
@@ -54,11 +66,19 @@ async function main() {
|
|
|
54
66
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
55
67
|
.option("-d, --dry-run", "Flag for dry run. Doesn't mint an NFT")
|
|
56
68
|
.action(async ({ keypair, url, dryRun }) => {
|
|
57
|
-
|
|
69
|
+
tryWithErrorMessage(async () => {
|
|
70
|
+
await checkForSelfUpdate();
|
|
58
71
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
72
|
+
const signer = parseKeypair(keypair);
|
|
73
|
+
if (signer) {
|
|
74
|
+
const result: { publisherAddress: string } = await createPublisherCommand({ signer, url, dryRun });
|
|
75
|
+
|
|
76
|
+
const displayUrl = `https://solscan.io/token/${result.publisherAddress}${generateNetworkSuffix(url)}`;
|
|
77
|
+
const resultText = `Publisher NFT successfully minted:\n${displayUrl}`;
|
|
78
|
+
|
|
79
|
+
showMessage("Success", resultText);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
62
82
|
});
|
|
63
83
|
|
|
64
84
|
createCommand
|
|
@@ -75,29 +95,30 @@ async function main() {
|
|
|
75
95
|
.option("-u, --url <url>", "RPC URL", "https://devnet.genesysgo.net")
|
|
76
96
|
.option("-d, --dry-run", "Flag for dry run. Doesn't mint an NFT")
|
|
77
97
|
.action(async ({ publisherMintAddress, keypair, url, dryRun }) => {
|
|
78
|
-
|
|
98
|
+
tryWithErrorMessage(async () => {
|
|
99
|
+
await checkForSelfUpdate();
|
|
100
|
+
|
|
79
101
|
const config = await getConfigFile();
|
|
80
102
|
|
|
81
103
|
if (!hasAddressInConfig(config.publisher) && !publisherMintAddress) {
|
|
82
|
-
|
|
83
|
-
"Either specify an publisher mint address in the config file, or specify as a CLI argument to this command."
|
|
84
|
-
);
|
|
85
|
-
createCommand.showHelpAfterError();
|
|
86
|
-
return;
|
|
104
|
+
throw new Error("Either specify a publisher mint address in the config file or specify as a CLI argument to this command.")
|
|
87
105
|
}
|
|
88
106
|
|
|
89
107
|
const signer = parseKeypair(keypair);
|
|
90
108
|
if (signer) {
|
|
91
|
-
await createAppCommand({
|
|
109
|
+
const result = await createAppCommand({
|
|
92
110
|
publisherMintAddress: publisherMintAddress,
|
|
93
111
|
signer,
|
|
94
112
|
url,
|
|
95
113
|
dryRun,
|
|
96
114
|
});
|
|
115
|
+
|
|
116
|
+
const displayUrl = `https://solscan.io/token/${result.appAddress}${generateNetworkSuffix(url)}`;
|
|
117
|
+
const resultText = `App NFT successfully minted:\n${displayUrl}`;
|
|
118
|
+
|
|
119
|
+
showMessage("Success", resultText);
|
|
97
120
|
}
|
|
98
|
-
}
|
|
99
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
100
|
-
}
|
|
121
|
+
});
|
|
101
122
|
});
|
|
102
123
|
|
|
103
124
|
createCommand
|
|
@@ -118,28 +139,20 @@ async function main() {
|
|
|
118
139
|
"Path to Android build tools which contains AAPT2"
|
|
119
140
|
)
|
|
120
141
|
.action(async ({ appMintAddress, keypair, url, dryRun, buildToolsPath }) => {
|
|
121
|
-
|
|
142
|
+
tryWithErrorMessage(async () => {
|
|
143
|
+
await checkForSelfUpdate();
|
|
144
|
+
|
|
122
145
|
const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
|
|
123
146
|
if (resolvedBuildToolsPath === undefined) {
|
|
124
|
-
|
|
125
|
-
"Please specify an Android build tools directory in the .env file or via the command line argument."
|
|
126
|
-
);
|
|
127
|
-
createCommand.showHelpAfterError();
|
|
128
|
-
return;
|
|
147
|
+
throw new Error("Please specify an Android build tools directory in the .env file or via the command line argument.")
|
|
129
148
|
}
|
|
130
149
|
|
|
131
150
|
const config = await getConfigFile();
|
|
132
|
-
|
|
133
151
|
if (!hasAddressInConfig(config.app) && !appMintAddress) {
|
|
134
|
-
|
|
135
|
-
"\n\n::: Either specify an app mint address in the config file, or specify as a CLI argument to this command. :::\n\n"
|
|
136
|
-
);
|
|
137
|
-
createCommand.showHelpAfterError();
|
|
138
|
-
return;
|
|
152
|
+
throw new Error("Either specify an app mint address in the config file or specify as a CLI argument to this command")
|
|
139
153
|
}
|
|
140
154
|
|
|
141
155
|
const signer = parseKeypair(keypair);
|
|
142
|
-
|
|
143
156
|
if (signer) {
|
|
144
157
|
const result = await createReleaseCommand({
|
|
145
158
|
appMintAddress: appMintAddress,
|
|
@@ -148,10 +161,13 @@ async function main() {
|
|
|
148
161
|
url,
|
|
149
162
|
dryRun,
|
|
150
163
|
});
|
|
164
|
+
|
|
165
|
+
const displayUrl = `https://solscan.io/token/${result?.releaseAddress}${generateNetworkSuffix(url)}`;
|
|
166
|
+
const resultText = `Release NFT successfully minted:\n${displayUrl}`;
|
|
167
|
+
|
|
168
|
+
showMessage("Success", resultText);
|
|
151
169
|
}
|
|
152
|
-
}
|
|
153
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
154
|
-
}
|
|
170
|
+
});
|
|
155
171
|
}
|
|
156
172
|
);
|
|
157
173
|
|
|
@@ -167,27 +183,24 @@ async function main() {
|
|
|
167
183
|
"Path to Android build tools which contains AAPT2"
|
|
168
184
|
)
|
|
169
185
|
.action(async ({ keypair, buildToolsPath }) => {
|
|
170
|
-
|
|
186
|
+
tryWithErrorMessage(async () => {
|
|
187
|
+
await checkForSelfUpdate();
|
|
188
|
+
|
|
171
189
|
const resolvedBuildToolsPath = resolveBuildToolsPath(buildToolsPath);
|
|
172
190
|
if (resolvedBuildToolsPath === undefined) {
|
|
173
|
-
|
|
174
|
-
"Please specify an Android build tools directory in the .env file or via the command line argument."
|
|
175
|
-
);
|
|
176
|
-
createCommand.showHelpAfterError();
|
|
177
|
-
return;
|
|
191
|
+
throw new Error("Please specify an Android build tools directory in the .env file or via the command line argument.")
|
|
178
192
|
}
|
|
179
193
|
|
|
180
194
|
const signer = parseKeypair(keypair);
|
|
181
|
-
|
|
182
195
|
if (signer) {
|
|
183
196
|
await validateCommand({
|
|
184
197
|
signer,
|
|
185
198
|
buildToolsPath: resolvedBuildToolsPath,
|
|
186
199
|
});
|
|
200
|
+
|
|
201
|
+
//TODO: Add pretty formatting here, but will require more work than other sections
|
|
187
202
|
}
|
|
188
|
-
}
|
|
189
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
190
|
-
}
|
|
203
|
+
});
|
|
191
204
|
});
|
|
192
205
|
|
|
193
206
|
const publishCommand = program
|
|
@@ -234,15 +247,13 @@ async function main() {
|
|
|
234
247
|
requestorIsAuthorized,
|
|
235
248
|
dryRun,
|
|
236
249
|
}) => {
|
|
237
|
-
|
|
250
|
+
tryWithErrorMessage(async () => {
|
|
251
|
+
await checkForSelfUpdate();
|
|
252
|
+
|
|
238
253
|
const config = await getConfigFile();
|
|
239
254
|
|
|
240
255
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
241
|
-
|
|
242
|
-
"\n\n::: Either specify an release mint address in the config file, or specify as a CLI argument to this command. :::\n\n"
|
|
243
|
-
);
|
|
244
|
-
publishCommand.showHelpAfterError();
|
|
245
|
-
return;
|
|
256
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.")
|
|
246
257
|
}
|
|
247
258
|
|
|
248
259
|
const signer = parseKeypair(keypair);
|
|
@@ -256,10 +267,11 @@ async function main() {
|
|
|
256
267
|
compliesWithSolanaDappStorePolicies,
|
|
257
268
|
requestorIsAuthorized,
|
|
258
269
|
});
|
|
270
|
+
|
|
271
|
+
const resultText = "Successfully submitted to the Solana Mobile dApp publisher portal";
|
|
272
|
+
showMessage("Success", resultText);
|
|
259
273
|
}
|
|
260
|
-
}
|
|
261
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
262
|
-
}
|
|
274
|
+
});
|
|
263
275
|
}
|
|
264
276
|
);
|
|
265
277
|
|
|
@@ -305,19 +317,16 @@ async function main() {
|
|
|
305
317
|
critical,
|
|
306
318
|
dryRun,
|
|
307
319
|
}) => {
|
|
308
|
-
|
|
320
|
+
tryWithErrorMessage(async () => {
|
|
321
|
+
await checkForSelfUpdate();
|
|
322
|
+
|
|
309
323
|
const config = await getConfigFile();
|
|
310
324
|
|
|
311
325
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
312
|
-
|
|
313
|
-
"\n\n::: Either specify an release mint address in the config file, or specify as a CLI argument to this command. :::\n\n"
|
|
314
|
-
);
|
|
315
|
-
publishCommand.showHelpAfterError();
|
|
316
|
-
return;
|
|
326
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.")
|
|
317
327
|
}
|
|
318
328
|
|
|
319
329
|
const signer = parseKeypair(keypair);
|
|
320
|
-
|
|
321
330
|
if (signer) {
|
|
322
331
|
await publishUpdateCommand({
|
|
323
332
|
appMintAddress,
|
|
@@ -329,10 +338,11 @@ async function main() {
|
|
|
329
338
|
requestorIsAuthorized,
|
|
330
339
|
critical,
|
|
331
340
|
});
|
|
341
|
+
|
|
342
|
+
const resultText = "dApp successfully updated on the publisher portal";
|
|
343
|
+
showMessage("Success", resultText);
|
|
332
344
|
}
|
|
333
|
-
}
|
|
334
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
335
|
-
}
|
|
345
|
+
});
|
|
336
346
|
}
|
|
337
347
|
);
|
|
338
348
|
|
|
@@ -373,19 +383,16 @@ async function main() {
|
|
|
373
383
|
critical,
|
|
374
384
|
dryRun,
|
|
375
385
|
}) => {
|
|
376
|
-
|
|
386
|
+
tryWithErrorMessage(async () => {
|
|
387
|
+
await checkForSelfUpdate();
|
|
388
|
+
|
|
377
389
|
const config = await getConfigFile();
|
|
378
390
|
|
|
379
391
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
380
|
-
|
|
381
|
-
"\n\n::: Either specify an release mint address in the config file, or specify as a CLI argument to this command. :::\n\n"
|
|
382
|
-
);
|
|
383
|
-
publishCommand.showHelpAfterError();
|
|
384
|
-
return;
|
|
392
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.")
|
|
385
393
|
}
|
|
386
394
|
|
|
387
395
|
const signer = parseKeypair(keypair);
|
|
388
|
-
|
|
389
396
|
if (signer) {
|
|
390
397
|
await publishRemoveCommand({
|
|
391
398
|
appMintAddress,
|
|
@@ -396,10 +403,11 @@ async function main() {
|
|
|
396
403
|
requestorIsAuthorized,
|
|
397
404
|
critical,
|
|
398
405
|
});
|
|
406
|
+
|
|
407
|
+
const resultText = "dApp successfully removed from the publisher portal";
|
|
408
|
+
showMessage("Success", resultText);
|
|
399
409
|
}
|
|
400
|
-
}
|
|
401
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
402
|
-
}
|
|
410
|
+
})
|
|
403
411
|
}
|
|
404
412
|
);
|
|
405
413
|
|
|
@@ -434,19 +442,16 @@ async function main() {
|
|
|
434
442
|
requestDetails,
|
|
435
443
|
{ appMintAddress, releaseMintAddress, keypair, url, requestorIsAuthorized, dryRun }
|
|
436
444
|
) => {
|
|
437
|
-
|
|
445
|
+
tryWithErrorMessage(async () => {
|
|
446
|
+
await checkForSelfUpdate();
|
|
447
|
+
|
|
438
448
|
const config = await getConfigFile();
|
|
439
449
|
|
|
440
450
|
if (!hasAddressInConfig(config.release) && !releaseMintAddress) {
|
|
441
|
-
|
|
442
|
-
"\n\n::: Either specify an release mint address in the config file, or specify as a CLI argument to this command. :::\n\n"
|
|
443
|
-
);
|
|
444
|
-
publishCommand.showHelpAfterError();
|
|
445
|
-
return;
|
|
451
|
+
throw new Error("Either specify a release mint address in the config file or specify as a CLI argument to this command.")
|
|
446
452
|
}
|
|
447
453
|
|
|
448
454
|
const signer = parseKeypair(keypair);
|
|
449
|
-
|
|
450
455
|
if (signer) {
|
|
451
456
|
await publishSupportCommand({
|
|
452
457
|
appMintAddress,
|
|
@@ -457,10 +462,11 @@ async function main() {
|
|
|
457
462
|
requestorIsAuthorized,
|
|
458
463
|
requestDetails,
|
|
459
464
|
});
|
|
465
|
+
|
|
466
|
+
const resultText = "Support request sent successfully";
|
|
467
|
+
showMessage("Success", resultText);
|
|
460
468
|
}
|
|
461
|
-
}
|
|
462
|
-
showUserErrorMessage((e as Error | null)?.message ?? "");
|
|
463
|
-
}
|
|
469
|
+
});
|
|
464
470
|
}
|
|
465
471
|
);
|
|
466
472
|
|
package/src/utils.ts
CHANGED
|
@@ -11,6 +11,9 @@ import { exec } from "child_process";
|
|
|
11
11
|
import * as path from "path";
|
|
12
12
|
import { BundlrStorageDriver, keypairIdentity, Metaplex, toMetaplexFile } from "@metaplex-foundation/js";
|
|
13
13
|
import { imageSize } from "image-size";
|
|
14
|
+
import updateNotifier from "update-notifier";
|
|
15
|
+
import cliPackage from "./package.json" assert { type: "json" };
|
|
16
|
+
import boxen from "boxen";
|
|
14
17
|
|
|
15
18
|
import { CachedStorageDriver } from "./upload/CachedStorageDriver.js";
|
|
16
19
|
|
|
@@ -19,6 +22,15 @@ const runExec = util.promisify(exec);
|
|
|
19
22
|
|
|
20
23
|
export const debug = debugModule("CLI");
|
|
21
24
|
|
|
25
|
+
export const checkForSelfUpdate = async () => {
|
|
26
|
+
const notifier = updateNotifier({ pkg: cliPackage });
|
|
27
|
+
const updateInfo = await notifier.fetchInfo();
|
|
28
|
+
|
|
29
|
+
if (updateInfo.current != updateInfo.latest) {
|
|
30
|
+
throw new Error("Please update to the latest version of the dApp Store CLI before proceeding.");
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
22
34
|
export const parseKeypair = (pathToKeypairFile: string) => {
|
|
23
35
|
try {
|
|
24
36
|
const keypairFile = fs.readFileSync(pathToKeypairFile, "utf-8");
|
|
@@ -48,8 +60,6 @@ export const getConfigFile = async (
|
|
|
48
60
|
|
|
49
61
|
const config = await getConfig(configFilePath);
|
|
50
62
|
|
|
51
|
-
console.info(`Pulling details from ${configFilePath}`);
|
|
52
|
-
|
|
53
63
|
if (buildToolsDir && fs.lstatSync(buildToolsDir).isDirectory()) {
|
|
54
64
|
// We validate that the config is going to have at least one installable asset
|
|
55
65
|
const apkEntry = config.release.files.find(
|
|
@@ -122,10 +132,34 @@ const checkImageExtension = (uri: string): boolean => {
|
|
|
122
132
|
);
|
|
123
133
|
};
|
|
124
134
|
|
|
125
|
-
export const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
135
|
+
export const generateNetworkSuffix = (rpcUrl: string): string => {
|
|
136
|
+
let suffix = "";
|
|
137
|
+
|
|
138
|
+
if (rpcUrl.indexOf("devnet") != -1) {
|
|
139
|
+
suffix = "?cluster=devnet";
|
|
140
|
+
} else if (rpcUrl.indexOf("testnet") != -1) {
|
|
141
|
+
suffix = "?cluster=testnet";
|
|
142
|
+
} else if (rpcUrl.indexOf("mainnet") != -1) {
|
|
143
|
+
suffix = "?cluster=mainnet";
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return suffix;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
export const showMessage = (
|
|
150
|
+
titleMessage = "",
|
|
151
|
+
contentMessage = "",
|
|
152
|
+
isError = false
|
|
153
|
+
) => {
|
|
154
|
+
console.log(boxen(contentMessage, {
|
|
155
|
+
title: titleMessage,
|
|
156
|
+
padding: 1,
|
|
157
|
+
margin: 1,
|
|
158
|
+
borderStyle: 'single',
|
|
159
|
+
borderColor: isError ? "redBright" : "cyan",
|
|
160
|
+
textAlignment: "left",
|
|
161
|
+
titleAlignment: "center"
|
|
162
|
+
}));
|
|
129
163
|
};
|
|
130
164
|
|
|
131
165
|
const checkIconDimensions = async (iconPath: string): Promise<boolean> => {
|
|
@@ -167,7 +201,7 @@ const getAndroidDetails = async (
|
|
|
167
201
|
let localeArray = Array.from(locales?.values() ?? []);
|
|
168
202
|
if (localeArray.length == 2) {
|
|
169
203
|
const localesSrc = localeArray[1];
|
|
170
|
-
localeArray = localesSrc.split("' '").slice(1);
|
|
204
|
+
localeArray = ["en-US"].concat(localesSrc.split("' '").slice(1));
|
|
171
205
|
}
|
|
172
206
|
|
|
173
207
|
return {
|