UNPKG

shipthis

Version:

ShipThis manages building and uploading your Godot games to the App Store and Google Play.

64 lines (61 loc) 2.03 kB
import { useQuery } from '@tanstack/react-query'; import { DateTime } from 'luxon'; import { c as getShortDate, m as Profile, n as ProfileType } from './baseCommand-CTn3KGH3.js'; import 'node:crypto'; import 'node:fs'; import 'node:path'; import 'node:readline'; import 'node:url'; import 'readline-sync'; import 'axios'; import 'isomorphic-git'; import '@oclif/core'; import 'react'; import 'crypto-js'; import 'uuid'; import 'fast-glob'; import 'yazl'; import 'socket.io-client'; import 'fullscreen-ink'; import 'ink'; async function queryAppleProfiles({ ctx }) { const appleProfiles = await Profile.getAsync(ctx, { query: { filter: { profileType: [ProfileType.IOS_APP_STORE] } } }); return appleProfiles; } const canAppleProfileBeUsed = (appleProfile, project, projectCredentials) => { try { if (!appleProfile.isValid) return false; const profileBundleId = appleProfile.attributes.bundleId?.attributes.identifier; const profileCertificateSerialNumber = appleProfile.attributes.certificates?.[0]?.attributes.serialNumber; if (profileBundleId !== project.details?.iosBundleId) return false; return projectCredentials.some( (credential) => credential.isActive && credential.serialNumber === profileCertificateSerialNumber ); } catch (error) { console.log(error); return false; } }; function getAppleProfileSummary(appleProfile, project, projectCredentials) { return { canBeUsed: canAppleProfileBeUsed(appleProfile, project, projectCredentials), expires: getShortDate(DateTime.fromISO(appleProfile.attributes.expirationDate)), id: appleProfile.id, name: appleProfile.attributes.name, platform: appleProfile.attributes.platform }; } const useAppleProfiles = (props) => { const queryResult = useQuery({ queryFn: () => queryAppleProfiles(props), queryKey: ["appleProfiles"] }); return queryResult; }; export { canAppleProfileBeUsed as c, getAppleProfileSummary as g, queryAppleProfiles as q, useAppleProfiles as u };