UNPKG

@shopify/cli

Version:

A CLI tool to build for the Shopify platform

2 lines (1 loc) 4.48 kB
import{a as E,b as z,c as C,f as F,h as J}from"../../../chunk-M3RYUB22.js";import"../../../chunk-TQ6HYDVC.js";import{a as x}from"../../../chunk-JCL2RRU6.js";import{a as k,c as b}from"../../../chunk-AGNMOFJS.js";import"../../../chunk-54CAKCYR.js";import"../../../chunk-7ESSIN27.js";import"../../../chunk-GZS44BUW.js";import"../../../chunk-K2WUCOQJ.js";import"../../../chunk-7QIOUDCX.js";import"../../../chunk-7MUKLZOL.js";import"../../../chunk-VBUZWRUL.js";import"../../../chunk-DCPBRWVC.js";import"../../../chunk-KR6QDE7D.js";import"../../../chunk-UXVZ2P63.js";import"../../../chunk-QSTEVZFQ.js";import"../../../chunk-5Y7GIF2W.js";import{b as A}from"../../../chunk-EKXY5COY.js";import"../../../chunk-4DCQNGUV.js";import"../../../chunk-QBSKKQBN.js";import"../../../chunk-FQWB2F75.js";import{g as G,h as v}from"../../../chunk-XONFGLJQ.js";import"../../../chunk-4LNCYIS3.js";import"../../../chunk-L2MGAEV3.js";import"../../../chunk-PRKBO42R.js";import"../../../chunk-ZSBA6VIC.js";import"../../../chunk-F2QU6WWX.js";import"../../../chunk-XULPJ6UG.js";import{b as S}from"../../../chunk-XR6GMMEU.js";import"../../../chunk-3TNEIDOD.js";import"../../../chunk-MHWV5RQV.js";import"../../../chunk-XOTA6JTZ.js";import"../../../chunk-MOA33ZFO.js";import"../../../chunk-JUVAGMIH.js";import{E as m,v as c,x as O}from"../../../chunk-6G6TMKXF.js";import"../../../chunk-P6XE4MH5.js";import"../../../chunk-KLMDWDT2.js";import"../../../chunk-5CH3B62S.js";import"../../../chunk-QUTQDXSL.js";import"../../../chunk-WSDN25F5.js";import{d as u}from"../../../chunk-M56NDIMD.js";import"../../../chunk-PD5ZHJWI.js";import"../../../chunk-LDGAHMS7.js";import"../../../chunk-ZR76GGZ6.js";import"../../../chunk-EENHXSWU.js";import"../../../chunk-FUOIGXI4.js";import"../../../chunk-6M3ZYNGO.js";import"../../../chunk-QYR5VPQA.js";import"../../../chunk-OBEWZXOQ.js";import{Gb as l,Ib as a,Mb as y,Ta as w,ma as g,ua as h}from"../../../chunk-N5PQPIBF.js";import"../../../chunk-CERXUPGC.js";import"../../../chunk-T4M5CWAO.js";import"../../../chunk-PRVQAHWI.js";import"../../../chunk-YTNDFQJT.js";import"../../../chunk-ULQG3XQS.js";import"../../../chunk-IU2ZQ6TE.js";import"../../../chunk-PIBY5DDZ.js";import{e as V,g as p}from"../../../chunk-VPRTJUIN.js";p();p();var N=V(G(),1);async function Q(i,e){if(i)try{return JSON.parse(i)}catch(t){let r=t instanceof Error?t.message:"Unknown error";throw new u(a`Invalid JSON in ${l.yellow("--variables")} flag: ${r}`,"Please provide valid JSON format.")}else if(e){if(!await w(e))throw new u(a`Variable file not found at ${l.path(e)}. Please check the path and try again.`);let t=await g(e,{encoding:"utf8"});try{return JSON.parse(t)}catch(r){let s=r instanceof Error?r.message:"Unknown error";throw new u(a`Invalid JSON in variable file ${l.path(e)}: ${s}`,"Please provide valid JSON format.")}}}async function P(i){let{remoteApp:e,store:t,query:r,variables:s,variableFile:q,version:L,outputFile:d}=i,{adminSession:M,version:$}=await m({title:a`Authenticating`,task:async()=>{let o=await E(e,t.shopDomain),n=await C({adminSession:o,userSpecifiedVersion:L});return{adminSession:o,version:n}},renderOptions:{stdout:process.stderr}}),I=await Q(s,q);z(r),F(r,t);try{let o=await m({title:a`Executing GraphQL operation`,task:async()=>A({query:(0,N.parse)(r),session:M,variables:I,version:$,responseOptions:{handleErrors:!1}}),renderOptions:{stdout:process.stderr}}),n=JSON.stringify(o,null,2);d?(await h(d,n),c({headline:"Operation succeeded.",body:`Results written to ${d}`})):(c({headline:"Operation succeeded."}),y(n))}catch(o){if(o instanceof v){let n={errors:o.response.errors},R=JSON.stringify(n,null,2);O({headline:"GraphQL operation failed.",body:R});return}throw o}}var f=class i extends x{static{this.summary="Execute GraphQL queries and mutations."}static{this.descriptionWithMarkdown="Executes an Admin API GraphQL query or mutation on the specified store. Mutations are only allowed on dev stores.\n\n For operations that process large amounts of data, use [`bulk execute`](https://shopify.dev/docs/api/shopify-cli/app/app-bulk-execute) instead."}static{this.description=this.descriptionWithoutMarkdown()}static{this.flags={...S,...k,...b}}async run(){let{flags:e}=await this.parse(i),{query:t,appContextResult:r,store:s}=await J(e);return await P({organization:r.organization,remoteApp:r.remoteApp,store:s,query:t,variables:e.variables,variableFile:e["variable-file"],outputFile:e["output-file"],...e.version&&{version:e.version}}),{app:r.app}}};export{f as default};