@gqty/cli
Version:
Interactive codegen for GQty
3 lines (2 loc) • 1.15 kB
JavaScript
import{unlink as n}from"fs/promises";import"@commander-js/extra-typings";import"@graphql-codegen/core";import"@graphql-codegen/typescript";import"@graphql-tools/utils";import"@graphql-tools/wrap";import*as s from"@inquirer/prompts";import"cosmiconfig";import"cross-fetch";import"fast-glob";import"graphql";import"lodash-es/sortBy.js";import"prettier";import{writeGenerate as r}from"../../writeGenerate.mjs";import{logger as o}from"./logger.mjs";const p=async(e,t)=>{o.infoProgress("Generating client and schema ..."),await r(e,t.destination,t,async i=>{if(process.stdout.write("\r"),t.subscriptions&&!i.includes("createSubscriptionsClient")&&await a(`Subscrioption client not found in ${t.destination}, do you want to regenerate it?`)){await n(t.destination),await r(e,t.destination,t);return}if(t.react&&!i.includes("createReactClient")&&await a(`React hooks not found in ${t.destination}, do you want to regenerate it?`)){await n(t.destination),await r(e,t.destination,t);return}}),o.successProgress("Code generation completed."),console.log()},a=async e=>await s.confirm({message:e,default:!1});export{p as generateClient};