UNPKG

@gqty/cli

Version:

## Visit [https://gqty.dev/docs/cli/codegen](https://gqty.dev/docs/cli/codegen)

3 lines (2 loc) 1.35 kB
#!/usr/bin/env node import"@graphql-codegen/core";import"@graphql-codegen/typescript";import"@graphql-tools/utils";import"@graphql-tools/wrap";import"commander";import"cosmiconfig";import"cross-fetch";import"fast-glob";import"graphql";import g from"inquirer";import"lodash-es/sortBy.js";import"mkdirp";import"prettier";import{getUserPackageManager as e}from"./getUserPackageManager.mjs";const y=async t=>{var s;const p=c(t),r=(s=e())!=null?s:"npm",a=i(r).concat(p),{install:n}=await g.prompt({type:"confirm",name:"install",message:`Do you want us to run "${r} ${a[0]}" for you?`,default:!0});if(!n)return;const{spawnSync:o}=await import("child_process");o(r,a,{stdio:"inherit"})},d=async({dependencies:t,devDependencies:s},p)=>{var r;const a=new Set([...Object.keys(t!=null?t:{}),...Object.keys(s!=null?s:{})]),n=c(p).filter(u=>!a.has(u));if(n.length===0)return;const o=(r=e())!=null?r:"npm",m=i(o).concat(n),{spawnSync:l}=await import("child_process");l(o,m,{stdio:"inherit"})},i=t=>{switch(t){case"npm":return["install","--save-dev"];case"pnpm":return["add","--save-dev"];case"yarn":return["add","--dev"]}},c=t=>{const s=["gqty","graphql"];return t.react&&s.push("@gqty/react"),t.subscriptions===!0?s.push("graphql-ws"):t.subscriptions&&s.push(t.subscriptions),t.javascriptOutput||s.push("typescript"),s};export{y as promptInstall,d as runInstall};