@shopify/cli
Version:
A CLI tool to build for the Shopify platform
4 lines (3 loc) • 4.61 kB
JavaScript
import{a as V}from"../../../../chunk-JCL2RRU6.js";import{a as A}from"../../../../chunk-AGNMOFJS.js";import{B as C,Ba as O,C as S,l as c,y as b,z as E}from"../../../../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"../../../../chunk-EKXY5COY.js";import"../../../../chunk-4DCQNGUV.js";import"../../../../chunk-QBSKKQBN.js";import"../../../../chunk-FQWB2F75.js";import"../../../../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 y,c as j}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{v,x as m}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,f as o}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{Mb as s,Tb as g,Wb as w}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{g as f}from"../../../../chunk-VPRTJUIN.js";f();f();async function k(l,t){let e=new Set(t.map(n=>n.file)).size;await c.addPublicMetadata(()=>({cmd_app_validate_valid:l,cmd_app_validate_issue_count:t.length,cmd_app_validate_file_count:e}))}async function x(l,t={json:!1}){let e=l.errors;if(!e||e.isEmpty()){if(await k(!0,[]),t.json){s(JSON.stringify({valid:!0,issues:[]},null,2));return}v({headline:"App configuration is valid."});return}let n=e.getErrors();if(await k(!1,n),t.json){let p=n.map(({file:d,message:a,path:i,code:r})=>({file:d,message:a,path:i,code:r}));throw s(JSON.stringify({valid:!1,issues:p},null,2)),new o}throw m({headline:"Validation errors found.",body:n.map(p=>`\u2022 ${S(p)}`).join(`
`)}),new o}async function h(l,t){await c.addPublicMetadata(()=>({cmd_app_validate_valid:!1,cmd_app_validate_issue_count:l,cmd_app_validate_file_count:t}))}var _=class l extends V{static{this.summary="Validate your app configuration and extensions."}static{this.descriptionWithMarkdown="Validates the selected app configuration file and all extension configurations against their schemas and reports any errors found."}static{this.description=this.descriptionWithoutMarkdown()}static{this.flags={...y,...A,...j}}async run(){let{flags:t}=await this.parse(l);await c.addPublicMetadata(()=>({cmd_app_validate_json:t.json}));let e;try{e=await b.load(t.path)}catch(a){if(a instanceof u&&t.json){await h(1,1);let i=w(g(a.message)).trim();throw s(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new o}throw a}let n;try{n=await C(e,t.config)}catch(a){if(a instanceof u&&t.json){await h(1,1);let i=w(g(a.message)).trim();throw s(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new o}throw a}let p=E(e,n.file);if(p.length>0){let a=p.map(r=>({file:r.path,message:r.message})),i=new Set(p.map(r=>r.path)).size;throw await h(a.length,i),t.json?(s(JSON.stringify({valid:!1,issues:a},null,2)),new o):(m({headline:"Validation errors found.",body:a.map(r=>`\u2022 ${r.message}`).join(`
`)}),new o)}let d;try{d=(await O({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config,unsafeTolerateErrors:!0})).app}catch(a){let i=a instanceof u?w(g(a.message)).trim():"";throw i.startsWith("Validation errors in ")&&t.json?(await h(1,1),s(JSON.stringify({valid:!1,issues:[{message:i}]},null,2)),new o):a}return await x(d,{json:t.json}),{app:d}}};export{_ as default};