-import{mri,updateNotifier}from"./cli-deps.mjs";import{GITHUB_ACTIONS,error,info,inputs,maybeGetInput,packageJson,setupCpp,success,warning}from"./lib.mjs";async function main(args){const checkUpdatePromise=GITHUB_ACTIONS?Promise.resolve():checkUpdates();const opts=parseArgs(args);if(opts.help){printHelp();return 0}if(opts.version){info(`${packageJson.version}`);return 0}const{successMessages,errorMessages}=await setupCpp(opts);for(const tool of successMessages)success(tool);for(const tool of errorMessages)error(tool);if(successMessages.length!==0||errorMessages.length!==0){info("setup-cpp finished");if(!GITHUB_ACTIONS)switch(process.platform){case"win32":warning("Run `RefreshEnv.cmd` or restart your shell to update the environment.");break;case"linux":case"darwin":warning("Run `source ~/.cpprc` or restart your shell to update the environment.");break;default:}}await checkUpdatePromise;return 0}async function checkUpdates(){try{await updateNotifier({pkg:packageJson})}catch(err){warning(`Failed to check for updates: ${err instanceof Error?err.message+err.stack:err}`)}}export function parseArgs(args){const defaults=Object.fromEntries(inputs.map(inp=>[inp,maybeGetInput(inp)]));return mri(args,{string:[...inputs,"timeout","node-package-manager"],default:defaults,alias:{h:"help",v:"version"},boolean:["help","version","setup-cpp"]})}function printHelp(){info(`
0 commit comments