1#!/usr/bin/env node 2import chalk from 'chalk'; 3 4import { Command } from './cli'; 5import { requireArg, assertArgs, getProjectRoot } from './utils/args'; 6import * as Log from './utils/log'; 7 8export const configureCodeSigning: Command = async (argv) => { 9 const args = assertArgs( 10 { 11 // Types 12 '--help': Boolean, 13 '--certificate-input-directory': String, 14 '--key-input-directory': String, 15 '--keyid': String, 16 // Aliases 17 '-h': '--help', 18 }, 19 argv ?? [] 20 ); 21 22 if (args['--help']) { 23 Log.exit( 24 chalk` 25{bold Description} 26Configure expo-updates code signing for this project and verify setup 27 28{bold Usage} 29 {dim $} npx expo-updates codesigning:configure --certificate-input-directory <dir> --key-input-directory <dir> 30 31 Options 32 --certificate-input-directory <string> Directory containing code signing certificate 33 --key-input-directory <string> Directory containing private and public keys 34 -h, --help Output usage information 35 `, 36 0 37 ); 38 } 39 40 const { configureCodeSigningAsync } = await import('./configureCodeSigningAsync.js'); 41 42 const certificateInput = requireArg(args, '--certificate-input-directory'); 43 const keyInput = requireArg(args, '--key-input-directory'); 44 const keyid = args['--keyid']; 45 46 return await configureCodeSigningAsync(getProjectRoot(args), { 47 certificateInput, 48 keyInput, 49 keyid, 50 }); 51}; 52