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 // Aliases 16 '-h': '--help', 17 }, 18 argv ?? [] 19 ); 20 21 if (args['--help']) { 22 Log.exit( 23 chalk` 24 {bold Description} 25 Configure and validate expo-updates code signing for this project 26 27 {bold Usage} 28 $ npx expo-updates codesigning:configure 29 30 Options 31 --certificate-input-directory <string> Directory containing code signing certificate 32 --key-input-directory <string> Directory containing private and public keys 33 -h, --help Output usage information 34 `, 35 0 36 ); 37 } 38 39 const { configureCodeSigningAsync } = await import('./configureCodeSigningAsync'); 40 41 const certificateInput = requireArg(args, '--certificate-input-directory'); 42 const keyInput = requireArg(args, '--key-input-directory'); 43 44 return await configureCodeSigningAsync(getProjectRoot(args), { 45 certificateInput, 46 keyInput, 47 }); 48}; 49