shipthis 0.1.11 → 0.1.12
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/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +1 -83
- package/package.json +1 -1
- package/dist/AppleBundleIdDetails-C0XqjxKJ.js +0 -72
- package/dist/AppleBundleIdDetails-CjP5y0cj.js +0 -74
- package/dist/AppleBundleIdDetails-CztWY_mT.js +0 -73
- package/dist/AppleBundleIdDetails-DKeSAte9.js +0 -73
- package/dist/AppleBundleIdDetails-Df30MPFC.js +0 -73
- package/dist/AppleBundleIdDetails-Dxo99Sgu.js +0 -72
- package/dist/Command-1YAl_0zS.js +0 -204
- package/dist/Command-Cl-JfhTy.js +0 -203
- package/dist/Command-D6rWEZRM.js +0 -204
- package/dist/Command-Dn0P_KOV.js +0 -205
- package/dist/Command-DxmQn3XT.js +0 -204
- package/dist/Command-YJJp90ru.js +0 -204
- package/dist/CommandGame--SAa3wEL.js +0 -8
- package/dist/CommandGame-CZUx_VQu.js +0 -8
- package/dist/CommandGame-DspVLTPZ.js +0 -8
- package/dist/CommandGame-cPaTk1wh.js +0 -8
- package/dist/CommandGame-k04mHiDl.js +0 -8
- package/dist/CommandGame-pI9VXKxi.js +0 -8
- package/dist/CreateKeystore-BnNdeDUa.js +0 -57
- package/dist/CreateKeystore-BqJdpvsI.js +0 -56
- package/dist/CreateKeystore-Cf-nsK_M.js +0 -56
- package/dist/CreateKeystore-D8uTRamD.js +0 -56
- package/dist/CreateKeystore-Dm0KVh85.js +0 -56
- package/dist/CreateKeystore-g1z6DsU5.js +0 -56
- package/dist/JobProgress-CPkWVSlH.js +0 -108
- package/dist/JobProgress-Dk0UoNah.js +0 -108
- package/dist/JobProgress-biiLhigg.js +0 -109
- package/dist/JobProgress-jmGAzvxS.js +0 -108
- package/dist/JobStatusTable-BA_q-kgE.js +0 -75
- package/dist/JobStatusTable-ByW0bN6c.js +0 -75
- package/dist/JobStatusTable-CgaTS7jS.js +0 -75
- package/dist/JobStatusTable-q4atKzhu.js +0 -75
- package/dist/ProjectCredentialsTable-BIWBAXCh.js +0 -37
- package/dist/ProjectCredentialsTable-Ch8022rs.js +0 -37
- package/dist/ProjectCredentialsTable-DRMK_SNw.js +0 -37
- package/dist/ProjectCredentialsTable-DfkpvTf8.js +0 -37
- package/dist/UserCredentialsTable-CeJS3_hd.js +0 -82
- package/dist/UserCredentialsTable-DMh8Wpy7.js +0 -82
- package/dist/UserCredentialsTable-DgHZJSHG.js +0 -82
- package/dist/UserCredentialsTable-ysmM5dlV.js +0 -82
- package/dist/baseAppleCommand-1isaFxCQ.js +0 -10
- package/dist/baseAppleCommand-B3WQtlx-.js +0 -10
- package/dist/baseAppleCommand-D-G4h8zQ.js +0 -10
- package/dist/baseAppleCommand-DpasCbje.js +0 -10
- package/dist/baseGameAndroidCommand-B-CFhPnE.js +0 -43
- package/dist/baseGameAndroidCommand-B3LRG701.js +0 -43
- package/dist/baseGameAndroidCommand-C9BuS2Sr.js +0 -43
- package/dist/baseGameAndroidCommand-DD0H8iy-.js +0 -43
- package/dist/commands/game/android/wizard.js +0 -509
- package/dist/export-BDxGDZdh.js +0 -36
- package/dist/export-B_F6vXIK.js +0 -36
- package/dist/export-BiLHgSJ9.js +0 -36
- package/dist/export-C_lu1FD9.js +0 -36
- package/dist/import-7T3J63j2.js +0 -38
- package/dist/import-Brg3zYmT.js +0 -38
- package/dist/import-BrlJuE2Z.js +0 -38
- package/dist/import-CxNikF1c.js +0 -38
- package/dist/import-DPbg8WvS.js +0 -38
- package/dist/index-B5XHQfs2.js +0 -122
- package/dist/index-B6V7vGOj.js +0 -136
- package/dist/index-BDFKyTPb.js +0 -24
- package/dist/index-BL-1G60K.js +0 -135
- package/dist/index-BQRxiyqn.js +0 -693
- package/dist/index-BQnkBr1Q.js +0 -136
- package/dist/index-BX9h2vPV.js +0 -123
- package/dist/index-BjGSEqP5.js +0 -135
- package/dist/index-BuZmCvZh.js +0 -24
- package/dist/index-Bv3x8c78.js +0 -693
- package/dist/index-ByOvCs4O.js +0 -122
- package/dist/index-BzffuqPa.js +0 -24
- package/dist/index-C9734Cj2.js +0 -693
- package/dist/index-CKYExssR.js +0 -136
- package/dist/index-CgBgZUkL.js +0 -144
- package/dist/index-DBrQda8r.js +0 -122
- package/dist/index-DE2Hvx2o.js +0 -122
- package/dist/index-DdABTtYO.js +0 -693
- package/dist/index-DgbQBx6x.js +0 -122
- package/dist/index-DxHPjZav.js +0 -136
- package/dist/index-X__XH_Fd.js +0 -144
- package/dist/index-m4HTrJ5J.js +0 -135
- package/dist/index-wyPoxiTc.js +0 -136
- package/dist/upload-CMo3hUhl.js +0 -60
- package/dist/upload-Cx71802W.js +0 -60
- package/dist/upload-DvAE1vDq.js +0 -60
- package/dist/upload-LXRr4pMa.js +0 -60
- package/dist/useAndroidServiceAccountTestResult-BDc7XpKE.js +0 -52
- package/dist/useAndroidServiceAccountTestResult-B_ekRewZ.js +0 -52
- package/dist/useAndroidServiceAccountTestResult-D_30xIJA.js +0 -52
- package/dist/useAndroidServiceAccountTestResult-InDf5WSl.js +0 -52
- package/dist/useAppleApp-CApC0-4Q.js +0 -32
- package/dist/useAppleApp-CETIcsJS.js +0 -32
- package/dist/useAppleApp-DgE0wEaq.js +0 -32
- package/dist/useAppleApp-DnSjUfSs.js +0 -32
- package/dist/useAppleBundleId-BNI8swhC.js +0 -64
- package/dist/useAppleBundleId-DtLODy3p.js +0 -64
- package/dist/useAppleBundleId-SmzY6rkm.js +0 -64
- package/dist/useAppleBundleId-gPBzJwQg.js +0 -64
- package/dist/useJobWatching-BIG6fnTN.js +0 -45
- package/dist/useJobWatching-BcBJ5dy1.js +0 -43
- package/dist/useJobWatching-Bz1e6xOv.js +0 -43
- package/dist/useJobWatching-Cp-CYd90.js +0 -45
- package/dist/useJobWatching-D-YzSlK8.js +0 -45
- package/dist/useJobWatching-P5oC7mNB.js +0 -45
- package/dist/useProjectCredentials-B5ZmpIxL.js +0 -54
- package/dist/useProjectCredentials-BRffcsO3.js +0 -54
- package/dist/useProjectCredentials-CKngz2rd.js +0 -54
- package/dist/useProjectCredentials-EapDge1I.js +0 -54
- package/dist/useWebSocket-Bep1zAVG.js +0 -36
- package/dist/useWebSocket-D8PojLtx.js +0 -36
- package/dist/useWebSocket-DoImIdTy.js +0 -36
- package/dist/useWebSocket-rBLiZsKb.js +0 -36
- package/dist/wizard-ChPegnMW.js +0 -133
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { v4 } from 'uuid';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
import fg from 'fast-glob';
|
|
4
|
-
import fs__default from 'fs';
|
|
5
|
-
import yazl from 'yazl';
|
|
6
|
-
import { useMutation } from '@tanstack/react-query';
|
|
7
|
-
import { c as cacheKeys } from './useAndroidServiceAccountTestResult-Ce1x0Eh8.js';
|
|
8
|
-
import { $ as queryClient, x as DEFAULT_SHIPPED_FILES_GLOBS, w as DEFAULT_IGNORED_FILES_GLOBS, a0 as getNewUploadTicket, a1 as startJobsFromUpload, J as JobStatus } from './index-BB7X1Pqp.js';
|
|
9
|
-
import { f as getFileHash, h as getPlatformName } from './index-Cz_KLwWf.js';
|
|
10
|
-
import { g as getCWDGitInfo } from './git-DREGq-jc.js';
|
|
11
|
-
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
12
|
-
import { useRef } from 'react';
|
|
13
|
-
import 'ink';
|
|
14
|
-
import './Command-D6rWEZRM.js';
|
|
15
|
-
import 'ink-spinner';
|
|
16
|
-
import 'crypto-js';
|
|
17
|
-
import 'luxon';
|
|
18
|
-
import '@inkjs/ui';
|
|
19
|
-
import 'open';
|
|
20
|
-
import { P as ProgressSpinner } from './ProgressSpinner-6pw1T8Iw.js';
|
|
21
|
-
import 'qrcode';
|
|
22
|
-
import 'string-length';
|
|
23
|
-
import 'strip-ansi';
|
|
24
|
-
import 'socket.io-client';
|
|
25
|
-
import { u as useJobWatching } from './useJobWatching-D-YzSlK8.js';
|
|
26
|
-
|
|
27
|
-
async function ship({ command, log = () => {
|
|
28
|
-
} }) {
|
|
29
|
-
log("Fetching project config...");
|
|
30
|
-
const projectConfig = await command.getProjectConfig();
|
|
31
|
-
if (!projectConfig.project) throw new Error("No project found in project config");
|
|
32
|
-
log("Retrieving file globs...");
|
|
33
|
-
const shippedFilesGlobs = projectConfig.shippedFilesGlobs || DEFAULT_SHIPPED_FILES_GLOBS;
|
|
34
|
-
const ignoredFilesGlobs = projectConfig.ignoredFilesGlobs || DEFAULT_IGNORED_FILES_GLOBS;
|
|
35
|
-
log("Finding files to include in zip...");
|
|
36
|
-
const files = await fg(shippedFilesGlobs, { dot: true, ignore: ignoredFilesGlobs });
|
|
37
|
-
log(`Found ${files.length} files, adding to zip...`);
|
|
38
|
-
const zipFile = new yazl.ZipFile();
|
|
39
|
-
for (const file of files) {
|
|
40
|
-
zipFile.addFile(file, file);
|
|
41
|
-
}
|
|
42
|
-
const outputZipToFile = (zip, fileName) => new Promise((resolve) => {
|
|
43
|
-
const outputStream = fs__default.createWriteStream(fileName);
|
|
44
|
-
zip.outputStream.pipe(outputStream).on("close", () => resolve());
|
|
45
|
-
zip.end();
|
|
46
|
-
});
|
|
47
|
-
const tmpZipFile = `${process.cwd()}/shipthis-${v4()}.zip`;
|
|
48
|
-
log(`Creating zip file: ${tmpZipFile}`);
|
|
49
|
-
await outputZipToFile(zipFile, tmpZipFile);
|
|
50
|
-
log("Reading zip file buffer...");
|
|
51
|
-
const zipBuffer = fs__default.readFileSync(tmpZipFile);
|
|
52
|
-
const { size } = fs__default.statSync(tmpZipFile);
|
|
53
|
-
log("Requesting upload ticket...");
|
|
54
|
-
const uploadTicket = await getNewUploadTicket(projectConfig.project.id);
|
|
55
|
-
log("Uploading zip file...");
|
|
56
|
-
await axios.put(uploadTicket.url, zipBuffer, {
|
|
57
|
-
headers: {
|
|
58
|
-
"Content-length": size,
|
|
59
|
-
"Content-Type": "application/zip"
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
log("Fetching Git info...");
|
|
63
|
-
const gitInfo = await getCWDGitInfo();
|
|
64
|
-
log("Computing file hash...");
|
|
65
|
-
const zipFileMd5 = await getFileHash(tmpZipFile);
|
|
66
|
-
const uploadDetails = {
|
|
67
|
-
...gitInfo,
|
|
68
|
-
zipFileMd5
|
|
69
|
-
};
|
|
70
|
-
log("Starting jobs from upload...");
|
|
71
|
-
const jobs = await startJobsFromUpload(uploadTicket.id, uploadDetails);
|
|
72
|
-
log("Cleaning up temporary zip file...");
|
|
73
|
-
fs__default.unlinkSync(tmpZipFile);
|
|
74
|
-
log("Job submission complete.");
|
|
75
|
-
return jobs;
|
|
76
|
-
}
|
|
77
|
-
const useShip = () => {
|
|
78
|
-
return useMutation({
|
|
79
|
-
mutationFn: ship,
|
|
80
|
-
onSuccess: async (data) => {
|
|
81
|
-
queryClient.invalidateQueries({
|
|
82
|
-
queryKey: cacheKeys.jobs({ projectId: data[0].project.id, pageNumber: 0 })
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
const JobProgress = (props) => {
|
|
89
|
-
const prevJobStatus = useRef(props.job.status);
|
|
90
|
-
const handleJobUpdate = (job) => {
|
|
91
|
-
const completed = [JobStatus.COMPLETED, JobStatus.FAILED];
|
|
92
|
-
const wasRunning = !completed.includes(prevJobStatus.current);
|
|
93
|
-
if (completed.includes(job.status) && wasRunning) {
|
|
94
|
-
props.onComplete();
|
|
95
|
-
}
|
|
96
|
-
prevJobStatus.current = job.status;
|
|
97
|
-
};
|
|
98
|
-
const { progress } = useJobWatching({
|
|
99
|
-
projectId: props.job.project.id,
|
|
100
|
-
jobId: props.job.id,
|
|
101
|
-
isWatching: true,
|
|
102
|
-
onJobUpdate: handleJobUpdate
|
|
103
|
-
});
|
|
104
|
-
const label = `${getPlatformName(props.job.type)} build progress...`;
|
|
105
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(ProgressSpinner, { progress, label, spinnerType: "dots" }) });
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
export { JobProgress as J, useShip as u };
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { DateTime } from 'luxon';
|
|
5
|
-
import Spinner from 'ink-spinner';
|
|
6
|
-
import { d as getStageColor, c as getJobStatusColor } from './index-BQnkBr1Q.js';
|
|
7
|
-
import { J as JobStatus } from './index-Bv3x8c78.js';
|
|
8
|
-
import 'axios';
|
|
9
|
-
import '@tanstack/react-query';
|
|
10
|
-
import 'crypto-js';
|
|
11
|
-
import 'uuid';
|
|
12
|
-
import 'fs';
|
|
13
|
-
import { g as getJobSummary, a as getBuildSummary } from './Command-YJJp90ru.js';
|
|
14
|
-
import 'fast-glob';
|
|
15
|
-
import 'yazl';
|
|
16
|
-
import 'socket.io-client';
|
|
17
|
-
import { u as useJobWatching } from './useJobWatching-Cp-CYd90.js';
|
|
18
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
19
|
-
import { a as StatusRow, b as StatusRowLabel } from './StatusTable-Dm5St4g-.js';
|
|
20
|
-
|
|
21
|
-
const JobStatusSpinner = ({ status, showSpinner }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
-
/* @__PURE__ */ jsx(Text, { color: getJobStatusColor(status), children: `${status}` }),
|
|
23
|
-
showSpinner && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
-
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
25
|
-
/* @__PURE__ */ jsx(Spinner, { type: "dots" })
|
|
26
|
-
] })
|
|
27
|
-
] });
|
|
28
|
-
const JobStatusTable = ({ jobId, projectId, isWatching, onJobUpdate }) => {
|
|
29
|
-
const { data: job, stage, isLoading } = useJobWatching({ projectId, jobId, isWatching, onJobUpdate });
|
|
30
|
-
const [time, setTime] = useState(DateTime.now());
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
if (!isWatching) return;
|
|
33
|
-
const interval = setInterval(() => setTime(DateTime.now()), 1e3);
|
|
34
|
-
return () => {
|
|
35
|
-
clearInterval(interval);
|
|
36
|
-
};
|
|
37
|
-
}, []);
|
|
38
|
-
const isJobInProgress = job && ![JobStatus.COMPLETED, JobStatus.FAILED].includes(job.status);
|
|
39
|
-
const summary = job ? getJobSummary(job, time) : null;
|
|
40
|
-
const buildSummary = job && job.build ? getBuildSummary(job.build) : null;
|
|
41
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
42
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
|
|
43
|
-
/* @__PURE__ */ jsx(Title, { children: "Job Details" }),
|
|
44
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
45
|
-
summary && job && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
46
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: summary.id }),
|
|
47
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Name", value: job.project.name }),
|
|
48
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
49
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Status" }),
|
|
50
|
-
/* @__PURE__ */ jsx(JobStatusSpinner, { status: job.status, showSpinner: isWatching && !!isJobInProgress })
|
|
51
|
-
] }),
|
|
52
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
53
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Stage" }),
|
|
54
|
-
stage && /* @__PURE__ */ jsx(Text, { color: getStageColor(stage), children: `${stage}` })
|
|
55
|
-
] }),
|
|
56
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Version", value: summary.version }),
|
|
57
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Git Info", value: summary.gitInfo }),
|
|
58
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: summary.platform }),
|
|
59
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Started At", value: summary.createdAt }),
|
|
60
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Runtime", value: summary.runtime })
|
|
61
|
-
] })
|
|
62
|
-
] }),
|
|
63
|
-
buildSummary && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 3, borderStyle: "single", padding: 1, children: [
|
|
64
|
-
/* @__PURE__ */ jsx(Title, { children: "Build Details" }),
|
|
65
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
66
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: buildSummary.id }),
|
|
67
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: buildSummary.platform }),
|
|
68
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Type", value: buildSummary.type }),
|
|
69
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "CMD", value: buildSummary.cmd })
|
|
70
|
-
] })
|
|
71
|
-
] })
|
|
72
|
-
] });
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export { JobStatusTable as J };
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { DateTime } from 'luxon';
|
|
5
|
-
import Spinner from 'ink-spinner';
|
|
6
|
-
import { d as getStageColor, c as getJobStatusColor } from './index-Cz_KLwWf.js';
|
|
7
|
-
import { J as JobStatus } from './index-BB7X1Pqp.js';
|
|
8
|
-
import 'axios';
|
|
9
|
-
import '@tanstack/react-query';
|
|
10
|
-
import 'crypto-js';
|
|
11
|
-
import 'uuid';
|
|
12
|
-
import 'fs';
|
|
13
|
-
import { g as getJobSummary, a as getBuildSummary } from './Command-D6rWEZRM.js';
|
|
14
|
-
import 'fast-glob';
|
|
15
|
-
import 'yazl';
|
|
16
|
-
import 'socket.io-client';
|
|
17
|
-
import { u as useJobWatching } from './useJobWatching-D-YzSlK8.js';
|
|
18
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
19
|
-
import { a as StatusRow, b as StatusRowLabel } from './StatusTable-Dm5St4g-.js';
|
|
20
|
-
|
|
21
|
-
const JobStatusSpinner = ({ status, showSpinner }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
-
/* @__PURE__ */ jsx(Text, { color: getJobStatusColor(status), children: `${status}` }),
|
|
23
|
-
showSpinner && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
-
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
25
|
-
/* @__PURE__ */ jsx(Spinner, { type: "dots" })
|
|
26
|
-
] })
|
|
27
|
-
] });
|
|
28
|
-
const JobStatusTable = ({ jobId, projectId, isWatching, onJobUpdate }) => {
|
|
29
|
-
const { data: job, stage, isLoading } = useJobWatching({ projectId, jobId, isWatching, onJobUpdate });
|
|
30
|
-
const [time, setTime] = useState(DateTime.now());
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
if (!isWatching) return;
|
|
33
|
-
const interval = setInterval(() => setTime(DateTime.now()), 1e3);
|
|
34
|
-
return () => {
|
|
35
|
-
clearInterval(interval);
|
|
36
|
-
};
|
|
37
|
-
}, []);
|
|
38
|
-
const isJobInProgress = job && ![JobStatus.COMPLETED, JobStatus.FAILED].includes(job.status);
|
|
39
|
-
const summary = job ? getJobSummary(job, time) : null;
|
|
40
|
-
const buildSummary = job && job.build ? getBuildSummary(job.build) : null;
|
|
41
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
42
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
|
|
43
|
-
/* @__PURE__ */ jsx(Title, { children: "Job Details" }),
|
|
44
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
45
|
-
summary && job && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
46
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: summary.id }),
|
|
47
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Name", value: job.project.name }),
|
|
48
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
49
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Status" }),
|
|
50
|
-
/* @__PURE__ */ jsx(JobStatusSpinner, { status: job.status, showSpinner: isWatching && !!isJobInProgress })
|
|
51
|
-
] }),
|
|
52
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
53
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Stage" }),
|
|
54
|
-
stage && /* @__PURE__ */ jsx(Text, { color: getStageColor(stage), children: `${stage}` })
|
|
55
|
-
] }),
|
|
56
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Version", value: summary.version }),
|
|
57
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Git Info", value: summary.gitInfo }),
|
|
58
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: summary.platform }),
|
|
59
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Started At", value: summary.createdAt }),
|
|
60
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Runtime", value: summary.runtime })
|
|
61
|
-
] })
|
|
62
|
-
] }),
|
|
63
|
-
buildSummary && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 3, borderStyle: "single", padding: 1, children: [
|
|
64
|
-
/* @__PURE__ */ jsx(Title, { children: "Build Details" }),
|
|
65
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
66
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: buildSummary.id }),
|
|
67
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: buildSummary.platform }),
|
|
68
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Type", value: buildSummary.type }),
|
|
69
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "CMD", value: buildSummary.cmd })
|
|
70
|
-
] })
|
|
71
|
-
] })
|
|
72
|
-
] });
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export { JobStatusTable as J };
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { DateTime } from 'luxon';
|
|
5
|
-
import Spinner from 'ink-spinner';
|
|
6
|
-
import { d as getStageColor, c as getJobStatusColor } from './index-DxHPjZav.js';
|
|
7
|
-
import { J as JobStatus } from './index-C9734Cj2.js';
|
|
8
|
-
import 'axios';
|
|
9
|
-
import '@tanstack/react-query';
|
|
10
|
-
import 'crypto-js';
|
|
11
|
-
import 'uuid';
|
|
12
|
-
import 'fs';
|
|
13
|
-
import { g as getJobSummary, a as getBuildSummary } from './Command-Dn0P_KOV.js';
|
|
14
|
-
import 'fast-glob';
|
|
15
|
-
import 'yazl';
|
|
16
|
-
import 'socket.io-client';
|
|
17
|
-
import { u as useJobWatching } from './useJobWatching-BIG6fnTN.js';
|
|
18
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
19
|
-
import { a as StatusRow, b as StatusRowLabel } from './StatusTable-Dm5St4g-.js';
|
|
20
|
-
|
|
21
|
-
const JobStatusSpinner = ({ status, showSpinner }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
-
/* @__PURE__ */ jsx(Text, { color: getJobStatusColor(status), children: `${status}` }),
|
|
23
|
-
showSpinner && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
-
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
25
|
-
/* @__PURE__ */ jsx(Spinner, { type: "dots" })
|
|
26
|
-
] })
|
|
27
|
-
] });
|
|
28
|
-
const JobStatusTable = ({ jobId, projectId, isWatching, onJobUpdate }) => {
|
|
29
|
-
const { data: job, stage, isLoading } = useJobWatching({ projectId, jobId, isWatching, onJobUpdate });
|
|
30
|
-
const [time, setTime] = useState(DateTime.now());
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
if (!isWatching) return;
|
|
33
|
-
const interval = setInterval(() => setTime(DateTime.now()), 1e3);
|
|
34
|
-
return () => {
|
|
35
|
-
clearInterval(interval);
|
|
36
|
-
};
|
|
37
|
-
}, []);
|
|
38
|
-
const isJobInProgress = job && ![JobStatus.COMPLETED, JobStatus.FAILED].includes(job.status);
|
|
39
|
-
const summary = job ? getJobSummary(job, time) : null;
|
|
40
|
-
const buildSummary = job && job.build ? getBuildSummary(job.build) : null;
|
|
41
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
42
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
|
|
43
|
-
/* @__PURE__ */ jsx(Title, { children: "Job Details" }),
|
|
44
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
45
|
-
summary && job && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
46
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: summary.id }),
|
|
47
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Name", value: job.project.name }),
|
|
48
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
49
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Status" }),
|
|
50
|
-
/* @__PURE__ */ jsx(JobStatusSpinner, { status: job.status, showSpinner: isWatching && !!isJobInProgress })
|
|
51
|
-
] }),
|
|
52
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
53
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Stage" }),
|
|
54
|
-
stage && /* @__PURE__ */ jsx(Text, { color: getStageColor(stage), children: `${stage}` })
|
|
55
|
-
] }),
|
|
56
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Version", value: summary.version }),
|
|
57
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Git Info", value: summary.gitInfo }),
|
|
58
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: summary.platform }),
|
|
59
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Started At", value: summary.createdAt }),
|
|
60
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Runtime", value: summary.runtime })
|
|
61
|
-
] })
|
|
62
|
-
] }),
|
|
63
|
-
buildSummary && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 3, borderStyle: "single", padding: 1, children: [
|
|
64
|
-
/* @__PURE__ */ jsx(Title, { children: "Build Details" }),
|
|
65
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
66
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: buildSummary.id }),
|
|
67
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: buildSummary.platform }),
|
|
68
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Type", value: buildSummary.type }),
|
|
69
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "CMD", value: buildSummary.cmd })
|
|
70
|
-
] })
|
|
71
|
-
] })
|
|
72
|
-
] });
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export { JobStatusTable as J };
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { DateTime } from 'luxon';
|
|
5
|
-
import Spinner from 'ink-spinner';
|
|
6
|
-
import { d as getStageColor, c as getJobStatusColor } from './index-wyPoxiTc.js';
|
|
7
|
-
import { J as JobStatus } from './index-DdABTtYO.js';
|
|
8
|
-
import 'axios';
|
|
9
|
-
import '@tanstack/react-query';
|
|
10
|
-
import 'crypto-js';
|
|
11
|
-
import 'uuid';
|
|
12
|
-
import 'fs';
|
|
13
|
-
import { g as getJobSummary, a as getBuildSummary } from './Command-DxmQn3XT.js';
|
|
14
|
-
import 'fast-glob';
|
|
15
|
-
import 'yazl';
|
|
16
|
-
import 'socket.io-client';
|
|
17
|
-
import { u as useJobWatching } from './useJobWatching-P5oC7mNB.js';
|
|
18
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
19
|
-
import { a as StatusRow, b as StatusRowLabel } from './StatusTable-Dm5St4g-.js';
|
|
20
|
-
|
|
21
|
-
const JobStatusSpinner = ({ status, showSpinner }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22
|
-
/* @__PURE__ */ jsx(Text, { color: getJobStatusColor(status), children: `${status}` }),
|
|
23
|
-
showSpinner && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
-
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
25
|
-
/* @__PURE__ */ jsx(Spinner, { type: "dots" })
|
|
26
|
-
] })
|
|
27
|
-
] });
|
|
28
|
-
const JobStatusTable = ({ jobId, projectId, isWatching, onJobUpdate }) => {
|
|
29
|
-
const { data: job, stage, isLoading } = useJobWatching({ projectId, jobId, isWatching, onJobUpdate });
|
|
30
|
-
const [time, setTime] = useState(DateTime.now());
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
if (!isWatching) return;
|
|
33
|
-
const interval = setInterval(() => setTime(DateTime.now()), 1e3);
|
|
34
|
-
return () => {
|
|
35
|
-
clearInterval(interval);
|
|
36
|
-
};
|
|
37
|
-
}, []);
|
|
38
|
-
const isJobInProgress = job && ![JobStatus.COMPLETED, JobStatus.FAILED].includes(job.status);
|
|
39
|
-
const summary = job ? getJobSummary(job, time) : null;
|
|
40
|
-
const buildSummary = job && job.build ? getBuildSummary(job.build) : null;
|
|
41
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
42
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [
|
|
43
|
-
/* @__PURE__ */ jsx(Title, { children: "Job Details" }),
|
|
44
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
45
|
-
summary && job && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
46
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: summary.id }),
|
|
47
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Name", value: job.project.name }),
|
|
48
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
49
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Status" }),
|
|
50
|
-
/* @__PURE__ */ jsx(JobStatusSpinner, { status: job.status, showSpinner: isWatching && !!isJobInProgress })
|
|
51
|
-
] }),
|
|
52
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
|
|
53
|
-
/* @__PURE__ */ jsx(StatusRowLabel, { label: "Stage" }),
|
|
54
|
-
stage && /* @__PURE__ */ jsx(Text, { color: getStageColor(stage), children: `${stage}` })
|
|
55
|
-
] }),
|
|
56
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Version", value: summary.version }),
|
|
57
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Git Info", value: summary.gitInfo }),
|
|
58
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: summary.platform }),
|
|
59
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Started At", value: summary.createdAt }),
|
|
60
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Runtime", value: summary.runtime })
|
|
61
|
-
] })
|
|
62
|
-
] }),
|
|
63
|
-
buildSummary && /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, marginLeft: 3, borderStyle: "single", padding: 1, children: [
|
|
64
|
-
/* @__PURE__ */ jsx(Title, { children: "Build Details" }),
|
|
65
|
-
/* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginLeft: 2, children: [
|
|
66
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "ID", value: buildSummary.id }),
|
|
67
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Platform", value: buildSummary.platform }),
|
|
68
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "Type", value: buildSummary.type }),
|
|
69
|
-
/* @__PURE__ */ jsx(StatusRow, { label: "CMD", value: buildSummary.cmd })
|
|
70
|
-
] })
|
|
71
|
-
] })
|
|
72
|
-
] });
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export { JobStatusTable as J };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
import 'crypto';
|
|
5
|
-
import 'fs';
|
|
6
|
-
import 'readline-sync';
|
|
7
|
-
import 'node:readline';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'node:url';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'axios';
|
|
12
|
-
import '@tanstack/react-query';
|
|
13
|
-
import './index-DdABTtYO.js';
|
|
14
|
-
import 'crypto-js';
|
|
15
|
-
import 'uuid';
|
|
16
|
-
import 'luxon';
|
|
17
|
-
import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-BRffcsO3.js';
|
|
18
|
-
import 'fast-glob';
|
|
19
|
-
import 'yazl';
|
|
20
|
-
import 'socket.io-client';
|
|
21
|
-
import 'isomorphic-git';
|
|
22
|
-
import '@oclif/core';
|
|
23
|
-
import { T as Table } from './Table-CvM6pccN.js';
|
|
24
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
25
|
-
|
|
26
|
-
const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) => {
|
|
27
|
-
const { isLoading, data } = useProjectCredentials(queryProps);
|
|
28
|
-
const hasActive = data?.data.some((credential) => credential.isActive);
|
|
29
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
|
|
30
|
-
/* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
|
|
31
|
-
/* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
|
|
32
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
33
|
-
data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getProjectCredentialSummary) })
|
|
34
|
-
] });
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { ProjectCredentialsTable as P };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
import 'crypto';
|
|
5
|
-
import 'fs';
|
|
6
|
-
import 'readline-sync';
|
|
7
|
-
import 'node:readline';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'node:url';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'axios';
|
|
12
|
-
import '@tanstack/react-query';
|
|
13
|
-
import './index-BQRxiyqn.js';
|
|
14
|
-
import 'crypto-js';
|
|
15
|
-
import 'uuid';
|
|
16
|
-
import 'luxon';
|
|
17
|
-
import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-B5ZmpIxL.js';
|
|
18
|
-
import 'fast-glob';
|
|
19
|
-
import 'yazl';
|
|
20
|
-
import 'socket.io-client';
|
|
21
|
-
import 'isomorphic-git';
|
|
22
|
-
import '@oclif/core';
|
|
23
|
-
import { T as Table } from './Table-CvM6pccN.js';
|
|
24
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
25
|
-
|
|
26
|
-
const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) => {
|
|
27
|
-
const { isLoading, data } = useProjectCredentials(queryProps);
|
|
28
|
-
const hasActive = data?.data.some((credential) => credential.isActive);
|
|
29
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
|
|
30
|
-
/* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
|
|
31
|
-
/* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
|
|
32
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
33
|
-
data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getProjectCredentialSummary) })
|
|
34
|
-
] });
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { ProjectCredentialsTable as P };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
import 'crypto';
|
|
5
|
-
import 'fs';
|
|
6
|
-
import 'readline-sync';
|
|
7
|
-
import 'node:readline';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'node:url';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'axios';
|
|
12
|
-
import '@tanstack/react-query';
|
|
13
|
-
import './index-C9734Cj2.js';
|
|
14
|
-
import 'crypto-js';
|
|
15
|
-
import 'uuid';
|
|
16
|
-
import 'luxon';
|
|
17
|
-
import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-EapDge1I.js';
|
|
18
|
-
import 'fast-glob';
|
|
19
|
-
import 'yazl';
|
|
20
|
-
import 'socket.io-client';
|
|
21
|
-
import 'isomorphic-git';
|
|
22
|
-
import '@oclif/core';
|
|
23
|
-
import { T as Table } from './Table-CvM6pccN.js';
|
|
24
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
25
|
-
|
|
26
|
-
const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) => {
|
|
27
|
-
const { isLoading, data } = useProjectCredentials(queryProps);
|
|
28
|
-
const hasActive = data?.data.some((credential) => credential.isActive);
|
|
29
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
|
|
30
|
-
/* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
|
|
31
|
-
/* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
|
|
32
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
33
|
-
data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getProjectCredentialSummary) })
|
|
34
|
-
] });
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { ProjectCredentialsTable as P };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
import 'crypto';
|
|
5
|
-
import 'fs';
|
|
6
|
-
import 'readline-sync';
|
|
7
|
-
import 'node:readline';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'node:url';
|
|
10
|
-
import 'react';
|
|
11
|
-
import 'axios';
|
|
12
|
-
import '@tanstack/react-query';
|
|
13
|
-
import './index-Bv3x8c78.js';
|
|
14
|
-
import 'crypto-js';
|
|
15
|
-
import 'uuid';
|
|
16
|
-
import 'luxon';
|
|
17
|
-
import { u as useProjectCredentials, g as getProjectCredentialSummary } from './useProjectCredentials-CKngz2rd.js';
|
|
18
|
-
import 'fast-glob';
|
|
19
|
-
import 'yazl';
|
|
20
|
-
import 'socket.io-client';
|
|
21
|
-
import 'isomorphic-git';
|
|
22
|
-
import '@oclif/core';
|
|
23
|
-
import { T as Table } from './Table-CvM6pccN.js';
|
|
24
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
25
|
-
|
|
26
|
-
const ProjectCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) => {
|
|
27
|
-
const { isLoading, data } = useProjectCredentials(queryProps);
|
|
28
|
-
const hasActive = data?.data.some((credential) => credential.isActive);
|
|
29
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
|
|
30
|
-
/* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
|
|
31
|
-
/* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
|
|
32
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
33
|
-
data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getProjectCredentialSummary) })
|
|
34
|
-
] });
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export { ProjectCredentialsTable as P };
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
import 'crypto';
|
|
5
|
-
import 'fs';
|
|
6
|
-
import 'readline-sync';
|
|
7
|
-
import 'node:readline';
|
|
8
|
-
import 'node:path';
|
|
9
|
-
import 'node:url';
|
|
10
|
-
import 'react';
|
|
11
|
-
import axios from 'axios';
|
|
12
|
-
import { useQuery } from '@tanstack/react-query';
|
|
13
|
-
import { b as getShortDate, p as getAuthedHeaders, q as API_URL, H as castArrayObjectDates } from './index-DdABTtYO.js';
|
|
14
|
-
import 'crypto-js';
|
|
15
|
-
import 'uuid';
|
|
16
|
-
import 'luxon';
|
|
17
|
-
import 'fast-glob';
|
|
18
|
-
import 'yazl';
|
|
19
|
-
import { c as cacheKeys } from './useAndroidServiceAccountTestResult-InDf5WSl.js';
|
|
20
|
-
import { g as getShortUUID } from './index-wyPoxiTc.js';
|
|
21
|
-
import 'socket.io-client';
|
|
22
|
-
import 'isomorphic-git';
|
|
23
|
-
import '@oclif/core';
|
|
24
|
-
import { T as Table } from './Table-CvM6pccN.js';
|
|
25
|
-
import { T as Title } from './Title-BCQtayg6.js';
|
|
26
|
-
|
|
27
|
-
async function queryUserCredentials(params) {
|
|
28
|
-
try {
|
|
29
|
-
const headers = getAuthedHeaders();
|
|
30
|
-
const url = `${API_URL}/credentials`;
|
|
31
|
-
const response = await axios.get(url, { headers, params });
|
|
32
|
-
return {
|
|
33
|
-
...response.data,
|
|
34
|
-
data: castArrayObjectDates(response.data.data)
|
|
35
|
-
};
|
|
36
|
-
} catch (error) {
|
|
37
|
-
console.warn("queryUserCredentials Error", error);
|
|
38
|
-
throw error;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function getUserCredentialSummary(credential) {
|
|
42
|
-
return {
|
|
43
|
-
id: getShortUUID(credential.id),
|
|
44
|
-
type: credential.type,
|
|
45
|
-
serial: credential.serialNumber,
|
|
46
|
-
isActive: credential.isActive,
|
|
47
|
-
createdAt: getShortDate(credential.createdAt)
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
const useUserCredentials = ({
|
|
51
|
-
platform,
|
|
52
|
-
type,
|
|
53
|
-
...pageAndSortParams
|
|
54
|
-
}) => {
|
|
55
|
-
const queryResult = useQuery({
|
|
56
|
-
queryKey: cacheKeys.userCredentials(pageAndSortParams),
|
|
57
|
-
queryFn: async () => queryUserCredentials(pageAndSortParams),
|
|
58
|
-
select: (data) => {
|
|
59
|
-
if (!(platform || type)) return data;
|
|
60
|
-
return {
|
|
61
|
-
...data,
|
|
62
|
-
data: data.data.filter((credential) => {
|
|
63
|
-
return (!platform || credential.platform === platform) && (!type || credential.type === type);
|
|
64
|
-
})
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
return queryResult;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const UserCredentialsTable = ({ credentialTypeName, queryProps, ...boxProps }) => {
|
|
72
|
-
const { isLoading, data } = useUserCredentials(queryProps);
|
|
73
|
-
const hasActive = data?.data.some((credential) => credential.isActive);
|
|
74
|
-
return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginBottom: 1, ...boxProps, children: [
|
|
75
|
-
/* @__PURE__ */ jsx(Title, { children: `${credentialTypeName}s in your ShipThis account` }),
|
|
76
|
-
/* @__PURE__ */ jsx(Box, { marginLeft: 2, marginBottom: 1, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { children: hasActive ? `You have an active ${credentialTypeName} in your ShipThis account.` : `You DO NOT have an active ${credentialTypeName} which ShipThis can use.` }) }),
|
|
77
|
-
isLoading && /* @__PURE__ */ jsx(Spinner, { type: "dots" }),
|
|
78
|
-
data && data.data.length > 0 && /* @__PURE__ */ jsx(Table, { data: data.data.map(getUserCredentialSummary) })
|
|
79
|
-
] });
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export { UserCredentialsTable as U, useUserCredentials as u };
|