shipthis 0.1.30 → 0.1.32
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 +122 -41
- package/assets/markdown/create-google-play-game.md +2 -4
- package/assets/markdown/ship-success.md +1 -1
- package/dist/{AppleBundleIdDetails-Fp5COwTa.js → AppleBundleIdDetails-6H3cNWxw.js} +17 -19
- package/dist/{Command-1p5alCz3.js → Command-WPpmLPkL.js} +13 -12
- package/dist/CommandGame-cxzWG4nT.js +7 -0
- package/dist/{Create-1xAdntNl.js → Create-3Ob8sjik.js} +20 -20
- package/dist/GameStatus-BQEtVKvv.js +137 -0
- package/dist/{Import-CzC-M4ln.js → Import-CFuPDI0K.js} +33 -35
- package/dist/{JobLogTail-CZxoMSd5.js → JobLogTail-0CBLoG8N.js} +53 -52
- package/dist/{JobProgress-BjNgtIjm.js → JobProgress-lKqVT88m.js} +46 -37
- package/dist/{JobStatusTable-BB-PWlwj.js → JobStatusTable-C_ZsZJCm.js} +14 -13
- package/dist/{NextSteps-CK9zHOCt.js → NextSteps-DbJHmscQ.js} +1 -3
- package/dist/{ProgressSpinner-6pw1T8Iw.js → ProgressSpinner-DGcakQSK.js} +1 -1
- package/dist/{ProjectCredentialsTable-DyZep993.js → ProjectCredentialsTable-B5pHOnGu.js} +11 -10
- package/dist/{StatusTable-Dm5St4g-.js → StatusTable-DzRWcMr4.js} +7 -9
- package/dist/{Table-CvM6pccN.js → Table-FaNgpyeq.js} +15 -15
- package/dist/{UserCredentialsTable-BraKyDWT.js → UserCredentialsTable-3W3qesh7.js} +18 -19
- package/dist/{baseAppleCommand-BHRIBtTj.js → baseAppleCommand-BGV088--.js} +1 -1
- package/dist/{baseGameAndroidCommand-SrDRbhAG.js → baseGameAndroidCommand-CsemgVjp.js} +23 -23
- package/dist/commands/apple/apiKey/create.js +35 -35
- package/dist/commands/apple/apiKey/export.js +26 -26
- package/dist/commands/apple/apiKey/import.js +27 -27
- package/dist/commands/apple/apiKey/status.js +31 -31
- package/dist/commands/apple/certificate/create.js +39 -39
- package/dist/commands/apple/certificate/export.js +26 -26
- package/dist/commands/apple/certificate/import.js +27 -27
- package/dist/commands/apple/certificate/status.js +31 -31
- package/dist/commands/apple/login.js +15 -15
- package/dist/commands/apple/status.js +28 -28
- package/dist/commands/dashboard.js +10 -10
- package/dist/commands/game/android/apiKey/connect.js +28 -28
- package/dist/commands/game/android/apiKey/create.js +28 -28
- package/dist/commands/game/android/apiKey/export.js +29 -29
- package/dist/commands/game/android/apiKey/import.js +31 -31
- package/dist/commands/game/android/apiKey/invite.js +14 -14
- package/dist/commands/game/android/apiKey/status.js +29 -29
- package/dist/commands/game/android/keyStore/create.js +24 -24
- package/dist/commands/game/android/keyStore/export.js +28 -28
- package/dist/commands/game/android/keyStore/import.js +35 -35
- package/dist/commands/game/android/keyStore/status.js +26 -26
- package/dist/commands/game/android/status.js +14 -58
- package/dist/commands/game/build/download.js +24 -24
- package/dist/commands/game/build/list.js +37 -37
- package/dist/commands/game/create.js +15 -15
- package/dist/commands/game/details.js +35 -36
- package/dist/commands/game/export.js +12 -12
- package/dist/commands/game/ios/app/addTester.js +24 -24
- package/dist/commands/game/ios/app/create.js +24 -24
- package/dist/commands/game/ios/app/status.js +29 -29
- package/dist/commands/game/ios/app/sync.js +31 -31
- package/dist/commands/game/ios/profile/create.js +30 -30
- package/dist/commands/game/ios/profile/export.js +28 -28
- package/dist/commands/game/ios/profile/import.js +32 -32
- package/dist/commands/game/ios/profile/status.js +36 -36
- package/dist/commands/game/ios/status.js +46 -58
- package/dist/commands/game/ios/wizard.js +31 -31
- package/dist/commands/game/job/list.js +34 -34
- package/dist/commands/game/job/status.js +31 -31
- package/dist/commands/game/list.js +45 -41
- package/dist/commands/game/ship.js +73 -70
- package/dist/commands/game/status.js +38 -82
- package/dist/commands/game/wizard.js +271 -307
- package/dist/commands/internal/fastlane.js +15 -17
- package/dist/commands/internal/readme.js +38 -36
- package/dist/commands/login.js +14 -14
- package/dist/commands/status.js +35 -33
- package/dist/{export-BKn02-NH.js → export-CXsVPXA1.js} +5 -5
- package/dist/{git-DREGq-jc.js → git-BpsfNFZ_.js} +8 -8
- package/dist/{import-CRMaNBVF.js → import-DGvG5REx.js} +14 -14
- package/dist/{index-DxzXU9Hd.js → index-BhhiXbey.js} +244 -221
- package/dist/{index-OZi8bvu8.js → index-C03TV1_J.js} +54 -38
- package/dist/{index-BTAL7EB_.js → index-C66Dd8Xc.js} +80 -79
- package/dist/{index-35Eswf6F.js → index-CGBdOm1q.js} +43 -27
- package/dist/{index--EbYyBAZ.js → index-CS9Gwcb0.js} +41 -43
- package/dist/{index-u1aj1OQW.js → index-CtTI85m-.js} +6 -6
- package/dist/{upload-Bw0zrS4M.js → upload-8y5MQEm9.js} +22 -22
- package/dist/{useAndroidServiceAccountTestResult-CJLIEYmA.js → useAndroidServiceAccountTestResult-DZk5SMxI.js} +11 -13
- package/dist/{useAppleApp-cnb8gX0x.js → useAppleApp-DWYGURwU.js} +4 -4
- package/dist/{useAppleBundleId-B0Etav8g.js → useAppleBundleId-PsTJ2g1B.js} +6 -6
- package/dist/{useProjectCredentials-DX3e_PPc.js → useProjectCredentials-BEphqa18.js} +10 -12
- package/dist/{useWebSocket-BOCa8v6o.js → useWebSocket-5PYa2QER.js} +1 -1
- package/dist/utils/help.js +4 -4
- package/package.json +4 -2
- package/dist/CommandGame-Z4eUQBjn.js +0 -9
- package/dist/{RunWithSpinner-BVXNWGD3.js → RunWithSpinner-gMVA07bZ.js} +2 -2
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { render } from 'ink';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import '
|
|
7
|
-
import '../../../index-BTAL7EB_.js';
|
|
4
|
+
import { g as getUserCredentials } from '../../../index-CtTI85m-.js';
|
|
5
|
+
import forge from 'node-forge';
|
|
6
|
+
import { l as CertificateType, k as Certificate, P as Platform, C as CredentialsType } from '../../../index-BhhiXbey.js';
|
|
8
7
|
import 'ink-spinner';
|
|
9
|
-
import '
|
|
10
|
-
import '
|
|
11
|
-
import 'uuid';
|
|
12
|
-
import 'fs';
|
|
13
|
-
import 'luxon';
|
|
14
|
-
import '@inkjs/ui';
|
|
15
|
-
import '@tanstack/react-query';
|
|
16
|
-
import 'yazl';
|
|
17
|
-
import 'crypto';
|
|
18
|
-
import 'readline-sync';
|
|
19
|
-
import 'node:readline';
|
|
8
|
+
import 'node:crypto';
|
|
9
|
+
import 'node:fs';
|
|
20
10
|
import 'node:path';
|
|
11
|
+
import 'node:readline';
|
|
21
12
|
import 'node:url';
|
|
13
|
+
import 'readline-sync';
|
|
14
|
+
import 'luxon';
|
|
15
|
+
import 'axios';
|
|
22
16
|
import 'isomorphic-git';
|
|
17
|
+
import '@tanstack/react-query';
|
|
18
|
+
import 'react';
|
|
19
|
+
import 'crypto-js';
|
|
20
|
+
import 'uuid';
|
|
23
21
|
import 'fast-glob';
|
|
22
|
+
import 'yazl';
|
|
24
23
|
import 'socket.io-client';
|
|
24
|
+
import 'fullscreen-ink';
|
|
25
|
+
import 'string-length';
|
|
26
|
+
import 'strip-ansi';
|
|
25
27
|
import 'open';
|
|
28
|
+
import '@inkjs/ui';
|
|
26
29
|
import 'marked';
|
|
27
30
|
import 'marked-terminal';
|
|
28
|
-
import 'path';
|
|
29
31
|
import 'qrcode';
|
|
30
|
-
import { R as RunWithSpinner } from '../../../RunWithSpinner-
|
|
31
|
-
import '
|
|
32
|
-
import '
|
|
33
|
-
import {
|
|
34
|
-
import
|
|
35
|
-
import { B as BaseAppleCommand } from '../../../baseAppleCommand-BHRIBtTj.js';
|
|
36
|
-
import { u as uploadUserCredentials } from '../../../upload-Bw0zrS4M.js';
|
|
32
|
+
import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
|
|
33
|
+
import '../../../index-C66Dd8Xc.js';
|
|
34
|
+
import { C as Command } from '../../../Command-WPpmLPkL.js';
|
|
35
|
+
import { B as BaseAppleCommand } from '../../../baseAppleCommand-BGV088--.js';
|
|
36
|
+
import { u as uploadUserCredentials } from '../../../upload-8y5MQEm9.js';
|
|
37
37
|
import '@expo/apple-utils/build/index.js';
|
|
38
|
-
import 'ini';
|
|
39
38
|
import 'deepmerge';
|
|
40
|
-
import '
|
|
41
|
-
import '../../../
|
|
39
|
+
import 'ini';
|
|
40
|
+
import '../../../index-CGBdOm1q.js';
|
|
41
|
+
import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
|
|
42
42
|
|
|
43
43
|
function decodeCertificate(certificateContent) {
|
|
44
44
|
const decodedContent = forge.util.decode64(certificateContent);
|
|
@@ -51,12 +51,12 @@ function encodePkcs12(pkcs12Asn1) {
|
|
|
51
51
|
}
|
|
52
52
|
async function createCertificate(ctx, certificateType = CertificateType.IOS_DISTRIBUTION) {
|
|
53
53
|
const {
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
keyPair: { privateKey },
|
|
55
|
+
pem: csrPem
|
|
56
56
|
} = await Certificate.createCertificateSigningRequestAsync();
|
|
57
57
|
const certificate = await Certificate.createAsync(ctx, {
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
certificateType,
|
|
59
|
+
csrContent: csrPem
|
|
60
60
|
});
|
|
61
61
|
return {
|
|
62
62
|
certificate,
|
|
@@ -68,8 +68,8 @@ function exportCertificate(certificate, privateKey) {
|
|
|
68
68
|
const decodedCertificate = decodeCertificate(certificate.attributes.certificateContent);
|
|
69
69
|
const password = forge.util.encode64(forge.random.getBytesSync(16));
|
|
70
70
|
const pkcs12Asn1 = forge.pkcs12.toPkcs12Asn1(privateKey, [decodedCertificate], password, {
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
algorithm: "3des",
|
|
72
|
+
friendlyName: "key"
|
|
73
73
|
});
|
|
74
74
|
const encodedPkcs12 = encodePkcs12(pkcs12Asn1);
|
|
75
75
|
return {
|
|
@@ -93,7 +93,7 @@ class AppleCertificateCreate extends BaseAppleCommand {
|
|
|
93
93
|
const userAppleDistCredentials = userCredentials.filter(
|
|
94
94
|
(cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
|
|
95
95
|
);
|
|
96
|
-
if (userAppleDistCredentials.length
|
|
96
|
+
if (userAppleDistCredentials.length > 0 && !force) {
|
|
97
97
|
this.error("An Apple Distribution Certificate already exists. Use --force to overwrite it.");
|
|
98
98
|
}
|
|
99
99
|
const authState = await this.refreshAppleAuthState();
|
|
@@ -101,15 +101,15 @@ class AppleCertificateCreate extends BaseAppleCommand {
|
|
|
101
101
|
const createCert = async () => {
|
|
102
102
|
const { certificate, privateKey } = await createCertificate(ctx);
|
|
103
103
|
const exported = exportCertificate(certificate, privateKey);
|
|
104
|
-
const serialNumber = certificate.attributes
|
|
104
|
+
const { serialNumber } = certificate.attributes;
|
|
105
105
|
await uploadUserCredentials({
|
|
106
|
-
platform: Platform.IOS,
|
|
107
|
-
type: CredentialsType.CERTIFICATE,
|
|
108
106
|
contents: {
|
|
109
107
|
serialNumber,
|
|
110
108
|
...exported
|
|
111
109
|
},
|
|
112
|
-
|
|
110
|
+
platform: Platform.IOS,
|
|
111
|
+
serialNumber,
|
|
112
|
+
type: CredentialsType.CERTIFICATE
|
|
113
113
|
});
|
|
114
114
|
};
|
|
115
115
|
const handleComplete = async () => {
|
|
@@ -120,9 +120,9 @@ class AppleCertificateCreate extends BaseAppleCommand {
|
|
|
120
120
|
/* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
|
|
121
121
|
RunWithSpinner,
|
|
122
122
|
{
|
|
123
|
-
msgInProgress: `Creating certificate in the Apple Developer Portal...`,
|
|
124
|
-
msgComplete: `Certificate created and saved to ShipThis`,
|
|
125
123
|
executeMethod: createCert,
|
|
124
|
+
msgComplete: `Certificate created and saved to ShipThis`,
|
|
125
|
+
msgInProgress: `Creating certificate in the Apple Developer Portal...`,
|
|
126
126
|
onComplete: handleComplete
|
|
127
127
|
}
|
|
128
128
|
) })
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
2
3
|
import { Args, Flags } from '@oclif/core';
|
|
3
4
|
import { render } from 'ink';
|
|
4
|
-
import
|
|
5
|
-
import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-
|
|
6
|
-
import { g as getUserCredentials } from '../../../index-u1aj1OQW.js';
|
|
7
|
-
import 'react';
|
|
8
|
-
import '../../../index-BTAL7EB_.js';
|
|
5
|
+
import { g as getUserCredentials } from '../../../index-CtTI85m-.js';
|
|
6
|
+
import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-BhhiXbey.js';
|
|
9
7
|
import 'ink-spinner';
|
|
10
|
-
import '
|
|
11
|
-
import 'crypto-js';
|
|
12
|
-
import 'uuid';
|
|
13
|
-
import 'luxon';
|
|
14
|
-
import '@inkjs/ui';
|
|
15
|
-
import '@tanstack/react-query';
|
|
16
|
-
import 'yazl';
|
|
17
|
-
import 'crypto';
|
|
18
|
-
import 'readline-sync';
|
|
19
|
-
import 'node:readline';
|
|
8
|
+
import 'node:crypto';
|
|
20
9
|
import 'node:path';
|
|
10
|
+
import 'node:readline';
|
|
21
11
|
import 'node:url';
|
|
12
|
+
import 'readline-sync';
|
|
13
|
+
import 'luxon';
|
|
14
|
+
import 'axios';
|
|
22
15
|
import 'isomorphic-git';
|
|
16
|
+
import '@tanstack/react-query';
|
|
17
|
+
import 'react';
|
|
18
|
+
import 'crypto-js';
|
|
19
|
+
import 'uuid';
|
|
23
20
|
import 'fast-glob';
|
|
21
|
+
import 'yazl';
|
|
24
22
|
import 'socket.io-client';
|
|
23
|
+
import 'fullscreen-ink';
|
|
24
|
+
import 'string-length';
|
|
25
|
+
import 'strip-ansi';
|
|
25
26
|
import 'open';
|
|
27
|
+
import '@inkjs/ui';
|
|
26
28
|
import 'marked';
|
|
27
29
|
import 'marked-terminal';
|
|
28
|
-
import 'path';
|
|
29
30
|
import 'qrcode';
|
|
30
|
-
import { R as RunWithSpinner } from '../../../RunWithSpinner-
|
|
31
|
-
import '
|
|
32
|
-
import '
|
|
33
|
-
import {
|
|
34
|
-
import { e as exportCredential } from '../../../export-BKn02-NH.js';
|
|
31
|
+
import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
|
|
32
|
+
import '../../../index-C66Dd8Xc.js';
|
|
33
|
+
import { C as Command } from '../../../Command-WPpmLPkL.js';
|
|
34
|
+
import { e as exportCredential } from '../../../export-CXsVPXA1.js';
|
|
35
35
|
import '@expo/apple-utils/build/index.js';
|
|
36
|
-
import 'ini';
|
|
37
36
|
import 'deepmerge';
|
|
38
|
-
import '
|
|
39
|
-
import '../../../
|
|
37
|
+
import 'ini';
|
|
38
|
+
import '../../../index-CGBdOm1q.js';
|
|
39
|
+
import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
|
|
40
40
|
|
|
41
41
|
class AppleCertificateExport extends BaseAuthenticatedCommand {
|
|
42
42
|
static args = {
|
|
@@ -68,9 +68,9 @@ class AppleCertificateExport extends BaseAuthenticatedCommand {
|
|
|
68
68
|
/* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
|
|
69
69
|
RunWithSpinner,
|
|
70
70
|
{
|
|
71
|
-
|
|
71
|
+
executeMethod: () => exportCredential({ credentialId: cert.id, zipPath: file }),
|
|
72
72
|
msgComplete: `Certificate exported to ${file}`,
|
|
73
|
-
|
|
73
|
+
msgInProgress: `Exporting certificate to ${file}...`,
|
|
74
74
|
onComplete: handleComplete
|
|
75
75
|
}
|
|
76
76
|
) })
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
2
3
|
import { Args, Flags } from '@oclif/core';
|
|
3
4
|
import { render } from 'ink';
|
|
4
|
-
import
|
|
5
|
-
import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-
|
|
6
|
-
import { g as getUserCredentials } from '../../../index-u1aj1OQW.js';
|
|
7
|
-
import 'react';
|
|
8
|
-
import '../../../index-BTAL7EB_.js';
|
|
5
|
+
import { g as getUserCredentials } from '../../../index-CtTI85m-.js';
|
|
6
|
+
import { B as BaseAuthenticatedCommand, P as Platform, C as CredentialsType } from '../../../index-BhhiXbey.js';
|
|
9
7
|
import 'ink-spinner';
|
|
10
|
-
import '
|
|
11
|
-
import 'crypto-js';
|
|
12
|
-
import 'uuid';
|
|
13
|
-
import 'luxon';
|
|
14
|
-
import '@inkjs/ui';
|
|
15
|
-
import '@tanstack/react-query';
|
|
16
|
-
import 'yazl';
|
|
17
|
-
import 'crypto';
|
|
18
|
-
import 'readline-sync';
|
|
19
|
-
import 'node:readline';
|
|
8
|
+
import 'node:crypto';
|
|
20
9
|
import 'node:path';
|
|
10
|
+
import 'node:readline';
|
|
21
11
|
import 'node:url';
|
|
12
|
+
import 'readline-sync';
|
|
13
|
+
import 'luxon';
|
|
14
|
+
import 'axios';
|
|
22
15
|
import 'isomorphic-git';
|
|
16
|
+
import '@tanstack/react-query';
|
|
17
|
+
import 'react';
|
|
18
|
+
import 'crypto-js';
|
|
19
|
+
import 'uuid';
|
|
23
20
|
import 'fast-glob';
|
|
21
|
+
import 'yazl';
|
|
24
22
|
import 'socket.io-client';
|
|
23
|
+
import 'fullscreen-ink';
|
|
24
|
+
import 'string-length';
|
|
25
|
+
import 'strip-ansi';
|
|
25
26
|
import 'open';
|
|
27
|
+
import '@inkjs/ui';
|
|
26
28
|
import 'marked';
|
|
27
29
|
import 'marked-terminal';
|
|
28
|
-
import 'path';
|
|
29
30
|
import 'qrcode';
|
|
30
|
-
import { R as RunWithSpinner } from '../../../RunWithSpinner-
|
|
31
|
-
import '
|
|
32
|
-
import '
|
|
33
|
-
import {
|
|
34
|
-
import { i as importCredential } from '../../../import-CRMaNBVF.js';
|
|
31
|
+
import { R as RunWithSpinner } from '../../../RunWithSpinner-gMVA07bZ.js';
|
|
32
|
+
import '../../../index-C66Dd8Xc.js';
|
|
33
|
+
import { C as Command } from '../../../Command-WPpmLPkL.js';
|
|
34
|
+
import { i as importCredential } from '../../../import-DGvG5REx.js';
|
|
35
35
|
import '@expo/apple-utils/build/index.js';
|
|
36
|
-
import 'ini';
|
|
37
36
|
import 'deepmerge';
|
|
38
|
-
import '
|
|
39
|
-
import '../../../
|
|
37
|
+
import 'ini';
|
|
38
|
+
import '../../../index-CGBdOm1q.js';
|
|
39
|
+
import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
|
|
40
40
|
|
|
41
41
|
class AppleCertificateImport extends BaseAuthenticatedCommand {
|
|
42
42
|
static args = {
|
|
@@ -62,7 +62,7 @@ class AppleCertificateImport extends BaseAuthenticatedCommand {
|
|
|
62
62
|
const userAppleDistCredentials = userCredentials.filter(
|
|
63
63
|
(cred) => cred.platform == Platform.IOS && cred.type == CredentialsType.CERTIFICATE
|
|
64
64
|
);
|
|
65
|
-
if (userAppleDistCredentials.length
|
|
65
|
+
if (userAppleDistCredentials.length > 0 && !force) {
|
|
66
66
|
this.error("An Apple Distribution Certificate already exists. Use --force to overwrite it.");
|
|
67
67
|
}
|
|
68
68
|
const handleComplete = async () => {
|
|
@@ -72,9 +72,9 @@ class AppleCertificateImport extends BaseAuthenticatedCommand {
|
|
|
72
72
|
/* @__PURE__ */ jsx(Command, { command: this, children: /* @__PURE__ */ jsx(
|
|
73
73
|
RunWithSpinner,
|
|
74
74
|
{
|
|
75
|
-
|
|
75
|
+
executeMethod: () => importCredential({ platform: Platform.IOS, type: CredentialsType.CERTIFICATE, zipPath: file }),
|
|
76
76
|
msgComplete: `Certificate imported from ${file}`,
|
|
77
|
-
|
|
77
|
+
msgInProgress: `Importing certificate from ${file}...`,
|
|
78
78
|
onComplete: handleComplete
|
|
79
79
|
}
|
|
80
80
|
) })
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Flags } from '@oclif/core';
|
|
3
3
|
import { Box, Text, render } from 'ink';
|
|
4
|
-
import { b as getShortDate,
|
|
5
|
-
import 'react';
|
|
6
|
-
import '../../../index-BTAL7EB_.js';
|
|
4
|
+
import { b as getShortDate, k as Certificate, l as CertificateType, P as Platform, C as CredentialsType, B as BaseAuthenticatedCommand } from '../../../index-BhhiXbey.js';
|
|
7
5
|
import Spinner from 'ink-spinner';
|
|
8
|
-
import '
|
|
9
|
-
import '
|
|
10
|
-
import 'uuid';
|
|
11
|
-
import 'fs';
|
|
12
|
-
import { DateTime } from 'luxon';
|
|
13
|
-
import '@inkjs/ui';
|
|
14
|
-
import { useQuery } from '@tanstack/react-query';
|
|
15
|
-
import 'yazl';
|
|
16
|
-
import 'crypto';
|
|
17
|
-
import 'readline-sync';
|
|
18
|
-
import 'node:readline';
|
|
6
|
+
import 'node:crypto';
|
|
7
|
+
import 'node:fs';
|
|
19
8
|
import 'node:path';
|
|
9
|
+
import 'node:readline';
|
|
20
10
|
import 'node:url';
|
|
11
|
+
import 'readline-sync';
|
|
12
|
+
import { DateTime } from 'luxon';
|
|
13
|
+
import 'axios';
|
|
21
14
|
import 'isomorphic-git';
|
|
15
|
+
import { useQuery } from '@tanstack/react-query';
|
|
16
|
+
import 'react';
|
|
17
|
+
import 'crypto-js';
|
|
18
|
+
import 'uuid';
|
|
22
19
|
import 'fast-glob';
|
|
20
|
+
import 'yazl';
|
|
23
21
|
import 'socket.io-client';
|
|
22
|
+
import 'fullscreen-ink';
|
|
23
|
+
import 'string-length';
|
|
24
|
+
import 'strip-ansi';
|
|
24
25
|
import 'open';
|
|
26
|
+
import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-3W3qesh7.js';
|
|
27
|
+
import '@inkjs/ui';
|
|
25
28
|
import 'marked';
|
|
26
29
|
import 'marked-terminal';
|
|
27
|
-
import 'path';
|
|
28
30
|
import 'qrcode';
|
|
29
|
-
import '
|
|
30
|
-
import '
|
|
31
|
-
import {
|
|
32
|
-
import { u as useUserCredentials, U as UserCredentialsTable } from '../../../UserCredentialsTable-BraKyDWT.js';
|
|
33
|
-
import { T as Table } from '../../../Table-CvM6pccN.js';
|
|
31
|
+
import '../../../index-C66Dd8Xc.js';
|
|
32
|
+
import { g as getShortUUID } from '../../../index-CGBdOm1q.js';
|
|
33
|
+
import { T as Table } from '../../../Table-FaNgpyeq.js';
|
|
34
34
|
import { T as Title } from '../../../Title-BCQtayg6.js';
|
|
35
|
-
import { N as NextSteps } from '../../../NextSteps-
|
|
36
|
-
import { C as Command } from '../../../Command-
|
|
35
|
+
import { N as NextSteps } from '../../../NextSteps-DbJHmscQ.js';
|
|
36
|
+
import { C as Command } from '../../../Command-WPpmLPkL.js';
|
|
37
37
|
import '@expo/apple-utils/build/index.js';
|
|
38
|
-
import 'ini';
|
|
39
38
|
import 'deepmerge';
|
|
40
|
-
import '
|
|
39
|
+
import 'ini';
|
|
40
|
+
import '../../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
|
|
41
41
|
|
|
42
42
|
async function queryAppleCertificates({ ctx }) {
|
|
43
43
|
const appleCerts = await Certificate.getAsync(ctx, {
|
|
@@ -55,17 +55,17 @@ const canAppleCertificateBeUsed = (cert, userCredentials) => {
|
|
|
55
55
|
};
|
|
56
56
|
function getAppleCertificateSummary(cert, userCredentials) {
|
|
57
57
|
return {
|
|
58
|
+
canBeUsed: canAppleCertificateBeUsed(cert, userCredentials),
|
|
59
|
+
expires: getShortDate(DateTime.fromISO(cert.attributes.expirationDate)),
|
|
58
60
|
id: getShortUUID(cert.id),
|
|
59
61
|
name: cert.attributes.name,
|
|
60
|
-
serial: cert.attributes.serialNumber
|
|
61
|
-
expires: getShortDate(DateTime.fromISO(cert.attributes.expirationDate)),
|
|
62
|
-
canBeUsed: canAppleCertificateBeUsed(cert, userCredentials)
|
|
62
|
+
serial: cert.attributes.serialNumber
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
const useAppleCertificates = (props) => {
|
|
66
66
|
const queryResult = useQuery({
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
queryFn: () => queryAppleCertificates(props),
|
|
68
|
+
queryKey: ["appleCertificates"]
|
|
69
69
|
});
|
|
70
70
|
return queryResult;
|
|
71
71
|
};
|
|
@@ -82,7 +82,7 @@ const AppleCertificatesTable = ({ ctx, ...boxProps }) => {
|
|
|
82
82
|
/* @__PURE__ */ jsx(Title, { children: "Distribution Certificates in your Apple account" }),
|
|
83
83
|
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
84
84
|
certs && userCredentialsResponse && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
85
|
-
/* @__PURE__ */ jsxs(Box, {
|
|
85
|
+
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 2, children: [
|
|
86
86
|
/* @__PURE__ */ jsx(Text, { children: `You have ${certs.length} Distribution Certificates in your Apple account` }),
|
|
87
87
|
/* @__PURE__ */ jsx(Text, { children: `${hasUsable ? "One" : "None"} of these can be used by ShipThis` })
|
|
88
88
|
] }),
|
|
@@ -118,7 +118,7 @@ class AppleCertificateStatus extends BaseAuthenticatedCommand {
|
|
|
118
118
|
UserCredentialsTable,
|
|
119
119
|
{
|
|
120
120
|
credentialTypeName: "Apple iOS Distribution Certificate",
|
|
121
|
-
queryProps: {
|
|
121
|
+
queryProps: { platform: Platform.IOS, type: CredentialsType.CERTIFICATE }
|
|
122
122
|
}
|
|
123
123
|
),
|
|
124
124
|
showApple && /* @__PURE__ */ jsx(AppleCertificatesTable, { ctx })
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
|
-
import { _ as Auth, B as BaseAuthenticatedCommand } from '../../index-
|
|
3
|
-
import { a as getInput, e as getMaskedInput } from '../../index-
|
|
4
|
-
import '
|
|
5
|
-
import 'fs';
|
|
6
|
-
import '@expo/apple-utils/build/index.js';
|
|
2
|
+
import { _ as Auth, B as BaseAuthenticatedCommand } from '../../index-BhhiXbey.js';
|
|
3
|
+
import { a as getInput, e as getMaskedInput } from '../../index-CGBdOm1q.js';
|
|
4
|
+
import 'node:fs';
|
|
7
5
|
import 'axios';
|
|
8
6
|
import 'crypto-js';
|
|
9
7
|
import 'uuid';
|
|
10
8
|
import 'luxon';
|
|
11
|
-
import 'crypto';
|
|
12
|
-
import 'readline-sync';
|
|
13
|
-
import 'node:readline';
|
|
14
9
|
import 'node:path';
|
|
10
|
+
import '@expo/apple-utils/build/index.js';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'node:readline';
|
|
15
13
|
import 'node:url';
|
|
14
|
+
import 'readline-sync';
|
|
16
15
|
import 'isomorphic-git';
|
|
17
|
-
import 'ini';
|
|
18
16
|
import 'deepmerge';
|
|
19
|
-
import '
|
|
17
|
+
import 'ini';
|
|
20
18
|
import '@tanstack/react-query';
|
|
19
|
+
import 'react';
|
|
21
20
|
import 'fast-glob';
|
|
22
21
|
import 'yazl';
|
|
23
22
|
import 'socket.io-client';
|
|
23
|
+
import 'fullscreen-ink';
|
|
24
24
|
|
|
25
25
|
async function getNewAuthState(username, password) {
|
|
26
26
|
const authState = await Auth.loginAsync({
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
password,
|
|
28
|
+
username
|
|
29
29
|
});
|
|
30
30
|
return authState;
|
|
31
31
|
}
|
|
@@ -38,12 +38,12 @@ class AppleLogin extends BaseAuthenticatedCommand {
|
|
|
38
38
|
"<%= config.bin %> <%= command.id %> --force --appleEmail me@email.nowhere"
|
|
39
39
|
];
|
|
40
40
|
static flags = {
|
|
41
|
-
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" }),
|
|
42
|
-
force: Flags.boolean({ char: "f" }),
|
|
43
41
|
appleEmail: Flags.string({
|
|
44
42
|
char: "e",
|
|
45
43
|
description: "Your Apple Developer email address"
|
|
46
|
-
})
|
|
44
|
+
}),
|
|
45
|
+
force: Flags.boolean({ char: "f" }),
|
|
46
|
+
quiet: Flags.boolean({ char: "q", description: "Avoid output except for interactions and errors" })
|
|
47
47
|
};
|
|
48
48
|
async run() {
|
|
49
49
|
const { flags } = this;
|
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { B as BaseAuthenticatedCommand } from '../../index-DxzXU9Hd.js';
|
|
3
|
-
import 'react';
|
|
4
2
|
import { render } from 'ink';
|
|
5
|
-
import '../../index-
|
|
3
|
+
import { B as BaseAuthenticatedCommand } from '../../index-BhhiXbey.js';
|
|
6
4
|
import 'ink-spinner';
|
|
7
|
-
import '
|
|
8
|
-
import '
|
|
9
|
-
import 'uuid';
|
|
10
|
-
import 'fs';
|
|
11
|
-
import 'luxon';
|
|
12
|
-
import '@inkjs/ui';
|
|
13
|
-
import '@tanstack/react-query';
|
|
14
|
-
import 'yazl';
|
|
15
|
-
import 'crypto';
|
|
16
|
-
import 'readline-sync';
|
|
17
|
-
import 'node:readline';
|
|
5
|
+
import 'node:crypto';
|
|
6
|
+
import 'node:fs';
|
|
18
7
|
import 'node:path';
|
|
8
|
+
import 'node:readline';
|
|
19
9
|
import 'node:url';
|
|
10
|
+
import 'readline-sync';
|
|
11
|
+
import 'luxon';
|
|
12
|
+
import 'axios';
|
|
20
13
|
import 'isomorphic-git';
|
|
21
14
|
import '@oclif/core';
|
|
15
|
+
import '@tanstack/react-query';
|
|
16
|
+
import 'react';
|
|
17
|
+
import 'crypto-js';
|
|
18
|
+
import 'uuid';
|
|
22
19
|
import 'fast-glob';
|
|
20
|
+
import 'yazl';
|
|
23
21
|
import 'socket.io-client';
|
|
22
|
+
import 'fullscreen-ink';
|
|
23
|
+
import 'string-length';
|
|
24
|
+
import 'strip-ansi';
|
|
25
|
+
import { S as StatusTable } from '../../StatusTable-DzRWcMr4.js';
|
|
24
26
|
import 'open';
|
|
27
|
+
import '@inkjs/ui';
|
|
25
28
|
import 'marked';
|
|
26
29
|
import 'marked-terminal';
|
|
27
|
-
import '
|
|
28
|
-
import { N as NextSteps } from '../../NextSteps-CK9zHOCt.js';
|
|
30
|
+
import { N as NextSteps } from '../../NextSteps-DbJHmscQ.js';
|
|
29
31
|
import 'qrcode';
|
|
30
|
-
import
|
|
31
|
-
import '
|
|
32
|
-
import 'strip-ansi';
|
|
33
|
-
import { C as Command } from '../../Command-1p5alCz3.js';
|
|
32
|
+
import '../../index-C66Dd8Xc.js';
|
|
33
|
+
import { C as Command } from '../../Command-WPpmLPkL.js';
|
|
34
34
|
import '@expo/apple-utils/build/index.js';
|
|
35
|
-
import 'ini';
|
|
36
35
|
import 'deepmerge';
|
|
37
|
-
import '
|
|
38
|
-
import '../../useAndroidServiceAccountTestResult-CJLIEYmA.js';
|
|
36
|
+
import 'ini';
|
|
39
37
|
import '../../Title-BCQtayg6.js';
|
|
38
|
+
import '../../index-CGBdOm1q.js';
|
|
39
|
+
import '../../useAndroidServiceAccountTestResult-DZk5SMxI.js';
|
|
40
40
|
|
|
41
41
|
class AppleStatus extends BaseAuthenticatedCommand {
|
|
42
42
|
static args = {};
|
|
@@ -61,15 +61,15 @@ class AppleStatus extends BaseAuthenticatedCommand {
|
|
|
61
61
|
};
|
|
62
62
|
const { isAuthenticatedOnApple, session } = await checkAuth();
|
|
63
63
|
const statuses = {
|
|
64
|
-
"Authenticated on Apple Developer Portal": isAuthenticatedOnApple,
|
|
65
64
|
"Apple Full Name": session?.user?.fullName || "Please authenticate",
|
|
66
|
-
"Apple Provider Name": session?.provider?.name || "Please authenticate"
|
|
65
|
+
"Apple Provider Name": session?.provider?.name || "Please authenticate",
|
|
66
|
+
"Authenticated on Apple Developer Portal": isAuthenticatedOnApple
|
|
67
67
|
};
|
|
68
|
-
|
|
69
|
-
if (!isAuthenticatedOnApple) steps.push("
|
|
68
|
+
const steps = [];
|
|
69
|
+
if (!isAuthenticatedOnApple) steps.push("shipthis apple login");
|
|
70
70
|
render(
|
|
71
71
|
/* @__PURE__ */ jsxs(Command, { command: this, children: [
|
|
72
|
-
/* @__PURE__ */ jsx(StatusTable, { marginBottom: 1, title: "Apple Status"
|
|
72
|
+
/* @__PURE__ */ jsx(StatusTable, { marginBottom: 1, statuses, title: "Apple Status" }),
|
|
73
73
|
/* @__PURE__ */ jsx(NextSteps, { steps })
|
|
74
74
|
] })
|
|
75
75
|
);
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import open from 'open';
|
|
2
|
-
import { B as BaseAuthenticatedCommand, X as getSingleUseUrl } from '../index-
|
|
3
|
-
import '
|
|
4
|
-
import 'fs';
|
|
5
|
-
import '@oclif/core';
|
|
6
|
-
import '@expo/apple-utils/build/index.js';
|
|
2
|
+
import { B as BaseAuthenticatedCommand, X as getSingleUseUrl } from '../index-BhhiXbey.js';
|
|
3
|
+
import 'node:fs';
|
|
7
4
|
import 'axios';
|
|
8
5
|
import 'crypto-js';
|
|
9
6
|
import 'uuid';
|
|
10
7
|
import 'luxon';
|
|
11
|
-
import 'crypto';
|
|
12
|
-
import 'readline-sync';
|
|
13
|
-
import 'node:readline';
|
|
14
8
|
import 'node:path';
|
|
9
|
+
import '@oclif/core';
|
|
10
|
+
import '@expo/apple-utils/build/index.js';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'node:readline';
|
|
15
13
|
import 'node:url';
|
|
14
|
+
import 'readline-sync';
|
|
16
15
|
import 'isomorphic-git';
|
|
17
|
-
import 'ini';
|
|
18
16
|
import 'deepmerge';
|
|
19
|
-
import '
|
|
17
|
+
import 'ini';
|
|
20
18
|
import '@tanstack/react-query';
|
|
19
|
+
import 'react';
|
|
21
20
|
import 'fast-glob';
|
|
22
21
|
import 'yazl';
|
|
23
22
|
import 'socket.io-client';
|
|
23
|
+
import 'fullscreen-ink';
|
|
24
24
|
|
|
25
25
|
class Dashboard extends BaseAuthenticatedCommand {
|
|
26
26
|
static args = {};
|