@ohos-ports/shopify 4.8.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/README.md +75 -0
  2. package/bin/run.cmd +3 -0
  3. package/bin/run.js +11 -0
  4. package/dist/acorn-7M27BPGP.js +16 -0
  5. package/dist/analytics-3IIUBZ3B.js +1 -0
  6. package/dist/analytics-OOT5AB52.js +1 -0
  7. package/dist/angular-DW5TQVCM.js +4 -0
  8. package/dist/assets/graphiql/favicon.ico +0 -0
  9. package/dist/assets/graphiql/style.css +58 -0
  10. package/dist/assets/hydrogen/bundle/analyzer.html +2056 -0
  11. package/dist/assets/hydrogen/i18n/domains.ts +21 -0
  12. package/dist/assets/hydrogen/i18n/mock-i18n-types.ts +5 -0
  13. package/dist/assets/hydrogen/i18n/subdomains.ts +20 -0
  14. package/dist/assets/hydrogen/i18n/subfolders.ts +22 -0
  15. package/dist/assets/hydrogen/routes/locale-check.ts +16 -0
  16. package/dist/assets/hydrogen/starter/.cursor/rules/hydrogen-react-router.mdc +52 -0
  17. package/dist/assets/hydrogen/starter/.graphqlrc.ts +29 -0
  18. package/dist/assets/hydrogen/starter/AGENTS.md +5 -0
  19. package/dist/assets/hydrogen/starter/CHANGELOG.md +2839 -0
  20. package/dist/assets/hydrogen/starter/CLAUDE.md +1 -0
  21. package/dist/assets/hydrogen/starter/README.md +45 -0
  22. package/dist/assets/hydrogen/starter/app/assets/favicon.svg +28 -0
  23. package/dist/assets/hydrogen/starter/app/components/AddToCartButton.tsx +37 -0
  24. package/dist/assets/hydrogen/starter/app/components/Aside.tsx +101 -0
  25. package/dist/assets/hydrogen/starter/app/components/CartLineItem.tsx +197 -0
  26. package/dist/assets/hydrogen/starter/app/components/CartMain.tsx +109 -0
  27. package/dist/assets/hydrogen/starter/app/components/CartSummary.tsx +300 -0
  28. package/dist/assets/hydrogen/starter/app/components/Footer.tsx +129 -0
  29. package/dist/assets/hydrogen/starter/app/components/Header.tsx +231 -0
  30. package/dist/assets/hydrogen/starter/app/components/MockShopNotice.tsx +20 -0
  31. package/dist/assets/hydrogen/starter/app/components/PageLayout.tsx +174 -0
  32. package/dist/assets/hydrogen/starter/app/components/PaginatedResourceSection.tsx +61 -0
  33. package/dist/assets/hydrogen/starter/app/components/ProductForm.tsx +150 -0
  34. package/dist/assets/hydrogen/starter/app/components/ProductImage.tsx +23 -0
  35. package/dist/assets/hydrogen/starter/app/components/ProductItem.tsx +44 -0
  36. package/dist/assets/hydrogen/starter/app/components/ProductPrice.tsx +27 -0
  37. package/dist/assets/hydrogen/starter/app/components/SearchForm.tsx +68 -0
  38. package/dist/assets/hydrogen/starter/app/components/SearchFormPredictive.tsx +76 -0
  39. package/dist/assets/hydrogen/starter/app/components/SearchResults.tsx +161 -0
  40. package/dist/assets/hydrogen/starter/app/components/SearchResultsPredictive.tsx +304 -0
  41. package/dist/assets/hydrogen/starter/app/entry.client.tsx +21 -0
  42. package/dist/assets/hydrogen/starter/app/entry.server.tsx +53 -0
  43. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerAddressMutations.ts +64 -0
  44. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerDetailsQuery.ts +40 -0
  45. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerOrderQuery.ts +90 -0
  46. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerOrdersQuery.ts +63 -0
  47. package/dist/assets/hydrogen/starter/app/graphql/customer-account/CustomerUpdateMutation.ts +25 -0
  48. package/dist/assets/hydrogen/starter/app/lib/context.ts +65 -0
  49. package/dist/assets/hydrogen/starter/app/lib/fragments.ts +242 -0
  50. package/dist/assets/hydrogen/starter/app/lib/orderFilters.ts +90 -0
  51. package/dist/assets/hydrogen/starter/app/lib/redirect.ts +23 -0
  52. package/dist/assets/hydrogen/starter/app/lib/search.ts +79 -0
  53. package/dist/assets/hydrogen/starter/app/lib/session.ts +72 -0
  54. package/dist/assets/hydrogen/starter/app/lib/variants.ts +46 -0
  55. package/dist/assets/hydrogen/starter/app/root.tsx +209 -0
  56. package/dist/assets/hydrogen/starter/app/routes/$.tsx +11 -0
  57. package/dist/assets/hydrogen/starter/app/routes/[robots.txt].tsx +78 -0
  58. package/dist/assets/hydrogen/starter/app/routes/[sitemap.xml].tsx +16 -0
  59. package/dist/assets/hydrogen/starter/app/routes/_index.tsx +177 -0
  60. package/dist/assets/hydrogen/starter/app/routes/account.$.tsx +9 -0
  61. package/dist/assets/hydrogen/starter/app/routes/account._index.tsx +5 -0
  62. package/dist/assets/hydrogen/starter/app/routes/account.addresses.tsx +516 -0
  63. package/dist/assets/hydrogen/starter/app/routes/account.orders.$id.tsx +222 -0
  64. package/dist/assets/hydrogen/starter/app/routes/account.orders._index.tsx +222 -0
  65. package/dist/assets/hydrogen/starter/app/routes/account.profile.tsx +133 -0
  66. package/dist/assets/hydrogen/starter/app/routes/account.tsx +97 -0
  67. package/dist/assets/hydrogen/starter/app/routes/account_.authorize.tsx +5 -0
  68. package/dist/assets/hydrogen/starter/app/routes/account_.login.tsx +17 -0
  69. package/dist/assets/hydrogen/starter/app/routes/account_.logout.tsx +11 -0
  70. package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle.$articleHandle.tsx +129 -0
  71. package/dist/assets/hydrogen/starter/app/routes/blogs.$blogHandle._index.tsx +175 -0
  72. package/dist/assets/hydrogen/starter/app/routes/blogs._index.tsx +109 -0
  73. package/dist/assets/hydrogen/starter/app/routes/cart.$lines.tsx +70 -0
  74. package/dist/assets/hydrogen/starter/app/routes/cart.tsx +113 -0
  75. package/dist/assets/hydrogen/starter/app/routes/collections.$handle.tsx +161 -0
  76. package/dist/assets/hydrogen/starter/app/routes/collections._index.tsx +133 -0
  77. package/dist/assets/hydrogen/starter/app/routes/collections.all.tsx +122 -0
  78. package/dist/assets/hydrogen/starter/app/routes/discount.$code.tsx +48 -0
  79. package/dist/assets/hydrogen/starter/app/routes/pages.$handle.tsx +88 -0
  80. package/dist/assets/hydrogen/starter/app/routes/policies.$handle.tsx +93 -0
  81. package/dist/assets/hydrogen/starter/app/routes/policies._index.tsx +69 -0
  82. package/dist/assets/hydrogen/starter/app/routes/products.$handle.tsx +232 -0
  83. package/dist/assets/hydrogen/starter/app/routes/search.tsx +426 -0
  84. package/dist/assets/hydrogen/starter/app/routes/sitemap.$type.$page[.xml].tsx +23 -0
  85. package/dist/assets/hydrogen/starter/app/routes.ts +9 -0
  86. package/dist/assets/hydrogen/starter/app/styles/app.css +645 -0
  87. package/dist/assets/hydrogen/starter/app/styles/reset.css +139 -0
  88. package/dist/assets/hydrogen/starter/customer-accountapi.generated.d.ts +543 -0
  89. package/dist/assets/hydrogen/starter/env.d.ts +7 -0
  90. package/dist/assets/hydrogen/starter/eslint.config.js +247 -0
  91. package/dist/assets/hydrogen/starter/guides/predictiveSearch/predictiveSearch.jpg +0 -0
  92. package/dist/assets/hydrogen/starter/guides/predictiveSearch/predictiveSearch.md +394 -0
  93. package/dist/assets/hydrogen/starter/guides/search/search.jpg +0 -0
  94. package/dist/assets/hydrogen/starter/guides/search/search.md +335 -0
  95. package/dist/assets/hydrogen/starter/package.json +62 -0
  96. package/dist/assets/hydrogen/starter/public/.gitkeep +0 -0
  97. package/dist/assets/hydrogen/starter/react-router.config.ts +13 -0
  98. package/dist/assets/hydrogen/starter/server.ts +59 -0
  99. package/dist/assets/hydrogen/starter/storefrontapi.generated.d.ts +1342 -0
  100. package/dist/assets/hydrogen/starter/tsconfig.json +43 -0
  101. package/dist/assets/hydrogen/starter/vite.config.ts +44 -0
  102. package/dist/assets/hydrogen/tailwind/package.json +11 -0
  103. package/dist/assets/hydrogen/tailwind/tailwind.css +6 -0
  104. package/dist/assets/hydrogen/vanilla-extract/package.json +8 -0
  105. package/dist/assets/hydrogen/virtual-routes/assets/debug-network.css +609 -0
  106. package/dist/assets/hydrogen/virtual-routes/assets/favicon-dark.svg +20 -0
  107. package/dist/assets/hydrogen/virtual-routes/assets/favicon.svg +28 -0
  108. package/dist/assets/hydrogen/virtual-routes/assets/inter-variable-font.woff2 +0 -0
  109. package/dist/assets/hydrogen/virtual-routes/assets/jetbrainsmono-variable-font.woff2 +0 -0
  110. package/dist/assets/hydrogen/virtual-routes/assets/styles.css +249 -0
  111. package/dist/assets/hydrogen/virtual-routes/components/FlameChartWrapper.jsx +123 -0
  112. package/dist/assets/hydrogen/virtual-routes/components/HydrogenLogoBaseBW.jsx +32 -0
  113. package/dist/assets/hydrogen/virtual-routes/components/HydrogenLogoBaseColor.jsx +47 -0
  114. package/dist/assets/hydrogen/virtual-routes/components/IconBanner.jsx +292 -0
  115. package/dist/assets/hydrogen/virtual-routes/components/IconClose.jsx +38 -0
  116. package/dist/assets/hydrogen/virtual-routes/components/IconDiscard.jsx +44 -0
  117. package/dist/assets/hydrogen/virtual-routes/components/IconError.jsx +61 -0
  118. package/dist/assets/hydrogen/virtual-routes/components/IconGithub.jsx +23 -0
  119. package/dist/assets/hydrogen/virtual-routes/components/IconTwitter.jsx +21 -0
  120. package/dist/assets/hydrogen/virtual-routes/components/Layout.jsx +7 -0
  121. package/dist/assets/hydrogen/virtual-routes/components/RequestDetails.jsx +171 -0
  122. package/dist/assets/hydrogen/virtual-routes/components/RequestTable.jsx +91 -0
  123. package/dist/assets/hydrogen/virtual-routes/components/RequestWaterfall.jsx +151 -0
  124. package/dist/assets/hydrogen/virtual-routes/layout.jsx +33 -0
  125. package/dist/assets/hydrogen/virtual-routes/lib/useDebugNetworkServer.jsx +178 -0
  126. package/dist/assets/hydrogen/virtual-routes/routes/[.]well-known.appspecific.com[.]chrome[.]devtools[.]json.jsx +37 -0
  127. package/dist/assets/hydrogen/virtual-routes/routes/graphiql.jsx +5 -0
  128. package/dist/assets/hydrogen/virtual-routes/routes/index.jsx +265 -0
  129. package/dist/assets/hydrogen/virtual-routes/routes/subrequest-profiler.jsx +243 -0
  130. package/dist/assets/hydrogen/virtual-routes/virtual-root-with-layout.jsx +63 -0
  131. package/dist/assets/hydrogen/virtual-routes/virtual-root.jsx +67 -0
  132. package/dist/assets/hydrogen/vite/package.json +13 -0
  133. package/dist/assets/hydrogen/vite/vite.config.js +43 -0
  134. package/dist/assets/speedscope/SourceCodePro-Regular.ttf.f546cbe0.woff2 +0 -0
  135. package/dist/assets/speedscope/demangle-cpp.1768f4cc.js +4 -0
  136. package/dist/assets/speedscope/favicon-16x16.f74b3187.png +0 -0
  137. package/dist/assets/speedscope/favicon-32x32.bc503437.png +0 -0
  138. package/dist/assets/speedscope/file-format-schema.json +324 -0
  139. package/dist/assets/speedscope/import.bcbb2033.js +123 -0
  140. package/dist/assets/speedscope/index.html +2 -0
  141. package/dist/assets/speedscope/perf-vertx-stacks-01-collapsed-all.2681da68.txt +199 -0
  142. package/dist/assets/speedscope/release.txt +3 -0
  143. package/dist/assets/speedscope/reset.8c46b7a1.css +2 -0
  144. package/dist/assets/speedscope/source-code-pro.52b1676f.css +2 -0
  145. package/dist/assets/speedscope/source-code-pro.LICENSE.md +93 -0
  146. package/dist/assets/speedscope/source-map.438fa06b.js +24 -0
  147. package/dist/assets/speedscope/speedscope.6f107512.js +193 -0
  148. package/dist/babel-I2RLWM7N.js +15 -0
  149. package/dist/bootstrap.d.ts +5 -0
  150. package/dist/bootstrap.js +3 -0
  151. package/dist/chokidar-5RWEYTNQ.js +1 -0
  152. package/dist/chunk-2AK44UYM.js +1 -0
  153. package/dist/chunk-2CIZE537.js +3 -0
  154. package/dist/chunk-2EAFYCCS.js +16 -0
  155. package/dist/chunk-2KD4LHRT.js +5 -0
  156. package/dist/chunk-2KGPH7YG.js +2 -0
  157. package/dist/chunk-2O224ZPO.js +3 -0
  158. package/dist/chunk-2XDUJQQN.js +12 -0
  159. package/dist/chunk-36ROOKQB.js +1 -0
  160. package/dist/chunk-3DCN3N23.js +4 -0
  161. package/dist/chunk-3JXPOOFV.js +836 -0
  162. package/dist/chunk-4QBJ5JBX.js +18 -0
  163. package/dist/chunk-4ZNV5YSL.js +1 -0
  164. package/dist/chunk-5HBIIYSK.js +1 -0
  165. package/dist/chunk-5L63PRJL.js +2 -0
  166. package/dist/chunk-5N6HNQQ5.js +8 -0
  167. package/dist/chunk-5SEEDOQ5.js +1 -0
  168. package/dist/chunk-636CTEW7.js +1 -0
  169. package/dist/chunk-67Z34HN5.js +5 -0
  170. package/dist/chunk-6BDAJ6UD.js +5 -0
  171. package/dist/chunk-6CXG3XLP.js +1 -0
  172. package/dist/chunk-6MWWJZFN.js +19 -0
  173. package/dist/chunk-6QDOCBD4.js +6 -0
  174. package/dist/chunk-6RQOEPEC.js +1 -0
  175. package/dist/chunk-72ZY3KTF.js +1 -0
  176. package/dist/chunk-742XXXGL.js +6 -0
  177. package/dist/chunk-773TIA5M.js +2 -0
  178. package/dist/chunk-7HFHL5SO.js +2 -0
  179. package/dist/chunk-7ISJRIPT.js +1 -0
  180. package/dist/chunk-7LWUHQIF.js +1 -0
  181. package/dist/chunk-7T6M7FAC.js +103 -0
  182. package/dist/chunk-7UNQOKZW.js +1 -0
  183. package/dist/chunk-7Y7AZRL3.js +10 -0
  184. package/dist/chunk-A6BMJISP.js +8 -0
  185. package/dist/chunk-AAK376RT.js +2 -0
  186. package/dist/chunk-AEUCDGTB.js +294 -0
  187. package/dist/chunk-AWUX36VG.js +1 -0
  188. package/dist/chunk-B4OMIONW.js +5 -0
  189. package/dist/chunk-BOAGJ6P5.js +1 -0
  190. package/dist/chunk-BWJIZYAG.js +1 -0
  191. package/dist/chunk-BZ73NV3L.js +2 -0
  192. package/dist/chunk-C3RUVXG2.js +6 -0
  193. package/dist/chunk-C4YLE3NS.js +64 -0
  194. package/dist/chunk-CEYIZC3M.js +2 -0
  195. package/dist/chunk-CIWKN4HF.js +7 -0
  196. package/dist/chunk-CRALWNNO.js +1 -0
  197. package/dist/chunk-CTNBSUVU.js +83 -0
  198. package/dist/chunk-CULTZLC4.js +1 -0
  199. package/dist/chunk-CX5CC6P5.js +1 -0
  200. package/dist/chunk-CX75OKZK.js +1 -0
  201. package/dist/chunk-DASVZTAX.js +359 -0
  202. package/dist/chunk-DPNZWBT5.js +1 -0
  203. package/dist/chunk-DX3JLOUA.js +4 -0
  204. package/dist/chunk-E55KS3GZ.js +1 -0
  205. package/dist/chunk-E5FXOLQO.js +17 -0
  206. package/dist/chunk-E6N4PZZR.js +7 -0
  207. package/dist/chunk-EB574SY6.js +6 -0
  208. package/dist/chunk-ET2CGROE.js +451 -0
  209. package/dist/chunk-EX5GVHGE.js +1 -0
  210. package/dist/chunk-F3NYCSXT.js +273 -0
  211. package/dist/chunk-F3TMLDLC.js +1 -0
  212. package/dist/chunk-F6X6OXXB.js +3 -0
  213. package/dist/chunk-FDBHQLFK.js +1 -0
  214. package/dist/chunk-FDYW3UQC.js +1 -0
  215. package/dist/chunk-FEDVVYK2.js +1 -0
  216. package/dist/chunk-FFSDGRAN.js +1 -0
  217. package/dist/chunk-FJ6F4XRV.js +28 -0
  218. package/dist/chunk-FKIVKNOV.js +2 -0
  219. package/dist/chunk-FOREMLFZ.js +1 -0
  220. package/dist/chunk-FUYDGK33.js +2 -0
  221. package/dist/chunk-FX3L344E.js +1 -0
  222. package/dist/chunk-G5XIGN5D.js +593 -0
  223. package/dist/chunk-GAYKYEIM.js +1 -0
  224. package/dist/chunk-GB3YC4TI.js +1 -0
  225. package/dist/chunk-GCN4O7HM.js +1 -0
  226. package/dist/chunk-GCY7LPEF.js +6 -0
  227. package/dist/chunk-GNBRCK7L.js +3 -0
  228. package/dist/chunk-GRPKF5ZB.js +1 -0
  229. package/dist/chunk-GRSF7456.js +1 -0
  230. package/dist/chunk-H2TQ4ODI.js +1 -0
  231. package/dist/chunk-H6XEESUN.js +4 -0
  232. package/dist/chunk-HB347DXT.js +2 -0
  233. package/dist/chunk-HFSCXTJQ.js +97 -0
  234. package/dist/chunk-HHN6KZXX.js +1 -0
  235. package/dist/chunk-HP64ZTEJ.js +6 -0
  236. package/dist/chunk-I5A6BPCP.js +1 -0
  237. package/dist/chunk-IARCMH7G.js +5 -0
  238. package/dist/chunk-IBI5UCJO.js +1 -0
  239. package/dist/chunk-IKUSLRGD.js +1 -0
  240. package/dist/chunk-IT4HYLTY.js +1 -0
  241. package/dist/chunk-IWOTLFOY.js +32 -0
  242. package/dist/chunk-J3JPJCWP.js +1 -0
  243. package/dist/chunk-J4T73EAS.js +8 -0
  244. package/dist/chunk-JD5P5RAJ.js +1 -0
  245. package/dist/chunk-JG4HH54Q.js +1 -0
  246. package/dist/chunk-JIYSCWCG.js +1 -0
  247. package/dist/chunk-JJZNUFPD.js +44 -0
  248. package/dist/chunk-JLGA3B7P.js +1 -0
  249. package/dist/chunk-JWRK5KLD.js +560 -0
  250. package/dist/chunk-JX7FYWPO.js +1 -0
  251. package/dist/chunk-K42WBNJQ.js +18 -0
  252. package/dist/chunk-KDU7VW3L.js +11 -0
  253. package/dist/chunk-KWVOJWO7.js +1 -0
  254. package/dist/chunk-LANUJ7LX.js +16 -0
  255. package/dist/chunk-LD6ZCTZ3.js +9 -0
  256. package/dist/chunk-LFOBYEWG.js +1 -0
  257. package/dist/chunk-LQ7ENG4V.js +1 -0
  258. package/dist/chunk-LUKQ5HLC.js +1 -0
  259. package/dist/chunk-M2XHIN57.js +4 -0
  260. package/dist/chunk-MNOQAXJW.js +3 -0
  261. package/dist/chunk-MPW2YJWU.js +31 -0
  262. package/dist/chunk-MYQUYU4U.js +2 -0
  263. package/dist/chunk-N65F7ET2.js +1 -0
  264. package/dist/chunk-N6RBRPGW.js +7 -0
  265. package/dist/chunk-N75VOJHO.js +15 -0
  266. package/dist/chunk-NBFMP5XQ.js +1 -0
  267. package/dist/chunk-NE3ZFSMS.js +1 -0
  268. package/dist/chunk-NGLMZYS7.js +278 -0
  269. package/dist/chunk-NHAUJWEG.js +1 -0
  270. package/dist/chunk-NILETICC.js +11 -0
  271. package/dist/chunk-NNZXKFOS.js +7 -0
  272. package/dist/chunk-NQK2VCDA.js +1 -0
  273. package/dist/chunk-NROVZETL.js +1 -0
  274. package/dist/chunk-NW6NUGN7.js +1 -0
  275. package/dist/chunk-O7DZXO3O.js +15 -0
  276. package/dist/chunk-OBYQSIYU.js +25 -0
  277. package/dist/chunk-OEG3N5PG.js +15 -0
  278. package/dist/chunk-OGBZTY2G.js +5 -0
  279. package/dist/chunk-OMHR423H.js +1 -0
  280. package/dist/chunk-OV6SRRXR.js +5 -0
  281. package/dist/chunk-OVV5YGKN.js +1 -0
  282. package/dist/chunk-OZL5FTT7.js +1 -0
  283. package/dist/chunk-OZMQ2EJB.js +1 -0
  284. package/dist/chunk-P2OI2P2M.js +1 -0
  285. package/dist/chunk-P57P7UAN.js +3 -0
  286. package/dist/chunk-PATTG7YZ.js +1 -0
  287. package/dist/chunk-PG5YNPJB.js +26 -0
  288. package/dist/chunk-PP4L2JJ6.js +3 -0
  289. package/dist/chunk-Q5JX23QU.js +1 -0
  290. package/dist/chunk-Q5KVMLBK.js +4 -0
  291. package/dist/chunk-Q5LIJGT7.js +12 -0
  292. package/dist/chunk-Q6ADIMJM.js +6 -0
  293. package/dist/chunk-Q7BOSHWX.js +7 -0
  294. package/dist/chunk-QERQARMC.js +1 -0
  295. package/dist/chunk-QOV43E26.js +1 -0
  296. package/dist/chunk-QTFUYKMF.js +1 -0
  297. package/dist/chunk-QTJCCOAG.js +20 -0
  298. package/dist/chunk-R6ICQT2D.js +1 -0
  299. package/dist/chunk-R7T3LYJL.js +3 -0
  300. package/dist/chunk-RJ5VF3QY.js +2 -0
  301. package/dist/chunk-RXQJCJDV.js +1 -0
  302. package/dist/chunk-S2TLBBSS.js +5 -0
  303. package/dist/chunk-S5FOQY35.js +1 -0
  304. package/dist/chunk-SYLHT42O.js +1 -0
  305. package/dist/chunk-T4AA6TSF.js +15 -0
  306. package/dist/chunk-T4QWK5GG.js +10 -0
  307. package/dist/chunk-T7KHS6RF.js +1 -0
  308. package/dist/chunk-T7PJDT5O.js +6 -0
  309. package/dist/chunk-TEY4LRY7.js +1 -0
  310. package/dist/chunk-TFBRVLDN.js +1 -0
  311. package/dist/chunk-TOLPNBZK.js +4 -0
  312. package/dist/chunk-TR4OWSEX.js +77 -0
  313. package/dist/chunk-TU47HMTL.js +1 -0
  314. package/dist/chunk-TUVDJ3PG.js +2 -0
  315. package/dist/chunk-TYMYIUIQ.js +1 -0
  316. package/dist/chunk-U2DWBZK2.js +1 -0
  317. package/dist/chunk-U53OLUOE.js +3 -0
  318. package/dist/chunk-UAETNFN4.js +1 -0
  319. package/dist/chunk-UAFEFKAQ.js +5 -0
  320. package/dist/chunk-ULRJDKWQ.js +1 -0
  321. package/dist/chunk-UOHNRH6E.js +7 -0
  322. package/dist/chunk-UZARYOLN.js +1 -0
  323. package/dist/chunk-VASGXHYA.js +1 -0
  324. package/dist/chunk-VD4XJ6BX.js +1 -0
  325. package/dist/chunk-VE35YELD.js +1 -0
  326. package/dist/chunk-VFM2KQRM.js +19 -0
  327. package/dist/chunk-VJEKDBGZ.js +1 -0
  328. package/dist/chunk-VKWPEFWQ.js +1 -0
  329. package/dist/chunk-VSDRNYA5.js +1 -0
  330. package/dist/chunk-VUMUCNI7.js +1 -0
  331. package/dist/chunk-VVZSYHDG.js +4 -0
  332. package/dist/chunk-VXEYO3ZP.js +1 -0
  333. package/dist/chunk-VYDSOAV4.js +9 -0
  334. package/dist/chunk-W6ST525S.js +99 -0
  335. package/dist/chunk-WBYAGS6B.js +6 -0
  336. package/dist/chunk-WGAFCKGD.js +1 -0
  337. package/dist/chunk-WYBTC356.js +1 -0
  338. package/dist/chunk-XF2KTEID.js +1 -0
  339. package/dist/chunk-XH5YGJQR.js +1 -0
  340. package/dist/chunk-XHKWITLA.js +1705 -0
  341. package/dist/chunk-XOCB4KNX.js +2 -0
  342. package/dist/chunk-XUUAKGEX.js +1 -0
  343. package/dist/chunk-XUYVJEZG.js +3 -0
  344. package/dist/chunk-Y47C3LSX.js +3 -0
  345. package/dist/chunk-Y5PRPHLQ.js +6 -0
  346. package/dist/chunk-YD2VQEN5.js +1 -0
  347. package/dist/chunk-YESGYUEL.js +1 -0
  348. package/dist/chunk-YEVGLC5X.js +1 -0
  349. package/dist/chunk-YFINLODF.js +375 -0
  350. package/dist/chunk-YKL3BLWC.js +46 -0
  351. package/dist/chunk-YLQ3LNNY.js +99 -0
  352. package/dist/chunk-YLXPYXQP.js +1 -0
  353. package/dist/chunk-YNDIZCD2.js +7 -0
  354. package/dist/chunk-YPWHD3NL.js +1 -0
  355. package/dist/chunk-YSAFHVV6.js +8 -0
  356. package/dist/chunk-YY6TFARF.js +1 -0
  357. package/dist/chunk-YZMY2CTU.js +10 -0
  358. package/dist/chunk-Z4AFEO36.js +1 -0
  359. package/dist/chunk-Z5WPP6ME.js +1 -0
  360. package/dist/chunk-Z65E4UAP.js +1 -0
  361. package/dist/chunk-ZDF5N422.js +1 -0
  362. package/dist/chunk-ZDRIQC7O.js +1 -0
  363. package/dist/chunk-ZH44BDUR.js +5 -0
  364. package/dist/chunk-ZI7LK3LW.js +11 -0
  365. package/dist/chunk-ZL5LU4U2.js +32 -0
  366. package/dist/chunk-ZYX7UHCQ.js +1 -0
  367. package/dist/chunk-ZZRFG6ME.js +317 -0
  368. package/dist/cli/commands/app/app-logs/sources.js +1 -0
  369. package/dist/cli/commands/app/build.js +1 -0
  370. package/dist/cli/commands/app/bulk/cancel.js +1 -0
  371. package/dist/cli/commands/app/bulk/execute.js +1 -0
  372. package/dist/cli/commands/app/bulk/status.js +1 -0
  373. package/dist/cli/commands/app/config/link.js +1 -0
  374. package/dist/cli/commands/app/config/pull.js +1 -0
  375. package/dist/cli/commands/app/config/use.js +1 -0
  376. package/dist/cli/commands/app/config/validate.js +1 -0
  377. package/dist/cli/commands/app/demo/watcher.js +1 -0
  378. package/dist/cli/commands/app/deploy.js +1 -0
  379. package/dist/cli/commands/app/dev/clean.js +1 -0
  380. package/dist/cli/commands/app/dev.js +1 -0
  381. package/dist/cli/commands/app/doctor/instructions.js +1 -0
  382. package/dist/cli/commands/app/doctor.js +1 -0
  383. package/dist/cli/commands/app/env/pull.js +1 -0
  384. package/dist/cli/commands/app/env/show.js +1 -0
  385. package/dist/cli/commands/app/execute.js +1 -0
  386. package/dist/cli/commands/app/function/build.js +1 -0
  387. package/dist/cli/commands/app/function/info.js +1 -0
  388. package/dist/cli/commands/app/function/replay.js +1 -0
  389. package/dist/cli/commands/app/function/run.js +1 -0
  390. package/dist/cli/commands/app/function/schema.js +1 -0
  391. package/dist/cli/commands/app/function/typegen.js +1 -0
  392. package/dist/cli/commands/app/generate/extension.js +1 -0
  393. package/dist/cli/commands/app/graphiql.js +1 -0
  394. package/dist/cli/commands/app/import-custom-data-definitions.js +1 -0
  395. package/dist/cli/commands/app/import-extensions.js +1 -0
  396. package/dist/cli/commands/app/info.js +1 -0
  397. package/dist/cli/commands/app/init.js +1 -0
  398. package/dist/cli/commands/app/logs.js +1 -0
  399. package/dist/cli/commands/app/release.js +1 -0
  400. package/dist/cli/commands/app/subscription-migrations/cancel.js +1 -0
  401. package/dist/cli/commands/app/subscription-migrations/list.js +1 -0
  402. package/dist/cli/commands/app/subscription-migrations/schedule.js +1 -0
  403. package/dist/cli/commands/app/subscription-migrations/status.js +1 -0
  404. package/dist/cli/commands/app/subscription-migrations/unschedule.js +1 -0
  405. package/dist/cli/commands/app/versions/list.js +1 -0
  406. package/dist/cli/commands/app/webhook/trigger.js +1 -0
  407. package/dist/cli/commands/auth/login.d.ts +8 -0
  408. package/dist/cli/commands/auth/login.js +1 -0
  409. package/dist/cli/commands/auth/logout.d.ts +5 -0
  410. package/dist/cli/commands/auth/logout.js +1 -0
  411. package/dist/cli/commands/cache/clear.d.ts +6 -0
  412. package/dist/cli/commands/cache/clear.js +1 -0
  413. package/dist/cli/commands/config/autoupgrade/constants.d.ts +4 -0
  414. package/dist/cli/commands/config/autoupgrade/constants.js +1 -0
  415. package/dist/cli/commands/config/autoupgrade/off.d.ts +7 -0
  416. package/dist/cli/commands/config/autoupgrade/off.js +1 -0
  417. package/dist/cli/commands/config/autoupgrade/on.d.ts +7 -0
  418. package/dist/cli/commands/config/autoupgrade/on.js +1 -0
  419. package/dist/cli/commands/config/autoupgrade/status.d.ts +7 -0
  420. package/dist/cli/commands/config/autoupgrade/status.js +1 -0
  421. package/dist/cli/commands/debug/command-flags.d.ts +9 -0
  422. package/dist/cli/commands/debug/command-flags.js +1 -0
  423. package/dist/cli/commands/doc/fetch.d.ts +12 -0
  424. package/dist/cli/commands/doc/fetch.js +1 -0
  425. package/dist/cli/commands/doc/search.d.ts +13 -0
  426. package/dist/cli/commands/doc/search.js +1 -0
  427. package/dist/cli/commands/docs/generate.d.ts +21 -0
  428. package/dist/cli/commands/docs/generate.js +1 -0
  429. package/dist/cli/commands/doctor-release/doctor-release.d.ts +6 -0
  430. package/dist/cli/commands/doctor-release/doctor-release.js +1 -0
  431. package/dist/cli/commands/doctor-release/theme/index.d.ts +14 -0
  432. package/dist/cli/commands/doctor-release/theme/index.js +1 -0
  433. package/dist/cli/commands/help.d.ts +13 -0
  434. package/dist/cli/commands/help.js +1 -0
  435. package/dist/cli/commands/kitchen-sink/async.d.ts +11 -0
  436. package/dist/cli/commands/kitchen-sink/async.js +1 -0
  437. package/dist/cli/commands/kitchen-sink/index.d.ts +12 -0
  438. package/dist/cli/commands/kitchen-sink/index.js +1 -0
  439. package/dist/cli/commands/kitchen-sink/prompts.d.ts +11 -0
  440. package/dist/cli/commands/kitchen-sink/prompts.js +1 -0
  441. package/dist/cli/commands/kitchen-sink/static.d.ts +11 -0
  442. package/dist/cli/commands/kitchen-sink/static.js +1 -0
  443. package/dist/cli/commands/notifications/generate.d.ts +6 -0
  444. package/dist/cli/commands/notifications/generate.js +1 -0
  445. package/dist/cli/commands/notifications/list.d.ts +9 -0
  446. package/dist/cli/commands/notifications/list.js +1 -0
  447. package/dist/cli/commands/organization/list.js +1 -0
  448. package/dist/cli/commands/search.d.ts +14 -0
  449. package/dist/cli/commands/search.js +1 -0
  450. package/dist/cli/commands/send-analytics.d.ts +5 -0
  451. package/dist/cli/commands/send-analytics.js +1 -0
  452. package/dist/cli/commands/theme/check.js +1 -0
  453. package/dist/cli/commands/theme/console.js +1 -0
  454. package/dist/cli/commands/theme/delete.js +1 -0
  455. package/dist/cli/commands/theme/dev.js +1 -0
  456. package/dist/cli/commands/theme/duplicate.js +1 -0
  457. package/dist/cli/commands/theme/info.js +1 -0
  458. package/dist/cli/commands/theme/init.js +1 -0
  459. package/dist/cli/commands/theme/language-server.js +1 -0
  460. package/dist/cli/commands/theme/list.js +1 -0
  461. package/dist/cli/commands/theme/metafields/pull.js +1 -0
  462. package/dist/cli/commands/theme/open.js +1 -0
  463. package/dist/cli/commands/theme/package.js +1 -0
  464. package/dist/cli/commands/theme/preview.js +1 -0
  465. package/dist/cli/commands/theme/profile.js +1 -0
  466. package/dist/cli/commands/theme/publish.js +1 -0
  467. package/dist/cli/commands/theme/pull.js +1 -0
  468. package/dist/cli/commands/theme/push.js +1 -0
  469. package/dist/cli/commands/theme/rename.js +1 -0
  470. package/dist/cli/commands/theme/share.js +1 -0
  471. package/dist/cli/commands/upgrade.d.ts +7 -0
  472. package/dist/cli/commands/upgrade.js +1 -0
  473. package/dist/cli/commands/version.d.ts +5 -0
  474. package/dist/cli/commands/version.js +1 -0
  475. package/dist/cli/help.d.ts +38 -0
  476. package/dist/cli/help.js +2 -0
  477. package/dist/cli/services/commands/doc/fetch.d.ts +1 -0
  478. package/dist/cli/services/commands/doc/fetch.js +45 -0
  479. package/dist/cli/services/commands/doc/search.d.ts +1 -0
  480. package/dist/cli/services/commands/doc/search.js +47 -0
  481. package/dist/cli/services/commands/notifications.d.ts +2 -0
  482. package/dist/cli/services/commands/notifications.js +106 -0
  483. package/dist/cli/services/commands/search.d.ts +1 -0
  484. package/dist/cli/services/commands/search.js +7 -0
  485. package/dist/cli/services/commands/version.d.ts +1 -0
  486. package/dist/cli/services/commands/version.js +6 -0
  487. package/dist/cli/services/doctor-release/context.d.ts +16 -0
  488. package/dist/cli/services/doctor-release/context.js +11 -0
  489. package/dist/cli/services/doctor-release/theme/runner.d.ts +7 -0
  490. package/dist/cli/services/doctor-release/theme/runner.js +37 -0
  491. package/dist/cli/services/doctor-release/theme/tests/init.d.ts +11 -0
  492. package/dist/cli/services/doctor-release/theme/tests/init.js +34 -0
  493. package/dist/cli/services/doctor-release/theme/tests/push.d.ts +10 -0
  494. package/dist/cli/services/doctor-release/theme/tests/push.js +44 -0
  495. package/dist/cli/services/kitchen-sink/async.d.ts +1 -0
  496. package/dist/cli/services/kitchen-sink/async.js +65 -0
  497. package/dist/cli/services/kitchen-sink/prompts.d.ts +1 -0
  498. package/dist/cli/services/kitchen-sink/prompts.js +168 -0
  499. package/dist/cli/services/kitchen-sink/static.d.ts +1 -0
  500. package/dist/cli/services/kitchen-sink/static.js +201 -0
  501. package/dist/command-registry.d.ts +8 -0
  502. package/dist/command-registry.js +1 -0
  503. package/dist/conf-store-ASDCTDQ4.js +1 -0
  504. package/dist/configs/all.yml +280 -0
  505. package/dist/configs/nothing.yml +3 -0
  506. package/dist/configs/recommended.yml +258 -0
  507. package/dist/configs/theme-app-extension.yml +24 -0
  508. package/dist/custom-oclif-loader-BWAMUFQ4.js +1 -0
  509. package/dist/data/app_block_entry.json +13 -0
  510. package/dist/data/default_setting_values.json +24 -0
  511. package/dist/data/filters.json +6177 -0
  512. package/dist/data/latest.json +2 -0
  513. package/dist/data/local_block_entry.json +25 -0
  514. package/dist/data/manifest_theme.json +19 -0
  515. package/dist/data/manifest_theme_app_extension.json +10 -0
  516. package/dist/data/objects.json +20621 -0
  517. package/dist/data/preset.json +72 -0
  518. package/dist/data/preset_blocks.json +91 -0
  519. package/dist/data/section.json +208 -0
  520. package/dist/data/setting.json +1538 -0
  521. package/dist/data/settings.json +10 -0
  522. package/dist/data/shopify_system_translations.json +2766 -0
  523. package/dist/data/tags.json +1276 -0
  524. package/dist/data/targetted_block_entry.json +15 -0
  525. package/dist/data/theme_block.json +91 -0
  526. package/dist/data/theme_block_entry.json +14 -0
  527. package/dist/data/theme_settings.json +83 -0
  528. package/dist/data/translations.json +63 -0
  529. package/dist/deprecations-VBQV7Q4O.js +1 -0
  530. package/dist/devtools-37DE4MUR.js +1 -0
  531. package/dist/devtools-WAWU5KQL.js +1 -0
  532. package/dist/dist-FZLOAKU7.js +1 -0
  533. package/dist/dist-HTY6UHG5.js +1 -0
  534. package/dist/environments-HSTNEQRG.js +1 -0
  535. package/dist/error-2LZYKRMA.js +1 -0
  536. package/dist/error-handler-PIGEJ7BT.js +1 -0
  537. package/dist/estree-JV5M77BA.js +44 -0
  538. package/dist/flow-N4JYPYMQ.js +20 -0
  539. package/dist/fs-BJHNJDDK.js +1 -0
  540. package/dist/glimmer-JEV3BXHR.js +37 -0
  541. package/dist/graphql-DTF6MHYF.js +28 -0
  542. package/dist/hooks/did-you-mean.d.ts +1 -0
  543. package/dist/hooks/did-you-mean.js +1 -0
  544. package/dist/hooks/hydrogen-init.d.ts +7 -0
  545. package/dist/hooks/hydrogen-init.js +1 -0
  546. package/dist/hooks/plugin-plugins.d.ts +1 -0
  547. package/dist/hooks/plugin-plugins.js +1 -0
  548. package/dist/hooks/postrun.d.ts +1 -0
  549. package/dist/hooks/postrun.js +1 -0
  550. package/dist/hooks/prerun.d.ts +1 -0
  551. package/dist/hooks/prerun.js +2 -0
  552. package/dist/hooks/public-metadata.d.ts +1 -0
  553. package/dist/hooks/public-metadata.js +1 -0
  554. package/dist/hooks/sensitive-metadata.d.ts +1 -0
  555. package/dist/hooks/sensitive-metadata.js +1 -0
  556. package/dist/hooks/tunnel-provider.d.ts +1 -0
  557. package/dist/hooks/tunnel-provider.js +1 -0
  558. package/dist/hooks/tunnel-start.d.ts +1 -0
  559. package/dist/hooks/tunnel-start.js +1 -0
  560. package/dist/html-LVOJ3RQS.js +25 -0
  561. package/dist/http-proxy-node16-A6AKKRQH.js +38 -0
  562. package/dist/index.d.ts +13 -0
  563. package/dist/index.js +120 -0
  564. package/dist/is-global-6SCOAJVG.js +1 -0
  565. package/dist/latest-version-LDWU5F7A.js +49 -0
  566. package/dist/lib-2BR2WN7L.js +1 -0
  567. package/dist/lib-M72BVWQ3.js +1 -0
  568. package/dist/lib-O5EZ4NVT.js +1 -0
  569. package/dist/lib-P3APEIHY.js +1 -0
  570. package/dist/local-PZWPRFU7.js +1 -0
  571. package/dist/markdown-J6CE6POI.js +62 -0
  572. package/dist/meriyah-PNQQZQYI.js +5 -0
  573. package/dist/metadata-VVBHB3HL.js +1 -0
  574. package/dist/morph-BMYYMQNX.js +30489 -0
  575. package/dist/multipart-parser-5NSSTW27.js +2 -0
  576. package/dist/node-package-manager-ETYQN7OM.js +1 -0
  577. package/dist/notifications-system-652OG5KL.js +1 -0
  578. package/dist/npa-A4YSCQ5Q.js +1 -0
  579. package/dist/open-KLSGXBIW.js +1 -0
  580. package/dist/os-7D6NT4O3.js +1 -0
  581. package/dist/out-53ABAVL7.js +1 -0
  582. package/dist/output-74VDGYJD.js +1 -0
  583. package/dist/path-MBXP7ZIC.js +1 -0
  584. package/dist/postcss-Q36SHOML.js +61 -0
  585. package/dist/prettier-EGVCP5CY.js +1 -0
  586. package/dist/source-map-E7FCCJL7.js +1 -0
  587. package/dist/system-P5QIJALL.js +1 -0
  588. package/dist/templates/ui-extensions/html/error.html.liquid +41 -0
  589. package/dist/templates/ui-extensions/html/post_purchase/index.html.liquid +44 -0
  590. package/dist/templates/ui-extensions/html/post_purchase/tunnel-error.html.liquid +41 -0
  591. package/dist/templates/ui-extensions/html/tunnel-error.html.liquid +55 -0
  592. package/dist/toml_patch_bg.wasm +0 -0
  593. package/dist/tsconfig.tsbuildinfo +1 -0
  594. package/dist/typescript-5R4Y7PXE.js +1 -0
  595. package/dist/typescript-WYPDGPSV.js +21 -0
  596. package/dist/ui-H5I5YVKV.js +1 -0
  597. package/dist/upgrade-34HSYBXI.js +1 -0
  598. package/dist/vendor/esbuild-ohos/lib/main.js +2538 -0
  599. package/dist/vendor/esbuild-ohos/package.json +7 -0
  600. package/dist/version-EKXEAF6Q.js +1 -0
  601. package/dist/version-J2PYO6M5.js +1 -0
  602. package/dist/workerd-X4TGHEG3.js +18 -0
  603. package/dist/yaml-6KWCJ64X.js +159 -0
  604. package/dist/yoga.wasm +0 -0
  605. package/oclif.manifest.json +10100 -0
  606. package/package.json +153 -0
@@ -0,0 +1,7 @@
1
+ import{a as Q,b as X,c as H}from"./chunk-2AK44UYM.js";import{a as L,c as M,e as f,f as P,h as T,i as q,m as V,p as U,q as F,r as j,s as z,u as _}from"./chunk-3DCN3N23.js";import{a as W}from"./chunk-UZARYOLN.js";import{a as G,b as J}from"./chunk-YESGYUEL.js";import{b as N}from"./chunk-YEVGLC5X.js";import{A as v,B as E,I as D,a as $,y as g,z as u}from"./chunk-YFINLODF.js";import{h as m,k as R}from"./chunk-BWJIZYAG.js";import{Ta as I,ma as C,qb as r,sb as s,ua as S,wb as x}from"./chunk-VFM2KQRM.js";import{g as c}from"./chunk-VKWPEFWQ.js";c();c();async function te(t,e){if(t)return t.join(`
2
+ `);if(e){if(!await I(e))throw new m(s`Variable file not found at ${r.path(e)}. Please check the path and try again.`);return C(e,{encoding:"utf8"})}else return}async function Y(t){let{organization:e,remoteApp:i,store:n,query:o,variables:d,variableFile:b,outputFile:O,watch:Z=!1,version:ee}=t,{adminSession:p,version:k}=await D({title:s`Authenticating`,task:async()=>{let a=await Q(i,n.shopDomain),l=await P({adminSession:a,userSpecifiedVersion:ee,minimumDefaultVersion:L});return{adminSession:a,version:l}},renderOptions:{stdout:process.stderr}}),B=await te(d,b);ae(o,B),H(o,n),g({headline:"Starting bulk operation.",body:[{list:{items:X({organization:e,remoteApp:i,storeFqdn:n.shopDomain,version:k})}}]});let w=f(o)?await q({adminSession:p,query:o,variablesJsonl:B,version:k}):await T({adminSession:p,query:o,version:k});if(w?.userErrors?.length){E({headline:"Error creating bulk operation.",body:{list:{items:w.userErrors.map(a=>a.field?`${a.field.join(".")}: ${a.message}`:a.message)}}});return}let y=w?.bulkOperation;if(y)if(Z){let a=new $,l=await F(p,y.id,a.signal,()=>a.abort());a.signal.aborted?g({headline:`Bulk operation ${l.id} is still running in the background.`,body:h(l.id)}):await K(l,O)}else{let a=await U(p,y.id);["FAILED","CANCELED","EXPIRED"].includes(a.status)?await K(a,O):u({headline:"Bulk operation is running.",body:h(a.id),customSections:[{body:[{list:{items:[s`ID: ${r.cyan(a.id)}`.value]}}]}]})}else throw v({headline:"Bulk operation not created successfully.",body:"This is an unexpected error. Please try again later."}),new R("Bulk operation response returned null with no error message.")}async function K(t,e){let i=V(t).value,o=[{body:[{list:{items:[s`ID: ${r.cyan(t.id)}`.value,s`Status: ${r.yellow(t.status)}`.value,s`Created at: ${r.gray(String(t.createdAt))}`.value,...t.completedAt?[s`Completed at: ${r.gray(String(t.completedAt))}`.value]:[]]}}]}];switch(t.status){case"CREATED":u({headline:"Bulk operation started.",body:h(t.id),customSections:o});break;case"RUNNING":u({headline:"Bulk operation is running.",body:h(t.id),customSections:o});break;case"COMPLETED":if(t.url){let d=await j(t.url),b=z(d);e?await S(e,d):x(d),b?v({headline:"Bulk operation completed with errors.",body:e?`Results written to ${e}. Check file for error details.`:"Check results for error details.",customSections:o}):u({headline:i,body:e?[`Results written to ${e}`]:void 0,customSections:o})}else u({headline:i,customSections:o});break;case"CANCELED":case"CANCELING":case"EXPIRED":case"FAILED":E({headline:i,customSections:o});break}}function ae(t,e){if(f(t)&&!e)throw new m(s`Bulk mutations require variables. Provide a JSONL file with ${r.yellow("--variable-file")} or individual JSON objects with ${r.yellow("--variables")}.`);if(!f(t)&&e)throw new m(s`The ${r.yellow("--variables")} and ${r.yellow("--variable-file")} flags can only be used with mutations, not queries.`)}function h(t){return[`Monitor its progress with:
3
+ `,{command:`shopify app bulk status --id=${M(t)}`}]}var A=class t extends W{static summary="Execute bulk operations.";static descriptionWithMarkdown=`Executes an Admin API GraphQL query or mutation on the specified store, as a bulk operation. Mutations are only allowed on dev stores.
4
+
5
+ Bulk operations allow you to process large amounts of data asynchronously. Learn more about [bulk query operations](https://shopify.dev/docs/api/usage/bulk-operations/queries) and [bulk mutation operations](https://shopify.dev/docs/api/usage/bulk-operations/imports).
6
+
7
+ Use [\`bulk status\`](https://shopify.dev/docs/api/shopify-cli/app/app-bulk-status) to check the status of your bulk operations.`;static description=this.descriptionWithoutMarkdown();static flags={...N,...G,...J};async run(){let{flags:e}=await this.parse(t),{query:i,appContextResult:n,store:o}=await _(e);return await Y({organization:n.organization,remoteApp:n.remoteApp,store:o,query:i,variables:e.variables,variableFile:e["variable-file"],watch:e.watch??!1,outputFile:e["output-file"],...e.version&&{version:e.version}}),{app:n.app}}};export{A as a};
@@ -0,0 +1 @@
1
+ import{d as l}from"./chunk-YKL3BLWC.js";import{c as t}from"./chunk-YY6TFARF.js";import{f as i,m,n as w,o as d,r as f}from"./chunk-GNBRCK7L.js";import{J as n}from"./chunk-YFINLODF.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();async function y(o,r,P){i()||f({store:r});let e=o??m()??await p(["Enter your",{link:{label:"store password",url:t(r)}}]),s=!1;for(;!await l(e,r,P);)s||(d(),s=!0),e=await p(["Incorrect",{link:{label:"store password",url:t(r)}},{char:"."},"Please try again"]);return w(e),e}async function p(o){return n({message:o,password:!0})}export{y as a};
@@ -0,0 +1 @@
1
+ import{a as e}from"./chunk-NHAUJWEG.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var t=e({cmd_app_warning_api_key_deprecation_displayed:!1}),i=t;export{i as a};
@@ -0,0 +1 @@
1
+ import{b as i}from"./chunk-XOCB4KNX.js";import{d as r}from"./chunk-YEVGLC5X.js";import{b as t}from"./chunk-2XDUJQQN.js";import{g as a}from"./chunk-VKWPEFWQ.js";a();var e=class extends t{static baseFlags=r;environmentsFilename(){return i.appEnvironments}};export{e as a};
@@ -0,0 +1,15 @@
1
+ import{Ab as ms,Ea as cs,Pa as hs,Qa as us,Ta as fs,Wa as ds,bb as ps,ma as wt,pa as be,qb as kt,sb as gs,ua as ls,wa as bt}from"./chunk-VFM2KQRM.js";import{d as we,g as yt,i as as}from"./chunk-773TIA5M.js";import{a as X,c as gi,e as mi,g as ye}from"./chunk-VKWPEFWQ.js";var ui=gi(l=>{"use strict";ye();Object.defineProperty(l,"__esModule",{value:!0});var yi=X("stream"),W=X("path"),G=X("fs"),Es=X("crypto"),O=class{constructor(e,s,i,r,n){this.kind=e,this.input=s,this.begin=i,this.end=r,this.file=n}getText(){return this.input.slice(this.begin,this.end)}getPosition(){let[e,s]=[1,1];for(let i=0;i<this.begin;i++)this.input[i]===`
2
+ `?(e++,s=1):s++;return[e,s]}size(){return this.end-this.begin}},D=class{liquidMethodMissing(e,s){}},wi=Object.prototype.toString,ys=String.prototype.toLowerCase,Qt=Object.hasOwnProperty;function d(t){return typeof t=="string"}function x(t){return typeof t=="function"}function bi(t){return t&&x(t.then)}function _e(t){return t&&x(t.next)&&x(t.throw)&&x(t.return)}function Kt(t){return function(...e){return new Promise((s,i)=>{t(...e,(r,n)=>{r?i(r):s(n)})})}}function h(t){return t=m(t),d(t)?t:k(t)?"":S(t)?t.map(e=>h(e)).join(""):String(t)}function ge(t){return t=m(t),S(t)?t:d(t)&&t.length>0?[t]:Ti(t)?Array.from(t):dt(t)?Object.keys(t).map(e=>[e,t[e]]):[]}function L(t){return t=m(t),k(t)?[]:S(t)?t:[t]}function m(t){return t instanceof D&&x(t.valueOf)?t.valueOf():t}function xt(t){return+m(t)||0}function ft(t){return typeof t=="number"}function Vs(t){return t&&x(t.toLiquid)?Vs(t.toLiquid()):t}function k(t){return t==null}function ki(t){return t===void 0}function S(t){return wi.call(t)==="[object Array]"}function Ps(t){return t&&ft(t.length)}function Ti(t){return dt(t)&&Symbol.iterator in t}function ws(t,e){t=t||{};for(let s in t)if(Qt.call(t,s)&&e(t[s],s,t)===!1)break;return t}function xi(t){return t[t.length-1]}function dt(t){let e=typeof t;return t!==null&&(e==="object"||e==="function")}function Cs(t,e,s=1){let i=[];for(let r=t;r<e;r+=s)i.push(r);return i}function oe(t,e,s=" "){return $s(t,e,s,(i,r)=>r+i)}function Si(t,e,s=" "){return $s(t,e,s,(i,r)=>i+r)}function $s(t,e,s,i){t=String(t);let r=e-t.length;return r<=0?t:i(t,s.repeat(r))}function js(t){return t}function _i(t){return[...t].some(s=>s>="a"&&s<="z")?t.toUpperCase():t.toLowerCase()}function Li(t,e){return t.length>e?t.slice(0,e-3)+"...":t}function Fi(t,e){return k(t)&&k(e)?0:k(t)?1:k(e)||t<e?-1:t>e?1:0}function Oi(t,e){return k(t)&&k(e)?0:k(t)?1:k(e)||(t=ys.call(t),e=ys.call(e),t<e)?-1:t>e?1:0}function pt(t){return function(...e){return t.call(this,...e.map(m))}}function V(t){return function(...e){return t.call(this,...e.map(xt))}}function*ke(t){let e=new Set;for(let s of t){let i=JSON.stringify(s);e.has(i)||(e.add(i),yield s)}}var bs="__liquidClass__",E=class extends Error{constructor(e,s){super(typeof e=="string"?e:e.message),this.context="",typeof e!="string"&&Object.defineProperty(this,"originalError",{value:e,enumerable:!1}),Object.defineProperty(this,"token",{value:s,enumerable:!1}),Object.defineProperty(this,bs,{value:"LiquidError",enumerable:!1})}update(){Object.defineProperty(this,"context",{value:vi(this.token),enumerable:!1}),this.message=zi(this.message,this.token),this.stack=this.message+`
3
+ `+this.context+`
4
+ `+this.stack,this.originalError&&(this.stack+=`
5
+ From `+this.originalError.stack)}static is(e){return e?.[bs]==="LiquidError"}},Le=class extends E{constructor(e,s){super(e,s),this.name="TokenizationError",super.update()}},Fe=class extends E{constructor(e,s){super(e,s),this.name="ParseError",this.message=e.message,super.update()}},Oe=class extends E{constructor(e,s){super(e,s.token),this.name="RenderError",this.message=e.message,super.update()}static is(e){return e.name==="RenderError"}},ve=class extends E{constructor(e){super(e[0],e[0].token),this.errors=e,this.name="LiquidErrors";let s=e.length>1?"s":"";this.message=`${e.length} error${s} found`,super.update()}static is(e){return e.name==="LiquidErrors"}},ze=class extends E{constructor(e,s){super(e,s),this.name="UndefinedVariableError",this.message=e.message,super.update()}},St=class extends Error{constructor(e){super(`undefined variable: ${e}`),this.name="InternalUndefinedVariableError",this.variableName=e}},Re=class extends Error{constructor(e){super(e),this.name="AssertionError",this.message=e+""}};function vi(t){let[e,s]=t.getPosition(),i=t.input.split(`
6
+ `),r=Math.max(e-2,1),n=Math.min(e+3,i.length);return Cs(r,n+1).map(a=>{let c=a===e?">> ":" ",f=oe(String(a),String(n).length),u=`${c}${f}| `,p=a===e?`
7
+ `+oe("^",s+u.length):"";return u+=i[a-1],u+=p,u}).join(`
8
+ `)}function zi(t,e){e.file&&(t+=`, file:${e.file}`);let[s,i]=e.getPosition();return t+=`, line:${s}, col:${i}`,t}var w=[0,0,0,0,0,0,0,0,0,20,4,4,4,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,2,8,0,0,0,0,8,0,0,0,64,0,65,0,0,33,33,33,33,33,33,33,33,33,33,0,0,2,2,2,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],Ri=1,te=4,ks=8,Is=16,Ai=32,Ni=64,qi=128;function Te(t){let e=t.charCodeAt(0);return e>=128?!w[e]:!!(w[e]&Ri)}w[160]=w[5760]=w[6158]=w[8192]=w[8193]=w[8194]=w[8195]=w[8196]=w[8197]=w[8198]=w[8199]=w[8200]=w[8201]=w[8202]=w[8232]=w[8233]=w[8239]=w[8287]=w[12288]=te;w[8220]=w[8221]=qi;function _(t,e){if(!t){let s=typeof e=="function"?e():e||`expect ${t} to be true`;throw new Re(s)}}function Ae(t,e=`unexpected ${JSON.stringify(t)}`){_(!t,e)}var _t=class extends D{equals(e){return k(m(e))}gt(){return!1}geq(){return!1}lt(){return!1}leq(){return!1}valueOf(){return null}},ae=class t extends D{equals(e){return e instanceof t?!1:(e=m(e),d(e)||S(e)?e.length===0:dt(e)?Object.keys(e).length===0:!1)}gt(){return!1}geq(){return!1}lt(){return!1}leq(){return!1}valueOf(){return""}static is(e){return e instanceof t}},Lt=class t extends ae{equals(e){return e===!1||k(m(e))?!0:d(e)?/^\s*$/.test(e):super.equals(e)}static is(e){return e instanceof t}},le=class extends D{constructor(e,s,i){super(),this.i=0,this.length=e,this.name=`${i}-${s}`}next(){this.i++}index0(){return this.i}index(){return this.i+1}first(){return this.i===0}last(){return this.i===this.length-1}rindex(){return this.length-this.i}rindex0(){return this.length-this.i-1}valueOf(){return JSON.stringify(this)}},Ne=class{constructor(){this.buffer=""}write(e){this.buffer+=h(e)}},Ft=class{constructor(){this.buffer="",this.stream=new yi.PassThrough}write(e){this.stream.write(h(e))}error(e){this.stream.emit("error",e)}end(){this.stream.end()}},Ot=class{constructor(){this.buffer=""}write(e){e=m(e),typeof e!="string"&&this.buffer===""?this.buffer=e:this.buffer=h(this.buffer)+h(e)}},qe=class extends D{constructor(e=()=>""){super(),this.superBlockRender=e}*super(){let e=new Ne;return yield this.superBlockRender(e),e.buffer}};function A(t){return t&&x(t.equals)&&x(t.gt)&&x(t.geq)&&x(t.lt)&&x(t.leq)}var Ts=new _t,Bs={true:!0,false:!1,nil:Ts,null:Ts,empty:new ae,blank:new Lt};function vt(t){let e={};for(let[s,i]of Object.entries(t)){let r=e;for(let n=0;n<s.length;n++){let o=s[n];r[o]=r[o]||{},n===s.length-1&&Te(s[n])&&(r[o].needBoundary=!0),r=r[o]}r.data=i,r.end=!0}return e}function zt(t,e){let s=e||t;return(i,...r)=>i?s(...r):t(...r)}async function q(t){if(!_e(t))return t;let e,s=!1,i="next";do{let r=t[i](e);s=r.done,e=r.value,i="next";try{_e(e)&&(e=q(e)),bi(e)&&(e=await e)}catch(n){i="throw",e=n}}while(!s);return e}function M(t){if(!_e(t))return t;let e,s=!1,i="next";do{let r=t[i](e);if(s=r.done,e=r.value,i="next",_e(e))try{e=M(e)}catch(n){i="throw",e=n}}while(!s);return e}var Mi=/%([-_0^#:]+)?(\d+)?([EO])?(.)/;function Di(t){return[31,Ei(t)?29:28,31,30,31,30,31,31,30,31,30,31]}function Us(t){let e=0;for(let s=0;s<t.getMonth();++s)e+=Di(t)[s];return e+t.getDate()}function xs(t,e){let s=Us(t)+(e-t.getDay()),r=7-new Date(t.getFullYear(),0,1).getDay()+e;return String(Math.floor((s-r)/7)+1)}function Ei(t){let e=t.getFullYear();return!!((e&3)===0&&(e%100||e%400===0&&e))}function Vi(t){let e=t.getDate();if([11,12,13].includes(e))return"th";switch(e%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}}function Pi(t){return parseInt(t.getFullYear().toString().substring(0,2),10)}var Ci={d:2,e:2,H:2,I:2,j:3,k:2,l:2,L:3,m:2,M:2,S:2,U:2,W:2},$i=new Set("aAbBceklpP");function Ss(t,e){let s=Math.abs(t.getTimezoneOffset()),i=Math.floor(s/60),r=s%60;return(t.getTimezoneOffset()>0?"-":"+")+oe(i,2,"0")+(e.flags[":"]?":":"")+oe(r,2,"0")}var Rt={a:t=>t.getShortWeekdayName(),A:t=>t.getLongWeekdayName(),b:t=>t.getShortMonthName(),B:t=>t.getLongMonthName(),c:t=>t.toLocaleString(),C:t=>Pi(t),d:t=>t.getDate(),e:t=>t.getDate(),H:t=>t.getHours(),I:t=>String(t.getHours()%12||12),j:t=>Us(t),k:t=>t.getHours(),l:t=>String(t.getHours()%12||12),L:t=>t.getMilliseconds(),m:t=>t.getMonth()+1,M:t=>t.getMinutes(),N:(t,e)=>{let s=Number(e.width)||9,i=String(t.getMilliseconds()).slice(0,s);return e.memoryLimit?.use(s-i.length),Si(i,s,"0")},p:t=>t.getHours()<12?"AM":"PM",P:t=>t.getHours()<12?"am":"pm",q:t=>Vi(t),s:t=>Math.round(t.getTime()/1e3),S:t=>t.getSeconds(),u:t=>t.getDay()||7,U:t=>xs(t,0),w:t=>t.getDay(),W:t=>xs(t,1),x:t=>t.toLocaleDateString(),X:t=>t.toLocaleTimeString(),y:t=>t.getFullYear().toString().slice(2,4),Y:t=>t.getFullYear(),z:Ss,Z:(t,e)=>t.getTimeZoneName()||Ss(t,e),t:()=>" ",n:()=>`
9
+ `,"%":()=>"%"};Rt.h=Rt.b;function xe(t,e,s){let i="",r=e,n;for(;n=Mi.exec(r);)i+=r.slice(0,n.index),r=r.slice(n.index+n[0].length),i+=ji(t,n,s);return i+r}function ji(t,e,s){let[i,r="",n,o,a]=e,c=Rt[a];if(!c)return i;let f={};for(let y of r)f[y]=!0;let u=String(c(t,{flags:f,width:n,modifier:o,memoryLimit:s})),p=$i.has(a)?" ":"0",g=n||Ci[a]||0;return f["^"]?u=u.toUpperCase():f["#"]&&(u=_i(u)),f._?p=" ":f[0]&&(p="0"),f["-"]&&(g=0),s?.use(Number(g)-u.length),oe(u,g,p)}function Ws(){return typeof Intl<"u"?Intl.DateTimeFormat:void 0}var Ii=6e4,Bi=/([zZ]|([+-])(\d{2}):?(\d{2}))$/,Hs=["January","February","March","April","May","June","July","August","September","October","November","December"],Ui=Hs.map(t=>t.slice(0,3)),Ys=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Wi=Ys.map(t=>t.slice(0,3)),I=class t{constructor(e,s,i){this.locale=s,this.DateTimeFormat=Ws(),this.date=new Date(e),this.timezoneFixed=i!==void 0,i===void 0&&(i=this.date.getTimezoneOffset()),this.timezoneOffset=d(i)?t.getTimezoneOffset(i,this.date):i,this.timezoneName=d(i)?i:"";let r=(this.date.getTimezoneOffset()-this.timezoneOffset)*Ii,n=this.date.getTime()+r;this.displayDate=new Date(n)}getTime(){return this.displayDate.getTime()}getMilliseconds(){return this.displayDate.getMilliseconds()}getSeconds(){return this.displayDate.getSeconds()}getMinutes(){return this.displayDate.getMinutes()}getHours(){return this.displayDate.getHours()}getDay(){return this.displayDate.getDay()}getDate(){return this.displayDate.getDate()}getMonth(){return this.displayDate.getMonth()}getFullYear(){return this.displayDate.getFullYear()}toLocaleString(e,s){return s?.timeZone?this.date.toLocaleString(e,s):this.displayDate.toLocaleString(e,s)}toLocaleTimeString(e){return this.displayDate.toLocaleTimeString(e)}toLocaleDateString(e){return this.displayDate.toLocaleDateString(e)}getTimezoneOffset(){return this.timezoneOffset}getTimeZoneName(){if(this.timezoneFixed)return this.timezoneName;if(this.DateTimeFormat)return this.DateTimeFormat().resolvedOptions().timeZone}getLongMonthName(){return this.format({month:"long"})??Hs[this.getMonth()]}getShortMonthName(){return this.format({month:"short"})??Ui[this.getMonth()]}getLongWeekdayName(){return this.format({weekday:"long"})??Ys[this.displayDate.getDay()]}getShortWeekdayName(){return this.format({weekday:"short"})??Wi[this.displayDate.getDay()]}valid(){return!isNaN(this.getTime())}format(e){return this.DateTimeFormat&&this.DateTimeFormat(this.locale,e).format(this.displayDate)}static createDateFixedToTimezone(e,s){let i=e.match(Bi);if(i&&i[1]==="Z")return new t(+new Date(e),s,0);if(i&&i[2]&&i[3]&&i[4]){let[,,r,n,o]=i,a=(r==="+"?-1:1)*(parseInt(n,10)*60+parseInt(o,10));return new t(+new Date(e),s,a)}return new t(e,s)}static getTimezoneOffset(e,s){let i=s.toLocaleString("en-US",{timeZone:e}),r=s.toLocaleString("en-US",{timeZone:"UTC"}),n=new Date(i);return(+new Date(r)-+n)/(60*1e3)}},ce=class{constructor(e,s){this.base=0,this.message=`${e} limit exceeded`,this.limit=s}use(e){+e>0&&(_(this.base+ +e<=this.limit,this.message),this.base+=+e)}check(e){+e>0&&_(+e<=this.limit,this.message)}},he=class extends O{constructor(e,[s,i],r,n,o,a,c,f){super(e,r,n,o,f),this.trimLeft=!1,this.trimRight=!1;let u=r[s]==="-",p=r[i-1]==="-",g=u?s+1:s,y=p?i-1:i;for(;g<y&&w[r.charCodeAt(g)]&te;)g++;for(;y>g&&w[r.charCodeAt(y-1)]&te;)y--;this.contentRange=[g,y],this.trimLeft=u||a,this.trimRight=p||c}get content(){return this.input.slice(this.contentRange[0],this.contentRange[1])}},ue=class extends he{constructor(e,s,i,r,n){let{trimTagLeft:o,trimTagRight:a,tagDelimiterLeft:c,tagDelimiterRight:f}=r,[u,p]=[s+c.length,i-f.length];super(l.TokenKind.Tag,[u,p],e,s,i,o,a,n),this.tokenizer=new z(e,r.operators,n,this.contentRange),this.name=this.tokenizer.readTagName(),this.tokenizer.assert(this.name,"illegal tag syntax, tag name expected"),this.tokenizer.skipBlank(),this.args=this.tokenizer.input.slice(this.tokenizer.p,this.contentRange[1])}},At=class extends he{constructor(e,s,i,r,n){let{trimOutputLeft:o,trimOutputRight:a,outputDelimiterLeft:c,outputDelimiterRight:f}=r,u=[s+c.length,i-f.length];super(l.TokenKind.Output,u,e,s,i,o,a,n)}},Me=class extends O{constructor(e,s,i,r){super(l.TokenKind.HTML,e,s,i,r),this.input=e,this.begin=s,this.end=i,this.file=r,this.trimLeft=0,this.trimRight=0}getContent(){return this.input.slice(this.begin+this.trimLeft,this.end-this.trimRight)}},Nt=class extends O{constructor(e,s,i,r){super(l.TokenKind.Number,e,s,i,r),this.input=e,this.begin=s,this.end=i,this.file=r,this.content=Number(this.getText())}},ie=class extends O{constructor(e,s,i,r){super(l.TokenKind.Word,e,s,i,r),this.input=e,this.begin=s,this.end=i,this.file=r,this.content=this.getText()}},qt=class extends O{constructor(e,s,i,r){super(l.TokenKind.Literal,e,s,i,r),this.input=e,this.begin=s,this.end=i,this.file=r,this.literal=this.getText(),this.content=Bs[this.literal]}},_s={"==":2,"!=":2,">":2,"<":2,">=":2,"<=":2,contains:2,not:1,and:0,or:0},Hi={"==":0,"!=":0,">":0,"<":0,">=":0,"<=":0,contains:0,not:1,and:0,or:0},Mt=class extends O{constructor(e,s,i,r){super(l.TokenKind.Operator,e,s,i,r),this.input=e,this.begin=s,this.end=i,this.file=r,this.operator=this.getText()}getPrecedence(){let e=this.getText();return e in _s?_s[e]:1}},De=class extends O{constructor(e,s,i,r,n,o){super(l.TokenKind.PropertyAccess,i,r,n,o),this.variable=e,this.props=s}},Ee=class extends O{constructor(e,s,i,r,n,o){super(l.TokenKind.Filter,i,r,n,o),this.name=e,this.args=s}},Dt=class extends O{constructor(e,s,i,r,n,o){super(l.TokenKind.Hash,e,s,i,o),this.input=e,this.begin=s,this.end=i,this.name=r,this.value=n,this.file=o}},Yi=/[\da-fA-F]/,Ls=/[0-7]/,Fs={b:"\b",f:"\f",n:`
10
+ `,r:"\r",t:" ",v:"\v"};function Os(t){let e=t.charCodeAt(0);return e>=97?e-87:e>=65?e-55:e-48}function Ji(t){let e="";for(let s=1;s<t.length-1;s++){if(t[s]!=="\\"){e+=t[s];continue}if(Fs[t[s+1]]!==void 0)e+=Fs[t[++s]];else if(t[s+1]==="u"){let i=0,r=s+2;for(;r<=s+5&&Yi.test(t[r]);)i=i*16+Os(t[r++]);s=r-1,e+=String.fromCharCode(i)}else if(!Ls.test(t[s+1]))e+=t[++s];else{let i=s+1,r=0;for(;i<=s+3&&Ls.test(t[i]);)r=r*8+Os(t[i++]);s=i-1,e+=String.fromCharCode(r)}}return e}var Et=class extends O{constructor(e,s,i,r){super(l.TokenKind.Quoted,e,s,i,r),this.input=e,this.begin=s,this.end=i,this.file=r,this.content=Ji(this.getText())}},Vt=class extends O{constructor(e,s,i,r,n,o){super(l.TokenKind.Range,e,s,i,o),this.input=e,this.begin=s,this.end=i,this.lhs=r,this.rhs=n,this.file=o}},Pt=class extends he{constructor(e,s,i,r,n){super(l.TokenKind.Tag,[s,i],e,s,i,!1,!1,n),this.tokenizer=new z(e,r.operators,n,this.contentRange),this.name=this.tokenizer.readTagName(),this.tokenizer.assert(this.name,"illegal liquid tag syntax"),this.tokenizer.skipBlank()}get args(){return this.tokenizer.input.slice(this.tokenizer.p,this.contentRange[1])}},Ct=class extends O{constructor(e,s,i,r,n,o){super(l.TokenKind.FilteredValue,i,r,n,o),this.initial=e,this.filters=s,this.input=i,this.begin=r,this.end=n,this.file=o}},Zi={now:()=>Date.now()};function $t(){return typeof global=="object"&&global.performance||typeof window=="object"&&window.performance||Zi}var jt=class{renderTemplatesToNodeStream(e,s){let i=new Ft;return Promise.resolve().then(()=>q(this.renderTemplates(e,s,i))).then(()=>i.end(),r=>i.error(r)),i.stream}*renderTemplates(e,s,i){i||(i=s.opts.keepOutputType?new Ot:new Ne),s.renderLimit.check($t().now());let r=[];for(let n of e){s.renderLimit.check($t().now());try{let o=yield n.render(s,i);if(o&&i.write(o),s.breakCalled||s.continueCalled)break}catch(o){let a=E.is(o)?o:new Oe(o,n);if(s.opts.catchAllErrors)r.push(a);else throw a}}if(r.length)throw new ve(r);return i.buffer}},Ve=class{constructor(e){this.postfix=[...Gi(e)]}*evaluate(e,s){_(e,"unable to evaluate: context not defined");let i=[];for(let r of this.postfix)if(Gt(r)){let n=i.pop(),o;if(Hi[r.operator]===1)o=yield e.opts.operators[r.operator](n,e);else{let a=i.pop();o=yield e.opts.operators[r.operator](a,n,e)}i.push(o)}else i.push(yield T(r,e,s));return i[0]}valid(){return!!this.postfix.length}};function*T(t,e,s=!1){if(t){if("content"in t)return t.content;if(pe(t))return yield Qi(t,e,s);if(Xt(t))return yield Ki(t,e)}}function*Qi(t,e,s){let i=[];for(let r of t.props)i.push(yield T(r,e,!1));try{if(t.variable){let r=yield T(t.variable,e,s);return yield e._getFromScope(r,i)}else return yield e._get(i)}catch(r){if(s&&r.name==="InternalUndefinedVariableError")return null;throw new ze(r,t)}}function Js(t){return t.content}function*Ki(t,e){let s=yield T(t.lhs,e),i=yield T(t.rhs,e);return e.memoryLimit.use(i-s+1),Cs(+s,+i+1)}function*Gi(t){let e=[];for(let s of t)if(Gt(s)){for(;e.length&&e[e.length-1].getPrecedence()>s.getPrecedence();)yield e.pop();e.push(s)}else yield s;for(;e.length;)yield e.pop()}function U(t,e){return!me(t,e)}function me(t,e){return t=m(t),e.opts.jsTruthy?!t:t===!1||t===void 0||t===null}var Zs={"==":$,"!=":(t,e)=>!$(t,e),">":(t,e)=>A(t)?t.gt(e):A(e)?e.lt(t):m(t)>m(e),"<":(t,e)=>A(t)?t.lt(e):A(e)?e.gt(t):m(t)<m(e),">=":(t,e)=>A(t)?t.geq(e):A(e)?e.leq(t):m(t)>=m(e),"<=":(t,e)=>A(t)?t.leq(e):A(e)?e.geq(t):m(t)<=m(e),contains:(t,e)=>(t=m(t),S(t)?t.some(s=>$(s,e)):x(t?.indexOf)?t.indexOf(m(e))>-1:!1),not:(t,e)=>me(m(t),e),and:(t,e,s)=>U(m(t),s)&&U(m(e),s),or:(t,e,s)=>U(m(t),s)||U(m(e),s)};function $(t,e){return A(t)?t.equals(e):A(e)?e.equals(t):(t=m(t),e=m(e),S(t)?S(e)&&Xi(t,e):t===e)}function Xi(t,e){return t.length!==e.length?!1:!t.some((s,i)=>!$(s,e[i]))}function er(t,e){return t.some(s=>$(s,e))}var re=class{constructor(e,s,i,r){this.key=e,this.value=s,this.next=i,this.prev=r}},Pe=class{constructor(e,s=0){this.limit=e,this.size=s,this.cache={},this.head=new re("HEAD",null,null,null),this.tail=new re("TAIL",null,null,null),this.head.next=this.tail,this.tail.prev=this.head}write(e,s){if(this.cache[e])this.cache[e].value=s;else{let i=new re(e,s,this.head.next,this.head);this.head.next.prev=i,this.head.next=i,this.cache[e]=i,this.size++,this.ensureLimit()}}read(e){if(!this.cache[e])return;let{value:s}=this.cache[e];return this.remove(e),this.write(e,s),s}remove(e){let s=this.cache[e];s.prev.next=s.next,s.next.prev=s.prev,delete this.cache[e],this.size--}clear(){this.head.next=this.tail,this.tail.prev=this.head,this.size=0,this.cache={}}ensureLimit(){this.size>this.limit&&this.remove(this.tail.prev.key)}},tr=t=>X.resolve(t,{paths:["."]}),sr=Kt(G.stat),ir=Kt(G.readFile);async function rr(t){try{return await sr(t),!0}catch{return!1}}function nr(t){return ir(t,"utf8")}function or(t){try{return G.statSync(t),!0}catch{return!1}}function ar(t){return G.readFileSync(t,"utf8")}function lr(t,e,s){return W.extname(e)||(e+=s),W.resolve(t,e)}function cr(t){try{return tr(t)}catch{}}function hr(t){return W.dirname(t)}var vs=Kt(G.realpath);async function ur(t,e){try{let s=await vs(t),i=await vs(e),r=s.endsWith(W.sep)?s:s+W.sep;return i.startsWith(r)}catch{return!1}}function fr(t,e){try{let s=G.realpathSync(t),i=G.realpathSync(e),r=s.endsWith(W.sep)?s:s+W.sep;return i.startsWith(r)}catch{return!1}}var dr=Object.freeze({__proto__:null,exists:rr,readFile:nr,existsSync:or,readFileSync:ar,resolve:lr,fallback:cr,dirname:hr,contains:ur,containsSync:fr,sep:W.sep});function pr(t,e,...s){return t=m(t),S(t)||d(t)?t.length?t:e:t===!1&&new Map(s).get("allow_false")?!1:me(t,this.context)?e:t}function zs(t,e=0){return JSON.stringify(t,null,e)}function gr(t,e=0){let s=[];return JSON.stringify(t,function(i,r){if(typeof r!="object"||r===null)return r;for(;s.length>0&&s[s.length-1]!==this;)s.pop();return s.includes(r)?"[Circular]":(s.push(r),r)},e)}function mr(t){return Number(t)}var yr={raw:!0,handler:js},Qs={default:pr,raw:yr,jsonify:zs,to_integer:mr,json:zs,inspect:gr},wr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&#34;","'":"&#39;"},br={"&amp;":"&","&lt;":"<","&gt;":">","&#34;":'"',"&#39;":"'"};function gt(t){return t=h(t),this.context.memoryLimit.use(t.length),t.replace(/&|<|>|"|'/g,e=>wr[e])}function kr(t){return gt.call(this,t)}function Tr(t){return t=h(t),this.context.memoryLimit.use(t.length),t.replace(/&(amp|lt|gt|#34|#39);/g,e=>br[e])}function xr(t){return gt.call(this,Tr.call(this,t))}function Sr(t){let e=h(t);return this.context.memoryLimit.use(e.length),e.replace(/\r?\n/gm,`<br />
11
+ `)}function _r(t){let e=h(t);this.context.memoryLimit.use(e.length);let s=new Map([["<script","</script>"],["<style","</style>"],["<!--","-->"],["<",">"]]),i="",r=0;for(;r<e.length;){let n=e.indexOf("<",r);if(n<0)return i+e.slice(r);i+=e.slice(r,n);for(let[o,a]of s){if(!e.startsWith(o,n))continue;let c=e.indexOf(a,n+o.length);if(c>=0){r=c+a.length;break}s.delete(o)}if(r===n)return i+e.slice(n)}return i}var Lr=Object.freeze({__proto__:null,escape:gt,xml_escape:kr,escape_once:xr,newline_to_br:Sr,strip_html:_r}),It=class{constructor(e){this.mapping=e,this.sep="/"}async exists(e){return this.existsSync(e)}existsSync(e){return!k(this.mapping[e])}async readFile(e){return this.readFileSync(e)}readFileSync(e){let s=this.mapping[e];if(k(s))throw new Error(`ENOENT: ${e}`);return s}dirname(e){let s=e.split(this.sep);return s.pop(),s.join(this.sep)}resolve(e,s,i){if(s+=i,e===".")return s;let r=e.split(/\/+/);for(let n of s.split(this.sep))n==="."||n===""||(n===".."?(r.length>1||r[0]!=="")&&r.pop():r.push(n));return r.join(this.sep)}},Q={root:["."],layouts:["."],partials:["."],relativeReference:!0,jekyllInclude:!1,keyValueSeparator:":",cache:void 0,extname:"",fs:dr,dynamicPartials:!0,jsTruthy:!1,dateFormat:"%A, %B %-e, %Y at %-l:%M %P %z",locale:"",trimTagRight:!1,trimTagLeft:!1,trimOutputRight:!1,trimOutputLeft:!1,greedy:!0,tagDelimiterLeft:"{%",tagDelimiterRight:"%}",outputDelimiterLeft:"{{",outputDelimiterRight:"}}",preserveTimezones:!1,strictFilters:!1,strictVariables:!1,ownPropertyOnly:!0,lenientIf:!1,globals:{},keepOutputType:!1,operators:Zs,memoryLimit:1/0,parseLimit:1/0,renderLimit:1/0};function Fr(t){if(t.hasOwnProperty("root")&&(t.hasOwnProperty("partials")||(t.partials=t.root),t.hasOwnProperty("layouts")||(t.layouts=t.root)),t.hasOwnProperty("cache")){let e;typeof t.cache=="number"?e=t.cache>0?new Pe(t.cache):void 0:typeof t.cache=="object"?e=t.cache:e=t.cache?new Pe(1024):void 0,t.cache=e}return t={...Q,...t.jekyllInclude?{dynamicPartials:!1}:{},...t},(!t.fs.dirname||!t.fs.sep)&&t.relativeReference&&(console.warn("[LiquidJS] `fs.dirname` and `fs.sep` are required for relativeReference, set relativeReference to `false` to suppress this warning"),t.relativeReference=!1),t.root=Se(t.root),t.partials=Se(t.partials),t.layouts=Se(t.layouts),t.outputEscape=t.outputEscape&&Or(t.outputEscape),t.locale||(t.locale=Ws()?.().resolvedOptions().locale??"en-US"),t.templates&&(t.fs=new It(t.templates),t.relativeReference=!0,t.root=t.partials=t.layouts="."),t}function Or(t){return t==="escape"?gt:t==="json"?Qs.json:(_(x(t),"`outputEscape` need to be of type string or function"),t)}function Se(t){let e=[];return S(t)&&(e=t),d(t)&&(e=[t]),e}function vr(t,e){let s=!1;for(let i=0;i<t.length;i++){let r=t[i];ei(r)&&(!s&&r.trimLeft&&zr(t[i-1],e.greedy),J(r)&&(r.name==="raw"?s=!0:r.name==="endraw"&&(s=!1)),!s&&r.trimRight&&Rr(t[i+1],e.greedy))}}function zr(t,e){if(!t||!mt(t))return;let s=e?te:Is;for(;w[t.input.charCodeAt(t.end-1-t.trimRight)]&s;)t.trimRight++}function Rr(t,e){if(!t||!mt(t))return;let s=e?te:Is;for(;w[t.input.charCodeAt(t.begin+t.trimLeft)]&s;)t.trimLeft++;t.input.charAt(t.begin+t.trimLeft)===`
12
+ `&&t.trimLeft++}var z=class{constructor(e,s=Q.operators,i,r){this.input=e,this.file=i,this.rawBeginAt=-1,this.p=r?r[0]:0,this.N=r?r[1]:e.length,this.opTrie=vt(s),this.literalTrie=vt(Bs)}readExpression(){return new Ve(this.readExpressionTokens())}*readExpressionTokens(){for(;this.p<this.N;){let e=this.readOperator();if(e){yield e;continue}let s=this.readValue();if(s){yield s;continue}return}}readOperator(){this.skipBlank();let e=this.matchTrie(this.opTrie);if(e!==-1)return new Mt(this.input,this.p,this.p=e,this.file)}matchTrie(e){let s=e,i=this.p,r;for(;s[this.input[i]]&&i<this.N;)s=s[this.input[i++]],s.end&&(r=s);return!r||r.needBoundary&&Te(this.peek(i-this.p))?-1:i}readFilteredValue(){let e=this.p,s=this.readExpression();this.assert(s.valid(),`invalid value expression: ${this.snapshot()}`);let i=this.readFilters();return new Ct(s,i,this.input,e,this.p,this.file)}readFilters(){let e=[];for(;;){let s=this.readFilter();if(!s)return e;e.push(s)}}readFilter(){if(this.skipBlank(),this.end())return null;this.assert(this.read()==="|",'expected "|" before filter');let e=this.readIdentifier();if(!e.size())return this.assert(this.end(),"expected filter name"),null;let s=[];if(this.skipBlank(),this.peek()===":")do{++this.p;let i=this.readFilterArg();i&&s.push(i),this.skipBlank(),this.assert(this.end()||this.peek()===","||this.peek()==="|",()=>`unexpected character ${this.snapshot()}`)}while(this.peek()===",");else if(!(this.peek()==="|"||this.end()))throw this.error('expected ":" after filter name');return new Ee(e.getText(),s,this.input,e.begin,this.p,this.file)}readFilterArg(){let e=this.readValue();if(!e)return;if(this.skipBlank(),this.peek()!==":")return e;++this.p;let s=this.readValue();return[e.getText(),s]}readTopLevelTokens(e=Q){let s=[];for(;this.p<this.N;){let i=this.readTopLevelToken(e);s.push(i)}return vr(s,e),s}readTopLevelToken(e){let{tagDelimiterLeft:s,outputDelimiterLeft:i}=e;return this.rawBeginAt>-1?this.readEndrawOrRawContent(e):this.match(s)?this.readTagToken(e):this.match(i)?this.readOutputToken(e):this.readHTMLToken([s,i])}readHTMLToken(e){let s=this.p;for(;this.p<this.N&&!e.some(i=>this.match(i));)++this.p;return new Me(this.input,s,this.p,this.file)}readTagToken(e){let{file:s,input:i}=this,r=this.p;if(this.readToDelimiter(e.tagDelimiterRight)===-1)throw this.error(`tag ${this.snapshot(r)} not closed`,r);let n=new ue(i,r,this.p,e,s);return n.name==="raw"&&(this.rawBeginAt=r),n}readToDelimiter(e,s=!1){for(this.skipBlank();this.p<this.N;){if(s&&this.peekType()&ks){this.readQuoted();continue}if(++this.p,this.rmatch(e))return this.p}return-1}readOutputToken(e=Q){let{file:s,input:i}=this,{outputDelimiterRight:r}=e,n=this.p;if(this.readToDelimiter(r,!0)===-1)throw this.error(`output ${this.snapshot(n)} not closed`,n);return new At(i,n,this.p,e,s)}readEndrawOrRawContent(e){let{tagDelimiterLeft:s,tagDelimiterRight:i}=e,r=this.p,n=this.readTo(s)-s.length;for(;this.p<this.N;){if(this.readIdentifier().getText()!=="endraw"){n=this.readTo(s)-s.length;continue}for(;this.p<=this.N;){if(this.rmatch(i)){let o=this.p;return r===n?(this.rawBeginAt=-1,new ue(this.input,r,o,e,this.file)):(this.p=n,new Me(this.input,r,n,this.file))}if(this.rmatch(s))break;this.p++}}throw this.error(`raw ${this.snapshot(this.rawBeginAt)} not closed`,r)}readLiquidTagTokens(e=Q){let s=[];for(;this.p<this.N;){let i=this.readLiquidTagToken(e);i&&s.push(i)}return s}readLiquidTagToken(e){if(this.skipBlank(),this.end())return;let s=this.p;this.readToDelimiter(`
13
+ `);let i=this.p;return new Pt(this.input,s,i,e,this.file)}error(e,s=this.p){return new Le(e,new ie(this.input,s,this.N,this.file))}assert(e,s,i){if(!e)throw this.error(typeof s=="function"?s():s,i)}snapshot(e=this.p){return JSON.stringify(Li(this.input.slice(e,this.N),32))}readWord(){return this.readIdentifier()}readIdentifier(){this.skipBlank();let e=this.p;for(;!this.end()&&Te(this.peek());)++this.p;return new ie(this.input,e,this.p,this.file)}readNonEmptyIdentifier(){let e=this.readIdentifier();return e.size()?e:void 0}readTagName(){return this.skipBlank(),this.input[this.p]==="#"?this.input.slice(this.p,++this.p):this.readIdentifier().getText()}readHashes(e){let s=[];for(;;){let i=this.readHash(e);if(!i)return s;s.push(i)}}readHash(e){this.skipBlank(),this.peek()===","&&++this.p;let s=this.p,i=this.readNonEmptyIdentifier();if(!i)return;let r;this.skipBlank();let n=d(e)?e:e?"=":":";return this.peek()===n&&(++this.p,r=this.readValue()),new Dt(this.input,s,this.p,i,r,this.file)}remaining(){return this.input.slice(this.p,this.N)}advance(e=1){this.p+=e}end(){return this.p>=this.N}read(){return this.input[this.p++]}readTo(e){for(;this.p<this.N;)if(++this.p,this.rmatch(e))return this.p;return-1}readValue(){this.skipBlank();let e=this.p,s=this.readLiteral()||this.readQuoted()||this.readRange()||this.readNumber(),i=this.readProperties(!s);return i.length?new De(s,i,this.input,e,this.p):s}readScopeValue(){this.skipBlank();let e=this.p,s=this.readProperties();if(s.length)return new De(void 0,s,this.input,e,this.p)}readProperties(e=!0){let s=[];for(;;){if(this.peek()==="["){this.p++;let i=this.readValue()||new ie(this.input,this.p,this.p,this.file);this.assert(this.readTo("]")!==-1,"[ not closed"),s.push(i);continue}if(e&&!s.length){let i=this.readNonEmptyIdentifier();if(i){s.push(i);continue}}if(this.peek()==="."&&this.peek(1)!=="."){this.p++;let i=this.readNonEmptyIdentifier();if(!i)break;s.push(i);continue}break}return s}readNumber(){this.skipBlank();let e=!1,s=!1,i=0;for(this.peekType()&Ni&&i++;this.p+i<=this.N;)if(this.peekType(i)&Ai)s=!0,i++;else if(this.peek(i)==="."&&this.peek(i+1)!=="."){if(e||!s)return;e=!0,i++}else break;if(s&&!Te(this.peek(i))){let r=new Nt(this.input,this.p,this.p+i,this.file);return this.advance(i),r}}readLiteral(){this.skipBlank();let e=this.matchTrie(this.literalTrie);if(e===-1)return;let s=new qt(this.input,this.p,e,this.file);return this.p=e,s}readRange(){this.skipBlank();let e=this.p;if(this.peek()!=="(")return;++this.p;let s=this.readValueOrThrow();this.skipBlank(),this.assert(this.read()==="."&&this.read()===".","invalid range syntax");let i=this.readValueOrThrow();return this.skipBlank(),this.assert(this.read()===")","invalid range syntax"),new Vt(this.input,e,this.p,s,i,this.file)}readValueOrThrow(){let e=this.readValue();return this.assert(e,()=>`unexpected token ${this.snapshot()}, value expected`),e}readQuoted(){this.skipBlank();let e=this.p;if(!(this.peekType()&ks))return;++this.p;let s=!1;for(;this.p<this.N&&(++this.p,!(this.input[this.p-1]===this.input[e]&&!s));)s?s=!1:this.input[this.p-1]==="\\"&&(s=!0);return new Et(this.input,e,this.p,this.file)}*readFileNameTemplate(e){let{outputDelimiterLeft:s}=e,i=[","," ","\r",`
14
+ `," ",s],r=new Set(i);for(;this.p<this.N&&!r.has(this.peek());)yield this.match(s)?this.readOutputToken(e):this.readHTMLToken(i)}match(e){for(let s=0;s<e.length;s++)if(e[s]!==this.input[this.p+s])return!1;return!0}rmatch(e){for(let s=0;s<e.length;s++)if(e[e.length-1-s]!==this.input[this.p-1-s])return!1;return!0}peekType(e=0){return this.p+e>=this.N?0:w[this.input.charCodeAt(this.p+e)]}peek(e=0){return this.p+e>=this.N?"":this.input[this.p+e]}skipBlank(){for(;this.peekType()&te;)++this.p}},Ce=class{constructor(e,s){this.handlers={},this.stopRequested=!1,this.tokens=e,this.parseToken=s}on(e,s){return this.handlers[e]=s,this}trigger(e,s){let i=this.handlers[e];return i?(i.call(this,s),!0):!1}start(){this.trigger("start");let e;for(;!this.stopRequested&&(e=this.tokens.shift());){if(this.trigger("token",e)||J(e)&&this.trigger(`tag:${e.name}`,e))continue;let s=this.parseToken(e,this.tokens);this.trigger("template",s)}return this.stopRequested||this.trigger("end"),this}stop(){return this.stopRequested=!0,this}},fe=class{constructor(e){this.token=e}},b=class extends fe{constructor(e,s,i){super(e),this.name=e.name,this.liquid=i,this.tokenizer=e.tokenizer}},j=class{constructor(e,s){this.hash={};let i=e instanceof z?e:new z(e,{});for(let r of i.readHashes(s))this.hash[r.name.content]=r.value}*render(e){let s={};for(let i of Object.keys(this.hash))s[i]=this.hash[i]===void 0?!0:yield T(this.hash[i],e);return s}};function Ar(t){return class extends b{constructor(e,s,i){super(e,s,i),x(t.parse)&&t.parse.call(this,e,s)}*render(e,s){let i=yield new j(this.token.args,e.opts.keyValueSeparator).render(e);return yield t.render.call(this,e,s,i)}}}function Ks(t){return S(t)}var de=class{constructor(e,s,i){this.token=e,this.name=e.name,this.handler=x(s)?s:x(s?.handler)?s.handler:js,this.raw=!x(s)&&!!s?.raw,this.args=e.args,this.liquid=i}*render(e,s){let i=[];for(let r of this.args)Ks(r)?i.push([r[0],yield T(r[1],s)]):i.push(yield T(r,s));return yield this.handler.apply({context:s,token:this.token,liquid:this.liquid},[e,...i])}},F=class{constructor(e,s){this.filters=[];let i=typeof e=="string"?new z(e,s.options.operators).readFilteredValue():e;this.initial=i.initial,this.filters=i.filters.map(r=>new de(r,this.getFilter(s,r.name),s))}*value(e,s){s=s||e.opts.lenientIf&&this.filters.length>0&&this.filters[0].name==="default";let i=yield this.initial.evaluate(e,s);for(let r of this.filters)i=yield r.render(i,e);return i}getFilter(e,s){let i=e.filters[s];return _(i||!e.options.strictFilters,()=>`undefined filter: ${s}`),i}},$e=class extends fe{constructor(e,s){super(e);let i=new z(e.input,s.options.operators,e.file,e.contentRange);this.value=new F(i.readFilteredValue(),s);let r=this.value.filters,n=s.options.outputEscape;if(!r[r.length-1]?.raw&&n){let o=new Ee(toString.call(n),[],"",0,0);r.push(new de(o,n,s))}}*render(e,s){let i=yield this.value.value(e,!1);s.write(i)}*arguments(){yield this.value}},Bt=class extends fe{constructor(e){super(e),this.str=e.getContent()}*render(e,s){s.write(this.str)}},H=class t{constructor(e,s){this.segments=e,this.location=s}toString(){return Ie(this.segments,!0)}toArray(){function*e(...s){for(let i of s)i instanceof t?yield Array.from(e(...i.segments)):yield i}return Array.from(e(...this.segments))}},ne=class{constructor(){this.map=new Map}get(e){let s=Ie([e.segments[0]]);return this.map.has(s)||this.map.set(s,[]),this.map.get(s)}has(e){return this.map.has(Ie([e.segments[0]]))}push(e){this.get(e).push(e)}asObject(){return Object.fromEntries(this.map)}},Gs={partials:!0};function*Xs(t,e,s){let i=new ne,r=new ne,n=new ne,o=new je(new Set),a=new Set;function c(u,p){i.push(u);let g=p.alias(u);if(g!==void 0){let y=g.segments[0];d(y)&&!o.has(y)&&r.push(g)}else{let y=u.segments[0];d(y)&&!p.has(y)&&r.push(u)}for(let y of u.segments)y instanceof H&&c(y,p)}function*f(u,p){if(u.arguments)for(let g of u.arguments())for(let y of Rs(g))c(y,p);if(u.localScope)for(let g of u.localScope()){p.add(g.content),p.deleteAlias(g.content);let[y,se]=g.getPosition();n.push(new H([g.content],{row:y,col:se,file:g.file}))}if(u.children)if(u.partialScope){let g=u.partialScope();if(g===void 0){for(let Z of yield u.children(e,s))yield f(Z,p);return}if(a.has(g.name))return;let y=new Set,se=g.isolated?new je(y):p.push(y);for(let Z of g.scope)if(d(Z))y.add(Z);else{let[ns,pi]=Z;y.add(ns);let os=Array.from(Rs(pi));os.length&&se.setAlias(ns,os[0].segments)}for(let Z of yield u.children(e,s))yield f(Z,se),a.add(g.name);se.pop()}else{u.blockScope&&p.push(new Set(u.blockScope()));for(let g of yield u.children(e,s))yield f(g,p);u.blockScope&&p.pop()}}for(let u of t)yield f(u,o);return{variables:i.asObject(),globals:r.asObject(),locals:n.asObject()}}function P(t,e={}){let s={...Gs,...e};return q(Xs(t,s.partials,!1))}function C(t,e={}){let s={...Gs,...e};return M(Xs(t,s.partials,!0))}var je=class{constructor(e){this.stack=[{names:e,aliases:new Map}]}has(e){for(let s of this.stack)if(s.names.has(e))return!0;return!1}push(e){return this.stack.push({names:e,aliases:new Map}),this}pop(){return this.stack.pop()?.names}add(e){this.stack[0].names.add(e)}alias(e){let s=e.segments[0];if(!d(s))return;let i=this.getAlias(s);if(i!==void 0)return new H([...i,...e.segments.slice(1)],e.location)}setAlias(e,s){this.stack[this.stack.length-1].aliases.set(e,s)}deleteAlias(e){this.stack[this.stack.length-1].aliases.delete(e)}getAlias(e){for(let s of this.stack){if(s.aliases.has(e))return s.aliases.get(e);if(s.names.has(e))return}}};function*Rs(t){v(t)?yield*ee(t):t instanceof F&&(yield*Nr(t))}function*Nr(t){for(let e of t.initial.postfix)v(e)&&(yield*ee(e));for(let e of t.filters)for(let s of e.args)Ks(s)&&s[1]?yield*ee(s[1]):v(s)&&(yield*ee(s))}function*ee(t){Xt(t)?(yield*ee(t.lhs),yield*ee(t.rhs)):pe(t)&&(yield Ut(t))}function Ut(t){let e=[],s=t.file,i=t.props[0];s=s||i.file,Be(i)||Ht(i)||Yt(i)?e.push(i.content):pe(i)&&e.push(...Ut(i).segments);for(let o of t.props.slice(1))s=s||o.file,Be(o)||Ht(o)||Yt(o)?e.push(o.content):pe(o)&&e.push(Ut(o));let[r,n]=t.getPosition();return new H(e,{row:r,col:n,file:s})}var As=/^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;function Ie(t,e=!1){let s=[],i=t[0];d(i)&&(!e||i.match(As)?s.push(`${i}`):s.push(`['${i}']`));for(let r of t.slice(1))r instanceof H?s.push(`[${Ie(r.segments)}]`):d(r)?r.match(As)?s.push(`.${r}`):s.push(`['${r}']`):s.push(`[${r}]`);return s.join("")}(function(t){t.Partials="partials",t.Layouts="layouts",t.Root="root"})(l.LookupType||(l.LookupType={}));var Wt=class{constructor(e){if(this.options=e,e.relativeReference){let i=e.fs.sep;_(i,"`fs.sep` is required for relative reference");let r=["."+i,".."+i,"./","../"];this.shouldLoadRelative=n=>r.some(o=>n.startsWith(o))}else this.shouldLoadRelative=i=>!1;let s=e.fs;this.contains=zt(s.contains?.bind(s)||(async()=>!0),s.containsSync?.bind(s)||(()=>!0)),this.exists=zt(s.exists?.bind(s)||(async()=>!1),s.existsSync?.bind(s))}*lookup(e,s,i,r){let n=this.options[s];for(let o of this.candidates(e,n,r)){let a=!1;for(let c of n)if(yield this.contains(!!i,c,o)){a=!0;break}if(a&&(yield this.exists(!!i,o)))return o}throw this.lookupError(e,n)}*candidates(e,s,i){let{fs:r,extname:n}=this.options;this.shouldLoadRelative(e)&&i&&(yield r.resolve(this.dirname(i),e,n));for(let o of s)yield r.resolve(o,e,n);if(r.fallback!==void 0){let o=r.fallback(e);o!==void 0&&(yield o)}}dirname(e){let s=this.options.fs;return _(s.dirname,"`fs.dirname` is required for relative reference"),s.dirname(e)}lookupError(e,s){let i=new Error("ENOENT");return i.message=`ENOENT: Failed to lookup "${e}" in "${s}"`,i.code="ENOENT",i}},N=class{constructor(e){this.liquid=e,this.cache=this.liquid.options.cache,this.fs=this.liquid.options.fs,this.parseFile=this.cache?this._parseFileCached:this._parseFile,this.loader=new Wt(this.liquid.options),this.parseLimit=new ce("parse length",e.options.parseLimit),this.readFile=zt(this.fs.readFile?.bind(this.fs)||(async()=>{throw new Error("readFile not implemented")}),this.fs.readFileSync?.bind(this.fs))}parse(e,s){e=String(e),this.parseLimit.use(e.length);let r=new z(e,this.liquid.options.operators,s).readTopLevelTokens(this.liquid.options);return this.parseTokens(r)}parseTokens(e){let s,i=[],r=[];for(;s=e.shift();)try{i.push(this.parseToken(s,e))}catch(n){if(this.liquid.options.catchAllErrors)r.push(n);else throw n}if(r.length)throw new ve(r);return i}parseToken(e,s){try{if(J(e)){let i=this.liquid.tags[e.name];return _(i,`tag "${e.name}" not found`),new i(e,s,this.liquid,this)}return ti(e)?new $e(e,this.liquid):new Bt(e)}catch(i){throw E.is(i)?i:new Fe(i,e)}}parseStream(e){return new Ce(e,(s,i)=>this.parseToken(s,i))}*_parseFileCached(e,s,i=l.LookupType.Root,r){let n=this.cache,o=this.loader.shouldLoadRelative(e)?r+","+e:i+":"+e,a=yield n.read(o);if(a)return a;let c=this._parseFile(e,s,i,r),f=s?yield c:q(c);n.write(o,f);try{return yield f}catch(u){throw n.remove(o),u}}*_parseFile(e,s,i=l.LookupType.Root,r){let n=yield this.loader.lookup(e,i,s,r);return this.parse(yield this.readFile(!!s,n),n)}};(function(t){t[t.Number=1]="Number",t[t.Literal=2]="Literal",t[t.Tag=4]="Tag",t[t.Output=8]="Output",t[t.HTML=16]="HTML",t[t.Filter=32]="Filter",t[t.Hash=64]="Hash",t[t.PropertyAccess=128]="PropertyAccess",t[t.Word=256]="Word",t[t.Range=512]="Range",t[t.Quoted=1024]="Quoted",t[t.Operator=2048]="Operator",t[t.FilteredValue=4096]="FilteredValue",t[t.Delimited=12]="Delimited"})(l.TokenKind||(l.TokenKind={}));function ei(t){return!!(R(t)&l.TokenKind.Delimited)}function Gt(t){return R(t)===l.TokenKind.Operator}function mt(t){return R(t)===l.TokenKind.HTML}function ti(t){return R(t)===l.TokenKind.Output}function J(t){return R(t)===l.TokenKind.Tag}function Be(t){return R(t)===l.TokenKind.Quoted}function qr(t){return R(t)===l.TokenKind.Literal}function Ht(t){return R(t)===l.TokenKind.Number}function pe(t){return R(t)===l.TokenKind.PropertyAccess}function Yt(t){return R(t)===l.TokenKind.Word}function Xt(t){return R(t)===l.TokenKind.Range}function v(t){return(R(t)&1667)>0}function R(t){return t?t.kind:-1}var Mr=Object.freeze({__proto__:null,isDelimitedToken:ei,isOperatorToken:Gt,isHTMLToken:mt,isOutputToken:ti,isTagToken:J,isQuotedToken:Be,isLiteralToken:qr,isNumberToken:Ht,isPropertyAccessToken:pe,isWordToken:Yt,isRangeToken:Xt,isValueToken:v}),Ue=function(){return Ue=Object.assign||function(e){for(var s,i=1,r=arguments.length;i<r;i++){s=arguments[i];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},Ue.apply(this,arguments)};function Y(t){let e=Object.create(null);return t&&Object.assign(e,t),e}var B=class t{constructor(e={},s=Q,i={},{memoryLimit:r,renderLimit:n}={}){this.scopes=[Y()],this.registers={},this.breakCalled=!1,this.continueCalled=!1,this.sync=!!i.sync,this.opts=s,this.globals=i.globals??s.globals,this.environments=dt(e)?e:Object(e),this.strictVariables=i.strictVariables??this.opts.strictVariables,this.ownPropertyOnly=i.ownPropertyOnly??s.ownPropertyOnly,this.memoryLimit=r??new ce("memory alloc",i.memoryLimit??s.memoryLimit),this.renderLimit=n??new ce("template render",$t().now()+(i.renderLimit??s.renderLimit))}getRegister(e,s=void 0){return this.registers[e]=this.registers[e]||s}setRegister(e,s){return this.registers[e]=s}saveRegister(...e){return e.map(s=>[s,this.getRegister(s)])}restoreRegister(e){return e.forEach(([s,i])=>this.setRegister(s,i))}getAll(){return[this.globals,this.environments,...this.scopes].reduce((e,s)=>Ue(e,s),{})}get(e){return this.getSync(e)}getSync(e){return M(this._get(e))}*_get(e){let s=this.findScope(e[0]);return yield this._getFromScope(s,e)}getFromScope(e,s){return M(this._getFromScope(e,s))}*_getFromScope(e,s,i=this.strictVariables){d(s)&&(s=s.split("."));for(let r=0;r<s.length;r++)if(e=yield this.readProperty(e,s[r]),i&&ki(e))throw new St(s.slice(0,r+1).join("."));return e}push(e){return this.scopes.push(e)}pop(){return this.scopes.pop()}bottom(){return this.scopes[0]}spawn(e={}){return new t(e,this.opts,{sync:this.sync,globals:this.globals,strictVariables:this.strictVariables,ownPropertyOnly:this.ownPropertyOnly},{renderLimit:this.renderLimit,memoryLimit:this.memoryLimit})}findScope(e){for(let s=this.scopes.length-1;s>=0;s--){let i=this.scopes[s];if(e in i)return i}return e in this.environments?this.environments:this.globals}readProperty(e,s){if(e=Vs(e),s=m(s),k(e))return e;if(S(e)&&s<0)return e[e.length+ +s];let i=Dr(e,s,this.ownPropertyOnly);return i===void 0&&e instanceof D?e.liquidMethodMissing(s,this):x(i)?i.call(e):s==="size"?Pr(e):s==="first"?Er(e):s==="last"?Vr(e):i}};function Dr(t,e,s){if(!(s&&!Qt.call(t,e)&&!(t instanceof D)))return t[e]}function Er(t){return S(t)?t[0]:t.first}function Vr(t){return S(t)?t[t.length-1]:t.last}function Pr(t){if(Qt.call(t,"size")||t.size!==void 0)return t.size;if(S(t)||d(t))return t.length;if(typeof t=="object")return Object.keys(t).length}var K;(function(t){t[t.OUTPUT=0]="OUTPUT",t[t.STORE=1]="STORE"})(K||(K={}));var Cr=V(Math.abs),$r=V(Math.max),jr=V(Math.min),Ir=V(Math.ceil),Br=V((t,e,s=!1)=>s?Math.floor(t/e):t/e),Ur=V(Math.floor),Wr=V((t,e)=>t-e),Hr=V((t,e)=>t+e),Yr=V((t,e)=>t%e),Jr=V((t,e)=>t*e);function Zr(t,e=0){t=xt(t),e=xt(e);let s=Math.pow(10,e),i=t*s;return Math.sign(t)*Math.round(Math.abs(i))/s}var Qr=Object.freeze({__proto__:null,abs:Cr,at_least:$r,at_most:jr,ceil:Ir,divided_by:Br,floor:Ur,minus:Wr,plus:Hr,modulo:Yr,times:Jr,round:Zr}),Kr=t=>decodeURIComponent(h(t)).replace(/\+/g," "),Gr=t=>encodeURIComponent(h(t)).replace(/%20/g,"+"),Xr=t=>encodeURIComponent(h(t)).replace(/%20/g,"+").replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase()),en=t=>encodeURI(h(t)).replace(/%5B/g,"[").replace(/%5D/g,"]"),Ns=/[^\p{M}\p{L}\p{Nd}]+/ug,tn={raw:/\s+/g,default:Ns,pretty:/[^\p{M}\p{L}\p{Nd}._~!$&'()+,;=@]+/ug,ascii:/[^A-Za-z0-9]+/g,latin:Ns,none:null};function sn(t,e="default",s=!1){t=h(t);let i=tn[e];return i&&(e==="latin"&&(t=rn(t)),t=t.replace(i,"-").replace(/^-|-$/g,"")),s?t:t.toLowerCase()}function rn(t){return t.replace(/[àáâãäå]/g,"a").replace(/[æ]/g,"ae").replace(/[ç]/g,"c").replace(/[èéêë]/g,"e").replace(/[ìíîï]/g,"i").replace(/[ð]/g,"d").replace(/[ñ]/g,"n").replace(/[òóôõöø]/g,"o").replace(/[ùúûü]/g,"u").replace(/[ýÿ]/g,"y").replace(/[ß]/g,"ss").replace(/[œ]/g,"oe").replace(/[þ]/g,"th").replace(/[ẞ]/g,"SS").replace(/[Œ]/g,"OE").replace(/[Þ]/g,"TH")}var nn=Object.freeze({__proto__:null,url_decode:Kr,url_encode:Gr,cgi_escape:Xr,uri_escape:en,slugify:sn}),on=pt(function(t,e){let s=L(t),i=k(e)?" ":h(e),r=s.length*(1+i.length);return this.context.memoryLimit.use(r),s.join(i)}),an=pt(t=>Ps(t)?xi(t):""),ln=pt(t=>Ps(t)?t[0]:""),cn=pt(function(t){let e=L(t);return this.context.memoryLimit.use(e.length),[...e].reverse()});function*si(t,e,s){let i=[],r=L(t);this.context.memoryLimit.use(r.length);for(let n of r)i.push([n,e?yield this.context._getFromScope(n,h(e).split("."),!1):n]);return i.sort((n,o)=>s(n[1],o[1])).map(n=>n[0])}function*hn(t,e){return yield*si.call(this,t,e,Fi)}function*un(t,e){return yield*si.call(this,t,e,Oi)}var fn=t=>t&&t.length||0;function*dn(t,e){let s=[],i=L(t);this.context.memoryLimit.use(i.length);for(let r of i)s.push(yield this.context._getFromScope(r,h(e),!1));return s}function*pn(t,e){let s=0,i=L(t);for(let r of i){let n=Number(e?yield this.context._getFromScope(r,h(e),!1):r);s+=Number.isNaN(n)?0:n}return s}function gn(t){let e=L(t);return this.context.memoryLimit.use(e.length),e.filter(s=>!k(m(s)))}function ii(t,e=[]){let s=L(t),i=L(e);return this.context.memoryLimit.use(s.length+i.length),s.concat(i)}function mn(t,e){return ii.call(this,t,[e])}function yn(t,e){let s=L(t);this.context.memoryLimit.use(s.length);let i=[...s];return i.unshift(e),i}function wn(t){let e=[...L(t)];return e.pop(),e}function bn(t){let e=L(t);this.context.memoryLimit.use(e.length);let s=[...e];return s.shift(),s}function kn(t,e,s=1){return t=m(t),k(t)?[]:(S(t)||(t=h(t)),e=e<0?t.length+e:e,this.context.memoryLimit.use(s),t.slice(e,e+s))}function ri(t){return this.context.opts.jekyllWhere?e=>ae.is(t)?$(e,t):S(e)?er(e,t):$(e,t):t===void 0?e=>U(e,this.context):e=>$(e,t)}function*ni(t,e,s,i){let r=[];e=L(e),this.context.memoryLimit.use(e.length);let n=new z(h(s)).readScopeValue();for(let a of e)r.push(yield T(n,this.context.spawn(a)));let o=ri.call(this,i);return e.filter((a,c)=>o(r[c])===t)}function*oi(t,e,s,i){let r=[],n=new F(h(i),this.liquid),o=L(e);this.context.memoryLimit.use(o.length);for(let a of o){this.context.push({[s]:a});let c=yield n.value(this.context);this.context.pop(),c===t&&r.push(a)}return r}function*Tn(t,e,s){return yield*ni.call(this,!0,t,e,s)}function*xn(t,e,s){return yield*ni.call(this,!1,t,e,s)}function*Sn(t,e,s){return yield*oi.call(this,!0,t,e,s)}function*_n(t,e,s){return yield*oi.call(this,!1,t,e,s)}function*Ln(t,e){let s=new Map;t=ge(t);let i=new z(h(e)).readScopeValue();this.context.memoryLimit.use(t.length);for(let r of t){let n=yield T(i,this.context.spawn(r));s.has(n)||s.set(n,[]),s.get(n).push(r)}return[...s.entries()].map(([r,n])=>({name:r,items:n}))}function*Fn(t,e,s){let i=new Map,r=new F(h(s),this.liquid);t=ge(t),this.context.memoryLimit.use(t.length);for(let n of t){this.context.push({[e]:n});let o=yield r.value(this.context);this.context.pop(),i.has(o)||i.set(o,[]),i.get(o).push(n)}return[...i.entries()].map(([n,o])=>({name:n,items:o}))}function*es(t,e,s){let i=new z(h(e)).readScopeValue(),r=L(t),n=ri.call(this,s);for(let o=0;o<r.length;o++){let a=yield T(i,this.context.spawn(r[o]));if(n(a))return[o,r[o]]}}function*ts(t,e,s){let i=new F(h(s),this.liquid),r=L(t);for(let n=0;n<r.length;n++){this.context.push({[e]:r[n]});let o=yield i.value(this.context);if(this.context.pop(),o)return[n,r[n]]}}function*On(t,e,s){return!!(yield*es.call(this,t,e,s))}function*vn(t,e,s){return!!(yield*ts.call(this,t,e,s))}function*zn(t,e,s){let i=yield*es.call(this,t,e,s);return i?i[0]:void 0}function*Rn(t,e,s){let i=yield*ts.call(this,t,e,s);return i?i[0]:void 0}function*An(t,e,s){let i=yield*es.call(this,t,e,s);return i?i[1]:void 0}function*Nn(t,e,s){let i=yield*ts.call(this,t,e,s);return i?i[1]:void 0}function qn(t){return t=L(t),this.context.memoryLimit.use(t.length),[...new Set(t)]}function Mn(t,e=1){if(t=m(t),k(t))return[];S(t)||(t=h(t)),this.context.memoryLimit.use(e);let s=[...t].sort(()=>Math.random()-.5);return e===1?s[0]:s.slice(0,e)}var Dn=Object.freeze({__proto__:null,join:on,last:an,first:ln,reverse:cn,sort:hn,sort_natural:un,size:fn,map:dn,sum:pn,compact:gn,concat:ii,push:mn,unshift:yn,pop:wn,shift:bn,slice:kn,where:Tn,reject:xn,where_exp:Sn,reject_exp:_n,group_by:Ln,group_by_exp:Fn,has:On,has_exp:vn,find_index:zn,find_index_exp:Rn,find:An,find_exp:Nn,uniq:qn,sample:Mn});function ss(t,e,s){let i=(t?.length??0)+(s?.length??0);this.context.memoryLimit.use(i);let r=li(t,this.context.opts,s);return r?(e=m(e),e=k(e)?this.context.opts.dateFormat:h(e),this.context.memoryLimit.use(e.length),xe(r,e,this.context.memoryLimit)):t}function En(t){return ss.call(this,t,"%Y-%m-%dT%H:%M:%S%:z")}function Vn(t){return ss.call(this,t,"%a, %d %b %Y %H:%M:%S %z")}function Pn(t,e,s){return ai.call(this,t,"%b",e,s)}function Cn(t,e,s){return ai.call(this,t,"%B",e,s)}function ai(t,e,s,i){let r=li(t,this.context.opts);if(!r)return t;let n=this.context.memoryLimit;if(s==="ordinal"){let o=r.getDate();return i==="US"?xe(r,`${e} ${o}%q, %Y`,n):xe(r,`${o}%q ${e} %Y`,n)}return xe(r,`%d ${e} %Y`,n)}function li(t,e,s){let i,r=s??e.timezoneOffset,n=e.locale;if(t=m(t),!k(t))return t==="now"||t==="today"?i=new I(Date.now(),n,r):ft(t)?i=new I(t*1e3,n,r):d(t)?/^\d+$/.test(t)?i=new I(+t*1e3,n,r):e.preserveTimezones&&s===void 0?i=I.createDateFixedToTimezone(t,n):i=new I(t,n,r):i=new I(t,n,r),i.valid()?i:void 0}var $n=Object.freeze({__proto__:null,date:ss,date_to_xmlschema:En,date_to_rfc822:Vn,date_to_string:Pn,date_to_long_string:Cn}),Tt=/[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu,qs=/[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;function jn(t,e){_(arguments.length===2,"append expect 2 arguments");let s=h(t),i=h(e);return this.context.memoryLimit.use(s.length+i.length),s+i}function In(t,e){_(arguments.length===2,"prepend expect 2 arguments");let s=h(t),i=h(e);return this.context.memoryLimit.use(s.length+i.length),i+s}function Bn(t,e){let s=h(t);if(this.context.memoryLimit.use(s.length),e){e=h(e),this.context.memoryLimit.use(e.length);for(let i=0,r=new Set(e);i<s.length;i++)if(!r.has(s[i]))return s.slice(i);return""}return s.trimStart()}function Un(t){let e=h(t);return this.context.memoryLimit.use(e.length),e.toLowerCase()}function Wn(t){let e=h(t);return this.context.memoryLimit.use(e.length),h(e).toUpperCase()}function Hn(t,e){let s=h(t);return e=h(e),this.context.memoryLimit.use(s.length+e.length),s.split(e).join("")}function Yn(t,e){let s=h(t);return e=h(e),this.context.memoryLimit.use(s.length+e.length),s.replace(e,"")}function Jn(t,e){let s=h(t),i=h(e);this.context.memoryLimit.use(s.length+i.length);let r=s.lastIndexOf(i);return r===-1?s:s.substring(0,r)+s.substring(r+i.length)}function Zn(t,e){if(t=h(t),this.context.memoryLimit.use(t.length),e){e=h(e),this.context.memoryLimit.use(e.length);for(let s=t.length-1,i=new Set(e);s>=0;s--)if(!i.has(t[s]))return t.slice(0,s+1);return""}return t.trimEnd()}function Qn(t,e){let s=h(t);this.context.memoryLimit.use(s.length);let i=s.split(h(e));for(;i.length&&i[i.length-1]==="";)i.pop();return i}function Kn(t,e){let s=h(t);if(this.context.memoryLimit.use(s.length),e){let i=new Set(h(e));this.context.memoryLimit.use(i.size);let r=0,n=s.length-1;for(;i.has(s[r]);)r++;for(;n>=r&&i.has(s[n]);)n--;return s.slice(r,n+1)}return s.trim()}function Gn(t){let e=h(t);return this.context.memoryLimit.use(e.length),e.replace(/\r?\n/gm,"")}function Xn(t){return t=h(t),this.context.memoryLimit.use(t.length),t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}function eo(t,e,s){let i=h(t);e=h(e),s=h(s);let r=i.split(e),n=i.length+(r.length-1)*(s.length-e.length);return this.context.memoryLimit.use(n),r.join(s)}function to(t,e,s){let i=h(t);return e=h(e),s=h(s),this.context.memoryLimit.use(i.length+e.length+s.length),i.replace(e,()=>s)}function so(t,e,s){let i=h(t),r=h(e),n=h(s);this.context.memoryLimit.use(i.length+r.length+n.length);let o=i.lastIndexOf(r);return o===-1?i:i.substring(0,o)+n+i.substring(o+r.length)}function io(t,e=50,s="..."){let i=h(t);return s=h(s),this.context.memoryLimit.use(i.length+s.length),i.length<=e?t:i.substring(0,e-s.length)+s}function ro(t,e=15,s="..."){let i=h(t);s=h(s),this.context.memoryLimit.use(i.length+s.length);let r=i.split(/\s+/);e<=0&&(e=1);let n=r.slice(0,e).join(" ");return r.length>=e&&(n+=s),n}function no(t){let e=h(t);return this.context.memoryLimit.use(e.length),e.replace(/\s+/g," ")}function oo(t,e){let s=h(t);if(this.context.memoryLimit.use(s.length),t=s.trim(),!t)return 0;switch(e){case"cjk":return(t.match(Tt)||[]).length+(t.match(qs)||[]).length;case"auto":return Tt.test(t)?t.match(Tt).length+(t.match(qs)||[]).length:t.split(/\s+/).length;default:return t.split(/\s+/).length}}function ao(t,e="and"){switch(e=h(e),this.context.memoryLimit.use(t.length+e.length),t.length){case 0:return"";case 1:return t[0];case 2:return`${t[0]} ${e} ${t[1]}`;default:return`${t.slice(0,-1).join(", ")}, ${e} ${t[t.length-1]}`}}var lo=Object.freeze({__proto__:null,append:jn,prepend:In,lstrip:Bn,downcase:Un,upcase:Wn,remove:Hn,remove_first:Yn,remove_last:Jn,rstrip:Zn,split:Qn,strip:Kn,strip_newlines:Gn,capitalize:Xn,replace:eo,replace_first:to,replace_last:so,truncate:io,truncatewords:ro,normalize_whitespace:no,number_of_words:oo,array_to_sentence_string:ao});function co(t){return Buffer.from(t,"utf8").toString("base64")}function ho(t){return Buffer.from(t,"base64").toString("utf8")}function uo(t){if(typeof Buffer<"u"&&Buffer.isBuffer(t))return this.context.memoryLimit.use(t.byteLength),t.toString("base64");let e=h(t);return this.context.memoryLimit.use(e.length),co(e)}function fo(t){let e=h(t);return this.context.memoryLimit.use(e.length),ho(e)}var po=Object.freeze({__proto__:null,base64_encode:uo,base64_decode:fo});function go(t){return Es.createHash("sha256").update(t,"utf8").digest("hex")}function mo(t,e){return Es.createHmac("sha256",e).update(t,"utf8").digest("hex")}function yo(t){let e=h(t);return this.context.memoryLimit.use(e.length),go(e)}function wo(t,e){let s=h(t),i=h(e);return this.context.memoryLimit.use(s.length+i.length),mo(s,i)}var bo=Object.freeze({__proto__:null,sha256:yo,hmac_sha256:wo}),ci={...Lr,...Qr,...nn,...Dn,...$n,...lo,...po,...bo,...Qs},We=class extends b{constructor(e,s,i){super(e,s,i),this.identifier=this.tokenizer.readIdentifier(),this.key=this.identifier.content,this.tokenizer.assert(this.key,"expected variable name"),this.tokenizer.skipBlank(),this.tokenizer.assert(this.tokenizer.peek()==="=",'expected "="'),this.tokenizer.advance(),this.value=new F(this.tokenizer.readFilteredValue(),this.liquid)}*render(e){e.bottom()[this.key]=yield this.value.value(e,this.liquid.options.lenientIf)}*arguments(){yield this.value}*localScope(){yield this.identifier}},Ms=["offset","limit","reversed"],He=class extends b{constructor(e,s,i,r){super(e,s,i);let n=this.tokenizer.readIdentifier(),o=this.tokenizer.readIdentifier(),a=this.tokenizer.readValue();if(!n.size()||o.content!=="in"||!a)throw new Error(`illegal tag: ${e.getText()}`);this.variable=n.content,this.collection=a,this.hash=new j(this.tokenizer,i.options.keyValueSeparator),this.templates=[],this.elseTemplates=[];let c,f=r.parseStream(s).on("start",()=>c=this.templates).on("tag:else",u=>{Ae(u.args),c=this.elseTemplates}).on("tag:endfor",u=>{Ae(u.args),f.stop()}).on("template",u=>c.push(u)).on("end",()=>{throw new Error(`tag ${e.getText()} not closed`)});f.start()}*render(e,s){let i=this.liquid.renderer,r=ge(yield T(this.collection,e));if(!r.length){yield i.renderTemplates(this.elseTemplates,e,s);return}let n="continue-"+this.variable+"-"+this.collection.getText();e.push(Y({continue:e.getRegister(n,{})}));let o=yield this.hash.render(e);e.pop(),r=(this.liquid.options.orderedFilterParameters?Object.keys(o).filter(f=>Ms.includes(f)):Ms.filter(f=>o[f]!==void 0)).reduce((f,u)=>u==="offset"?To(f,o.offset):u==="limit"?xo(f,o.limit):ko(f),r),e.setRegister(n,(o.offset||0)+r.length);let c=Y({forloop:new le(r.length,this.collection.getText(),this.variable)});e.push(c);for(let f of r){if(c[this.variable]=f,e.continueCalled=e.breakCalled=!1,yield i.renderTemplates(this.templates,e,s),e.breakCalled)break;c.forloop.next()}e.continueCalled=e.breakCalled=!1,e.pop()}*children(){let e=this.templates.slice();return this.elseTemplates&&e.push(...this.elseTemplates),e}*arguments(){yield this.collection;for(let e of Object.values(this.hash.hash))v(e)&&(yield e)}blockScope(){return[this.variable,"forloop"]}};function ko(t){return[...t].reverse()}function To(t,e){return t.slice(e)}function xo(t,e){return t.slice(0,e)}var Ye=class extends b{constructor(e,s,i,r){for(super(e,s,i),this.templates=[],this.identifier=this.readVariable(),this.variable=this.identifier.content;s.length;){let n=s.shift();if(J(n)&&n.name==="endcapture")return;this.templates.push(r.parseToken(n,s))}throw new Error(`tag ${e.getText()} not closed`)}readVariable(){let e=this.tokenizer.readIdentifier();if(e.content||(e=this.tokenizer.readQuoted(),e))return e;throw this.tokenizer.error("invalid capture name")}*render(e){let i=yield this.liquid.renderer.renderTemplates(this.templates,e);e.bottom()[this.variable]=i}*children(){return this.templates}*localScope(){yield this.identifier}},Je=class extends b{constructor(e,s,i,r){super(e,s,i),this.branches=[],this.elseTemplates=[],this.value=new F(this.tokenizer.readFilteredValue(),this.liquid),this.elseTemplates=[];let n=[],o=0,a=r.parseStream(s).on("tag:when",c=>{if(o>0)return;n=[];let f=[];for(;!c.tokenizer.end();)f.push(c.tokenizer.readValueOrThrow()),c.tokenizer.skipBlank(),c.tokenizer.peek()===","?c.tokenizer.readTo(","):c.tokenizer.readTo("or");this.branches.push({values:f,templates:n})}).on("tag:else",()=>{o++,n=this.elseTemplates}).on("tag:endcase",()=>a.stop()).on("template",c=>{(n!==this.elseTemplates||o===1)&&n.push(c)}).on("end",()=>{throw new Error(`tag ${e.getText()} not closed`)});a.start()}*render(e,s){let i=this.liquid.renderer,r=m(yield this.value.value(e,e.opts.lenientIf)),n=!1;for(let o of this.branches)for(let a of o.values){let c=yield T(a,e,e.opts.lenientIf);if($(r,c)){yield i.renderTemplates(o.templates,e,s),n=!0;break}}n||(yield i.renderTemplates(this.elseTemplates,e,s))}*arguments(){yield this.value,yield*this.branches.flatMap(e=>e.values)}*children(){let e=this.branches.flatMap(s=>s.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}},Ze=class extends b{constructor(e,s,i){for(super(e,s,i);s.length;){let r=s.shift();if(J(r)&&r.name==="endcomment")return}throw new Error(`tag ${e.getText()} not closed`)}render(){}},Qe=class extends b{constructor(e,s,i,r){super(e,s,i);let n=this.tokenizer;for(this.file=is(n,this.liquid,r),this.currentFile=e.file;!n.end();){n.skipBlank();let o=n.p,a=n.readIdentifier();if((a.content==="with"||a.content==="for")&&(n.skipBlank(),n.peek()!==":")){let c=n.readValue();if(c){let f=n.p,u=n.readIdentifier(),p;u.content==="as"?p=n.readIdentifier():n.p=f,this[a.content]={value:c,alias:p&&p.content},n.skipBlank(),n.peek()===","&&n.advance();continue}}n.p=o;break}this.hash=new j(n,i.options.keyValueSeparator)}*render(e,s){let{liquid:i,hash:r}=this,n=yield rs(this.file,e,i);_(n,()=>`illegal file path "${n}"`);let o=e.spawn(),a=o.bottom();if(Ue(a,yield r.render(e)),this.with){let{value:c,alias:f}=this.with;a[f||n]=yield T(c,e)}if(this.for){let{value:c,alias:f}=this.for,u=ge(yield T(c,e));a.forloop=new le(u.length,c.getText(),f);for(let p of u){a[f]=p;let g=yield i._parsePartialFile(n,o.sync,this.currentFile);yield i.renderer.renderTemplates(g,o,s),a.forloop.next()}}else{let c=yield i._parsePartialFile(n,o.sync,this.currentFile);yield i.renderer.renderTemplates(c,o,s)}}*children(e,s){return e&&d(this.file)?yield this.liquid._parsePartialFile(this.file,s,this.currentFile):[]}partialScope(){if(d(this.file)){let e=Object.keys(this.hash.hash);if(this.with){let{value:s,alias:i}=this.with;d(i)?e.push([i,s]):d(this.file)&&e.push([this.file,s])}if(this.for){let{value:s,alias:i}=this.for;d(i)?e.push([i,s]):d(this.file)&&e.push([this.file,s])}return{name:this.file,isolated:!0,scope:e}}}*arguments(){for(let e of Object.values(this.hash.hash))v(e)&&(yield e);if(this.with){let{value:e}=this.with;v(e)&&(yield e)}if(this.for){let{value:e}=this.for;v(e)&&(yield e)}}};function is(t,e,s){if(e.options.dynamicPartials){let n=t.readValue();if(t.assert(n,"illegal file path"),n.getText()==="none")return;if(Be(n)){let o=s.parse(Js(n));return Ds(o)}return n}let i=[...t.readFileNameTemplate(e.options)],r=Ds(s.parseTokens(i));return r==="none"?void 0:r}function Ds(t){return t.length===1&&mt(t[0].token)?t[0].token.getContent():t}function*rs(t,e,s){return typeof t=="string"?t:Array.isArray(t)?s.renderer.renderTemplates(t,e):yield T(t,e)}var Ke=class extends b{constructor(e,s,i,r){super(e,s,i);let{tokenizer:n}=e;this.file=is(n,this.liquid,r),this.currentFile=e.file;let o=n.p;n.readIdentifier().content==="with"?(n.skipBlank(),n.peek()!==":"?this.withVar=n.readValue():n.p=o):n.p=o,this.hash=new j(n,i.options.jekyllInclude||i.options.keyValueSeparator)}*render(e,s){let{liquid:i,hash:r,withVar:n}=this,{renderer:o}=i,a=yield rs(this.file,e,i);_(a,()=>`illegal file path "${a}"`);let c=e.saveRegister("blocks","blockMode");e.setRegister("blocks",{}),e.setRegister("blockMode",K.OUTPUT);let f=Y(yield r.render(e));n&&(f[a]=yield T(n,e));let u=yield i._parsePartialFile(a,e.sync,this.currentFile);e.push(e.opts.jekyllInclude?Y({include:f}):f),yield o.renderTemplates(u,e,s),e.pop(),e.restoreRegister(c)}*children(e,s){return e&&d(this.file)?yield this.liquid._parsePartialFile(this.file,s,this.currentFile):[]}partialScope(){if(d(this.file)){let e;return this.liquid.options.jekyllInclude?e=["include"]:(e=Object.keys(this.hash.hash),this.withVar&&e.push([this.file,this.withVar])),{name:this.file,isolated:!1,scope:e}}}*arguments(){yield*Object.values(this.hash.hash).filter(v),v(this.file)&&(yield this.file),v(this.withVar)&&(yield this.withVar)}},Ge=class extends b{constructor(e,s,i){super(e,s,i),this.identifier=this.tokenizer.readIdentifier(),this.variable=this.identifier.content}render(e,s){let i=e.environments;ft(i[this.variable])||(i[this.variable]=0),s.write(h(--i[this.variable]))}*localScope(){yield this.identifier}},Xe=class extends b{constructor(e,s,i){super(e,s,i),this.candidates=[];let r=this.tokenizer.readValue();for(this.tokenizer.skipBlank(),r&&(this.tokenizer.peek()===":"?(this.group=r,this.tokenizer.advance()):this.candidates.push(r));!this.tokenizer.end();){let n=this.tokenizer.readValue();n&&this.candidates.push(n),this.tokenizer.readTo(",")}this.tokenizer.assert(this.candidates.length,()=>`empty candidates: "${e.getText()}"`)}*render(e,s){let r=`cycle:${yield T(this.group,e)}:`+this.candidates.join(","),n=e.getRegister("cycle",{}),o=n[r];o===void 0&&(o=n[r]=0);let a=this.candidates[o];return o=(o+1)%this.candidates.length,n[r]=o,yield T(a,e)}*arguments(){yield*this.candidates,this.group&&(yield this.group)}},et=class extends b{constructor(e,s,i,r){super(e,s,i),this.branches=[];let n=[];r.parseStream(s).on("start",()=>this.branches.push({value:new F(e.tokenizer.readFilteredValue(),this.liquid),templates:n=[]})).on("tag:elsif",o=>{_(!this.elseTemplates,"unexpected elsif after else"),this.branches.push({value:new F(o.tokenizer.readFilteredValue(),this.liquid),templates:n=[]})}).on("tag:else",o=>{Ae(o.args),_(!this.elseTemplates,"duplicated else"),n=this.elseTemplates=[]}).on("tag:endif",function(o){Ae(o.args),this.stop()}).on("template",o=>n.push(o)).on("end",()=>{throw new Error(`tag ${e.getText()} not closed`)}).start()}*render(e,s){let i=this.liquid.renderer;for(let{value:r,templates:n}of this.branches){let o=yield r.value(e,e.opts.lenientIf);if(U(o,e)){yield i.renderTemplates(n,e,s);return}}yield i.renderTemplates(this.elseTemplates||[],e,s)}*children(){let e=this.branches.flatMap(s=>s.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}arguments(){return this.branches.map(e=>e.value)}},tt=class extends b{constructor(e,s,i){super(e,s,i),this.identifier=this.tokenizer.readIdentifier(),this.variable=this.identifier.content}render(e,s){let i=e.environments;ft(i[this.variable])||(i[this.variable]=0);let r=i[this.variable];i[this.variable]++,s.write(h(r))}*localScope(){yield this.identifier}},st=class extends b{constructor(e,s,i,r){super(e,s,i),this.file=is(this.tokenizer,this.liquid,r),this.currentFile=e.file,this.args=new j(this.tokenizer,i.options.keyValueSeparator),this.templates=r.parseTokens(s)}*render(e,s){let{liquid:i,args:r,file:n}=this,{renderer:o}=i;if(n===void 0){e.setRegister("blockMode",K.OUTPUT),yield o.renderTemplates(this.templates,e,s);return}let a=yield rs(this.file,e,i);_(a,()=>`illegal file path "${a}"`);let c=yield i._parseLayoutFile(a,e.sync,this.currentFile);e.setRegister("blockMode",K.STORE);let f=yield o.renderTemplates(this.templates,e),u=e.getRegister("blocks",{});u[""]===void 0&&(u[""]=(p,g)=>g.write(f)),e.setRegister("blockMode",K.OUTPUT),e.push(Y(yield r.render(e))),yield o.renderTemplates(c,e,s),e.pop()}*children(e){let s=this.templates.slice();return e&&d(this.file)&&s.push(...yield this.liquid._parsePartialFile(this.file,!0,this.currentFile)),s}*arguments(){for(let e of Object.values(this.args.hash))v(e)&&(yield e);v(this.file)&&(yield this.file)}partialScope(){if(d(this.file))return{name:this.file,isolated:!1,scope:Object.keys(this.args.hash)}}},it=class extends b{constructor(e,s,i,r){super(e,s,i),this.templates=[];let n=/\w+/.exec(e.args);for(this.block=n?n[0]:"";s.length;){let o=s.shift();if(J(o)&&o.name==="endblock")return;let a=r.parseToken(o,s);this.templates.push(a)}throw new Error(`tag ${e.getText()} not closed`)}*render(e,s){let i=this.getBlockRender(e);e.getRegister("blockMode")===K.STORE?e.getRegister("blocks",{})[this.block]=i:yield i(new qe,s)}getBlockRender(e){let s=this,{liquid:i,templates:r}=this,n=e.getRegister("blocks",{})[this.block],o=function*(a,c){let f=e.getRegister("blockStack",[]);if(f.includes(s))throw new Error("block tag cannot be nested");f.push(s),e.push(Y({block:a})),yield i.renderer.renderTemplates(r,e,c),e.pop(),f.pop()};return n?(a,c)=>n(new qe(f=>o(a,f)),c):o}*children(){return this.templates}blockScope(){return["block"]}},rt=class extends b{constructor(e,s,i){for(super(e,s,i),this.tokens=[];s.length;){let r=s.shift();if(J(r)&&r.name==="endraw")return;this.tokens.push(r)}throw new Error(`tag ${e.getText()} not closed`)}render(){return this.tokens.map(e=>e.getText()).join("")}},Jt=class extends le{constructor(e,s,i,r){super(e,i,r),this.length=e,this.cols=s}row(){return Math.floor(this.i/this.cols)+1}col0(){return this.i%this.cols}col(){return this.col0()+1}col_first(){return this.col0()===0}col_last(){return this.col()===this.cols}},nt=class extends b{constructor(e,s,i,r){super(e,s,i);let n=this.tokenizer.readIdentifier();this.tokenizer.skipBlank();let o=this.tokenizer.readIdentifier(),a=this.tokenizer.readValue();if(o.content!=="in"||!a)throw new Error(`illegal tag: ${e.getText()}`);this.variable=n.content,this.collection=a,this.args=new j(this.tokenizer,i.options.keyValueSeparator),this.templates=[];let c,f=r.parseStream(s).on("start",()=>c=this.templates).on("tag:endtablerow",()=>f.stop()).on("template",u=>c.push(u)).on("end",()=>{throw new Error(`tag ${e.getText()} not closed`)});f.start()}*render(e,s){let i=ge(yield T(this.collection,e)),r=yield this.args.render(e),n=r.offset||0,o=r.limit===void 0?i.length:r.limit;i=i.slice(n,n+o);let a=r.cols||i.length,c=this.liquid.renderer,f=new Jt(i.length,a,this.collection.getText(),this.variable),u=Y({tablerowloop:f});e.push(u);for(let p=0;p<i.length;p++,f.next())u[this.variable]=i[p],f.col0()===0&&(f.row()!==1&&s.write("</tr>"),s.write(`<tr class="row${f.row()}">`)),s.write(`<td class="col${f.col()}">`),yield c.renderTemplates(this.templates,e,s),s.write("</td>");i.length&&s.write("</tr>"),e.pop()}*children(){return this.templates}*arguments(){yield this.collection;for(let e of Object.values(this.args.hash))v(e)&&(yield e)}blockScope(){return[this.variable,"tablerowloop"]}},ot=class extends b{constructor(e,s,i,r){super(e,s,i),this.branches=[],this.elseTemplates=[];let n=[],o=0;r.parseStream(s).on("start",()=>this.branches.push({value:new F(e.tokenizer.readFilteredValue(),this.liquid),test:me,templates:n=[]})).on("tag:elsif",a=>{if(o>0){n=[];return}this.branches.push({value:new F(a.tokenizer.readFilteredValue(),this.liquid),test:U,templates:n=[]})}).on("tag:else",()=>{o++,n=this.elseTemplates}).on("tag:endunless",function(){this.stop()}).on("template",a=>{(n!==this.elseTemplates||o===1)&&n.push(a)}).on("end",()=>{throw new Error(`tag ${e.getText()} not closed`)}).start()}*render(e,s){let i=this.liquid.renderer;for(let{value:r,test:n,templates:o}of this.branches){let a=yield r.value(e,e.opts.lenientIf);if(n(a,e)){yield i.renderTemplates(o,e,s);return}}yield i.renderTemplates(this.elseTemplates,e,s)}*children(){let e=this.branches.flatMap(s=>s.templates);return this.elseTemplates&&e.push(...this.elseTemplates),e}arguments(){return this.branches.map(e=>e.value)}},at=class extends b{render(e,s){e.breakCalled=!0}},lt=class extends b{render(e,s){e.continueCalled=!0}},ct=class extends b{constructor(e,s,i){super(e,s,i),this.tokenizer.skipBlank(),this.tokenizer.end()||(this.value=new F(this.tokenizer.readFilteredValue(),this.liquid))}*render(e,s){if(!this.value)return;let i=yield this.value.value(e,!1);s.write(i)}*arguments(){this.value&&(yield this.value)}},ht=class extends b{constructor(e,s,i,r){super(e,s,i);let n=this.tokenizer.readLiquidTagTokens(this.liquid.options);this.templates=r.parseTokens(n)}*render(e,s){yield this.liquid.renderer.renderTemplates(this.templates,e,s)}*children(){return this.templates}},ut=class extends b{constructor(e,s,i){if(super(e,s,i),e.args.search(/\n\s*[^#\s]/g)!==-1)throw new Error("every line of an inline comment must start with a '#' character")}render(){}},hi={assign:We,for:He,capture:Ye,case:Je,comment:Ze,include:Ke,render:Qe,decrement:Ge,increment:tt,cycle:Xe,if:et,layout:st,block:it,raw:rt,tablerow:nt,unless:ot,break:at,continue:lt,echo:ct,liquid:ht,"#":ut},Zt=class t{constructor(e={}){this.renderer=new jt,this.filters=Object.create(null),this.tags=Object.create(null),this.options=Fr(e),this.parser=new N(this),ws(hi,(s,i)=>this.registerTag(i,s)),ws(ci,(s,i)=>this.registerFilter(i,s))}parse(e,s){return new N(this).parse(e,s)}_render(e,s,i){let r=s instanceof B?s:new B(s,this.options,i);return this.renderer.renderTemplates(e,r)}async render(e,s,i){return q(this._render(e,s,{...i,sync:!1}))}renderSync(e,s,i){return M(this._render(e,s,{...i,sync:!0}))}renderToNodeStream(e,s,i={}){let r=new B(s,this.options,i);return this.renderer.renderTemplatesToNodeStream(e,r)}_parseAndRender(e,s,i){let r=this.parse(e);return this._render(r,s,i)}async parseAndRender(e,s,i){return q(this._parseAndRender(e,s,{...i,sync:!1}))}parseAndRenderSync(e,s,i){return M(this._parseAndRender(e,s,{...i,sync:!0}))}_parsePartialFile(e,s,i){return new N(this).parseFile(e,s,l.LookupType.Partials,i)}_parseLayoutFile(e,s,i){return new N(this).parseFile(e,s,l.LookupType.Layouts,i)}_parseFile(e,s,i,r){return new N(this).parseFile(e,s,i,r)}async parseFile(e,s){return q(new N(this).parseFile(e,!1,s))}parseFileSync(e,s){return M(new N(this).parseFile(e,!0,s))}*_renderFile(e,s,i){let r=yield this._parseFile(e,i.sync,i.lookupType);return yield this._render(r,s,i)}async renderFile(e,s,i){return q(this._renderFile(e,s,{...i,sync:!1}))}renderFileSync(e,s,i){return M(this._renderFile(e,s,{...i,sync:!0}))}async renderFileToNodeStream(e,s,i){let r=await this.parseFile(e);return this.renderToNodeStream(r,s,i)}_evalValue(e,s){let i=new F(e,this),r=s instanceof B?s:new B(s,this.options);return i.value(r)}async evalValue(e,s){return q(this._evalValue(e,s))}evalValueSync(e,s){return M(this._evalValue(e,s))}registerFilter(e,s){this.filters[e]=s}registerTag(e,s){this.tags[e]=x(s)?s:Ar(s)}plugin(e){return e.call(this,t)}express(){let e=this,s=!0;return function(i,r,n){if(s){s=!1;let o=Se(this.root);e.options.root.unshift(...o),e.options.layouts.unshift(...o),e.options.partials.unshift(...o)}e.renderFile(i,r).then(o=>n(null,o),n)}}async analyze(e,s={}){return P(e,s)}analyzeSync(e,s={}){return C(e,s)}async parseAndAnalyze(e,s,i={}){return P(this.parse(e,s),i)}parseAndAnalyzeSync(e,s,i={}){return C(this.parse(e,s),i)}async variables(e,s={}){let i=await P(d(e)?this.parse(e):e,s);return Object.keys(i.variables)}variablesSync(e,s={}){let i=C(d(e)?this.parse(e):e,s);return Object.keys(i.variables)}async fullVariables(e,s={}){let i=await P(d(e)?this.parse(e):e,s);return Array.from(new Set(Object.values(i.variables).flatMap(r=>r.map(n=>String(n)))))}fullVariablesSync(e,s={}){let i=C(d(e)?this.parse(e):e,s);return Array.from(new Set(Object.values(i.variables).flatMap(r=>r.map(n=>String(n)))))}async variableSegments(e,s={}){let i=await P(d(e)?this.parse(e):e,s);return Array.from(ke(Object.values(i.variables).flatMap(r=>r.map(n=>n.toArray()))))}variableSegmentsSync(e,s={}){let i=C(d(e)?this.parse(e):e,s);return Array.from(ke(Object.values(i.variables).flatMap(r=>r.map(n=>n.toArray()))))}async globalVariables(e,s={}){let i=await P(d(e)?this.parse(e):e,s);return Object.keys(i.globals)}globalVariablesSync(e,s={}){let i=C(d(e)?this.parse(e):e,s);return Object.keys(i.globals)}async globalFullVariables(e,s={}){let i=await P(d(e)?this.parse(e):e,s);return Array.from(new Set(Object.values(i.globals).flatMap(r=>r.map(n=>String(n)))))}globalFullVariablesSync(e,s={}){let i=C(d(e)?this.parse(e):e,s);return Array.from(new Set(Object.values(i.globals).flatMap(r=>r.map(n=>String(n)))))}async globalVariableSegments(e,s={}){let i=await P(d(e)?this.parse(e):e,s);return Array.from(ke(Object.values(i.globals).flatMap(r=>r.map(n=>n.toArray()))))}globalVariableSegmentsSync(e,s={}){let i=C(d(e)?this.parse(e):e,s);return Array.from(ke(Object.values(i.globals).flatMap(r=>r.map(n=>n.toArray()))))}},So="10.27.0";l.AssertionError=Re;l.AssignTag=We;l.BlockTag=it;l.BreakTag=at;l.CaptureTag=Ye;l.CaseTag=Je;l.CommentTag=Ze;l.Context=B;l.ContinueTag=lt;l.CycleTag=Xe;l.DecrementTag=Ge;l.Drop=D;l.EchoTag=ct;l.Expression=Ve;l.Filter=de;l.ForTag=He;l.Hash=j;l.IfTag=et;l.IncludeTag=Ke;l.IncrementTag=tt;l.InlineCommentTag=ut;l.LayoutTag=st;l.Liquid=Zt;l.LiquidError=E;l.LiquidTag=ht;l.Output=$e;l.ParseError=Fe;l.ParseStream=Ce;l.Parser=N;l.RawTag=rt;l.RenderError=Oe;l.RenderTag=Qe;l.TablerowTag=nt;l.Tag=b;l.TagToken=ue;l.Token=O;l.TokenizationError=Le;l.Tokenizer=z;l.TypeGuards=Mr;l.UndefinedVariableError=ze;l.UnlessTag=ot;l.Value=F;l.Variable=H;l.analyze=P;l.analyzeSync=C;l.assert=_;l.createTrie=vt;l.defaultOperators=Zs;l.defaultOptions=Q;l.evalQuotedToken=Js;l.evalToken=T;l.filters=ci;l.isFalsy=me;l.isTruthy=U;l.tags=hi;l.toPromise=q;l.toValue=m;l.toValueSync=M;l.version=So});ye();var di=mi(ui());function fi(t,e){let s=new di.Liquid;return s.render(s.parse(t),e)}async function Ao(t,e,s){ms(gs`Copying template from directory ${kt.path(t)} to ${kt.path(e)}`);let i=await ds(we(t,"**/*"),{dot:!0}),r=we(t,".cli-liquid-bypass"),n=[];await fs(r)&&(n=(await wt(r)).split(`
15
+ `).filter(a=>a.trim().length>0));let o=i.map(a=>a.split("/")).sort((a,c)=>a.length<c.length?1:-1).map(a=>a.join("/"));await Promise.all(o.map(async a=>{let c=await fi(we(e,yt(t,a)),s),f=n.some(u=>{let p=yt(t,a),g=u.replace(/^\.\//,"");return ps(p,g)||p.startsWith(g)});if(await cs(a))await bt(c);else if(a.endsWith(".liquid")&&!f){await bt(as(c));let u=await wt(a),p=await fi(u,s),g=await us(a),y=c.replace(".liquid","");await be(a,y),await ls(y,p),g&&await hs(y,493)}else if(a.endsWith(".raw")){let u=c.replace(".raw","");await be(a,u)}else await be(a,c)}))}export{fi as a,Ao as b};
@@ -0,0 +1,25 @@
1
+ import{a as A,b as S,c as E,d as i,e as k,f as F,g as L,h as M,i as _}from"./chunk-S5FOQY35.js";import{a as I}from"./chunk-UZARYOLN.js";import{a as b}from"./chunk-YESGYUEL.js";import{aa as P,wa as T}from"./chunk-ZZRFG6ME.js";import{f as l}from"./chunk-YEVGLC5X.js";import{D as p,F as g,J as v}from"./chunk-YFINLODF.js";import{a as G}from"./chunk-CTNBSUVU.js";import{Bb as u,Db as w,yb as h}from"./chunk-VFM2KQRM.js";import{j as y}from"./chunk-773TIA5M.js";import{e as q,g as a}from"./chunk-VKWPEFWQ.js";a();a();a();a();async function H(e,t,r){let o={api_version:t},{webhookTopics:s}=await e.topics(o,r);return s}a();async function V(e){let t=e.map(o=>({label:o,value:o}));return await g({message:"Webhook Topic",choices:t})}async function C(e){return p({message:"Webhook ApiVersion",choices:e.map(t=>({label:t,value:t}))})}async function R(){return p({message:"Delivery method",choices:[{label:"HTTP",value:i.HTTP},{label:"Google Pub/Sub",value:i.PUBSUB},{label:"Amazon EventBridge",value:i.EVENTBRIDGE}]})}async function D(e){return(await v({message:"Address for delivery",validate:r=>{let o=r.trim();if(o.length===0)return"Address can't be empty";if(!k(o,e))return`Invalid address.
2
+ ${d(e)}`}})).trim()}function U(e){return e===i.HTTP?["For remote HTTP testing, use a URL that starts with https://","For local HTTP testing, use http://localhost:{port}/{url-path}"]:e===i.PUBSUB?["For Google Pub/Sub, use pubsub://{project-id}:{topic-id}"]:e===i.EVENTBRIDGE?["For Amazon EventBridge, use an Amazon Resource Name (ARN) starting with arn:aws:events:"]:[]}function d(e){return U(e).map(t=>` \xB7 ${w(t)}`).join(`
3
+ `)}async function x(e,t){let{clientSecret:r,clientId:o,remoteApp:s,app:c}=e;return r&&(o||t!==i.EVENTBRIDGE)?{clientSecret:r,apiKey:o}:(P({appName:s.title,configFile:y(c.configPath)}),{clientSecret:s.apiSecretKeys.find(f=>f.secret).secret,apiKey:s.apiKey})}async function O(e,t,r){let o=await A(e,r);return t?L(t,o):C(o)}async function B(e,t,r,o){let s=await H(e,t,o);return r?M(r,t,s):V(s)}async function N(e,t){let r=e??_(t)??await R(),o=t??await D(r);return F(o,r)}async function Y(e){let t=await W(e);await z(t)}async function W(e){let t=await O(e.developerPlatformClient,e.apiVersion,e.organizationId),r=await B(e.developerPlatformClient,t,e.topic,e.organizationId),[o,s]=await N(e.deliveryMethod,e.address),c=await x(e,s);return{topic:r,apiVersion:t,deliveryMethod:s,address:o,apiKey:c.apiKey,clientSecret:c.clientSecret,developerPlatformClient:e.developerPlatformClient,organizationId:e.organizationId}}async function z(e){let t={topic:e.topic,api_version:e.apiVersion,address:e.address,delivery_method:e.deliveryMethod,shared_secret:e.clientSecret,api_key:e.apiKey},r=await S(e.developerPlatformClient,t,e.organizationId);if(!r.success){u(`Request errors:
4
+ ${K(r.userErrors)}`);return}if(e.deliveryMethod===i.LOCALHOST){if(await E(e.address,r.samplePayload,r.headers)){h("Localhost delivery sucessful");return}u("Localhost delivery failed");return}r.samplePayload===JSON.stringify({})&&h("Webhook has been enqueued for delivery")}function K(e){try{return e.map(t=>JSON.parse(t.message).map(r=>` \xB7 ${r}`).join(`
5
+ `)).join(`
6
+ `)}catch{return JSON.stringify(e)}}var n=q(G(),1);var m=class e extends I{static summary="Trigger delivery of a sample webhook topic payload to a designated address.";static descriptionWithMarkdown=`
7
+ Triggers the delivery of a sample Admin API event topic payload to a designated address.
8
+
9
+ You should use this command to experiment with webhooks, to initially test your webhook configuration, or for unit testing. However, to test your webhook configuration from end to end, you should always trigger webhooks by performing the related action in Shopify.
10
+
11
+ Because most webhook deliveries use remote endpoints, you can trigger the command from any directory where you can use Shopify CLI, and send the webhook to any of the supported endpoint types. For example, you can run the command from your app's local directory, but send the webhook to a staging environment endpoint.
12
+
13
+ To learn more about using webhooks in a Shopify app, refer to [Webhooks overview](https://shopify.dev/docs/apps/webhooks).
14
+
15
+ ### Limitations
16
+
17
+ - Webhooks triggered using this method always have the same payload, so they can't be used to test scenarios that differ based on the payload contents.
18
+ - Webhooks triggered using this method aren't retried when they fail.
19
+ - Trigger requests are rate-limited using the [Partner API rate limit](https://shopify.dev/docs/api/partner#rate_limits).
20
+ - You can't use this method to validate your API webhook subscriptions.
21
+ `;static description=this.descriptionWithoutMarkdown();static flags={...b,help:n.Flags.help({required:!1,hidden:!1,env:"SHOPIFY_FLAG_HELP",description:"This help. When you run the trigger command the CLI will prompt you for any information that isn't passed using flags."}),topic:l(n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_TOPIC",description:"The requested webhook topic."})),"api-version":l(n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_API_VERSION",description:"The API Version of the webhook topic."})),"delivery-method":n.Flags.string({required:!1,hidden:!1,options:[i.HTTP,i.PUBSUB,i.EVENTBRIDGE],env:"SHOPIFY_FLAG_DELIVERY_METHOD",description:"Method chosen to deliver the topic payload. If not passed, it's inferred from the address."}),"client-secret":n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_CLIENT_SECRET",description:"Your app's client secret. This secret allows us to return the X-Shopify-Hmac-SHA256 header that lets you validate the origin of the response that you receive."}),address:l(n.Flags.string({required:!1,hidden:!1,env:"SHOPIFY_FLAG_ADDRESS",description:`The URL where the webhook payload should be sent.
22
+ You will need a different address type for each delivery-method:
23
+ ${d(i.HTTP)}
24
+ ${d(i.PUBSUB)}
25
+ ${d(i.EVENTBRIDGE)}`}))};async run(){let{flags:t}=await this.parse(e),r=await T({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),o={...r,topic:t.topic,apiVersion:t["api-version"],deliveryMethod:t["delivery-method"],address:t.address,clientId:t["client-id"],clientSecret:t["client-secret"],path:t.path,config:t.config,organizationId:r.organization.id};return await Y(o),{app:r.app}}};export{m as a};
@@ -0,0 +1,15 @@
1
+ import{a as P}from"./chunk-NQK2VCDA.js";import{c as I,i as _,n as k}from"./chunk-YKL3BLWC.js";import{a as O}from"./chunk-NBFMP5XQ.js";import{b as S,m as b}from"./chunk-5SEEDOQ5.js";import{j as g,k as T,l as L,p as R,v as q}from"./chunk-GNBRCK7L.js";import{b as E}from"./chunk-YEVGLC5X.js";import{Aa as x}from"./chunk-3JXPOOFV.js";import{a as v}from"./chunk-VASGXHYA.js";import{h as a}from"./chunk-BWJIZYAG.js";import{a as V}from"./chunk-CTNBSUVU.js";import{Ab as c,qb as l,sb as d,xb as o}from"./chunk-VFM2KQRM.js";import{e as U,g as r}from"./chunk-VKWPEFWQ.js";r();r();r();var m=class extends O{context="REPL";constructor(t){super(t),this.themeId=g()}async create(t,n){let s=await super.create(t,n);return await this.uploadThemeAssets(s),s}async findOrCreate(){let t=await this.fetch();if(!t){let n=`Liquid Console (${v})`;t=await this.create(S,n)}return t}setTheme(t){T(t)}removeTheme(){L()}async uploadThemeAssets(t){let n=[{key:"config/settings_data.json",value:"{}"},{key:"config/settings_schema.json",value:"[]"},{key:"snippets/eval.liquid",value:""},{key:"layout/password.liquid",value:"{{ content_for_header }}{{ content_for_layout }}"},{key:"layout/theme.liquid",value:"{{ content_for_header }}{{ content_for_layout }}"},{key:"sections/announcement-bar.liquid",value:""},{key:"templates/index.json",value:JSON.stringify({sections:{announcement:{type:"announcement-bar",settings:{}}},order:["announcement"]})}];await b(t.id,n,this.adminSession)}};r();r();async function A(e){return await G(e)??await $(e)??await H(e)??await Y(e)??void 0}async function G(e){c(`Evaluating snippet - ${e.snippet}`);let t=`{ "type": "display", "value": {{ ${e.snippet} | json }} }`,n=await f({...e,snippet:t}),s=await n.text();return C(n.status,s)?K(s):void 0}async function $(e){c(`Evaluating context - ${e.snippet}`);let t=`{ "type": "context", "value": "{% ${e.snippet.replace(/"/g,'\\"')} %}" }`,n=await f({...e,snippet:t}),s=await n.text();C(n.status,s)&&e.replSession.push(JSON.parse(t))}async function H(e){if(c(`Evaluating assignment context - ${e.snippet}`),re(e.snippet))return e.snippet=`assign ${e.snippet}`,o(d`${l.gray(`> ${e.snippet}`)}`),$(e)}async function Y(e){c(`Evaluating syntax error - ${e.snippet}`);let t="";if(Q(e.snippet)||(t=await(await f({...e,snippet:`{{ ${e.snippet} }}`})).text()),h(t)||(t=await(await f({...e,snippet:`{% ${e.snippet} %}`})).text()),h(t)){let n=t.replace(/ \(snippets\/eval line \d+\)/,"");z(e.snippet,n)}}function z(e,t){if(t.includes("Unknown tag")){o(d`${l.errorText(`Unknown object, property, tag, or filter: '${e}'`)}`);return}let n=j(t);n&&o(d`${l.errorText(n)}`)}async function f(e){let t=B(e);e.url.startsWith("/")||(e.url=`/${e.url}`);let n=await _(e.themeSession,{method:"GET",path:e.url,query:[],themeId:e.themeId,sectionId:"announcement-bar",headers:{},replaceTemplates:{"sections/announcement-bar.liquid":"{% render 'eval' %}","snippets/eval.liquid":`
2
+ ${t}
3
+ `}});return X(n)&&te(),Z(n)&&ne(),ee(n)&&se(),n}function B(e){return`[${[...e.replSession.map(n=>JSON.stringify(n)),e.snippet].join(",").replace(/\\"/g,'"')}]`}function K(e){let t=j(e);if(t)return JSON.parse(t)?.find(s=>s.type==="display")?.value}function j(e){let t=e.split(`
4
+ `).slice(1,-1);if(t.length!==0)return t.join("")}function h(e){return e.includes("Liquid syntax error")}function Q(e){return/^\s*assign\s*((?:\(?[\w\-.[\]]\)?)+)\s*=\s*(.*)\s*/m.test(e)}function X(e){return e.status===401||e.status===403}function Z(e){return e.status===430||e.status===429}function ee(e){return e.headers.get("server-timing")?.includes('pageType;desc="404"')??!1}function te(){throw new a("Session expired. Please initiate a new one.")}function ne(){throw new a("Evaluations limit reached. Try again later.")}function se(){throw new a("Page not found. Please provide a valid --url value!")}function re(e){return/^\s*((?:\(?[\w\-.[\]]\)?)+)\s*=\s*(.*)\s*/m.test(e)}function C(e,t){return e===200&&!h(t)}r();function F(e){if(N(e)){o("Object can't be printed, but you can access its fields. Read more at https://shopify.dev/docs/api/liquid.");return}if(e==null){M("null");return}let t=JSON.stringify(e,null,2);M(t)}function N(e){if(Array.isArray(e))return e.length>0?N(e[0]):!1;if(e&&typeof e=="object"){let n=e.error;return typeof n=="string"&&n.includes("json not allowed for this object")}return!1}function M(e){return o(d`${l.cyan(e)}`)}import{createInterface as oe}from"readline";var ie=`Liquid Console doesn't support Liquid delimiters such as '{{ ... }}' or '{% ... %}'.
5
+ Please use 'collections.first' instead of '{{ collections.first }}'.`;async function D(e,t,n){process.stdin.isTTY&&process.stdin.ref();let s=oe({input:process.stdin,output:process.stdout}),i=[];s.on("line",u=>{ae(u,e,t,n,s,i)}),s.prompt()}async function ae(e,t,n,s,i,u){try{if(ue(e))return o(ie),i.prompt();let p=await A({snippet:e,themeSession:t,themeId:n,url:s,replSession:u});F(p),i.prompt()}catch(p){throw i.close(),p instanceof Error?(c(p.stack??"Error backtrace not found"),new a(p.message)):new a("An unknown error occurred. Please try again.")}}function ue(e){return/^\s*(\{\{|{%)/.test(e)}async function W(e,t){let n=await pe(e),s=await I(e)?await P(t,e.storeFqdn):void 0;return{themeId:n,storePassword:s}}async function pe(e){return(await new m(e).findOrCreate()).id.toString()}async function J(e,t,n,s,i){if(o(`Welcome to Shopify Liquid console
6
+ (press Ctrl + C to exit)`),s?.startsWith("shpat_"))throw new a("Unable to use Admin API tokens with the console command",`To use this command with the --password flag you must:
7
+
8
+ 1. Install the Theme Access app on your shop
9
+ 2. Generate a new password
10
+
11
+ Alternatively, you can authenticate normally by not passing the --password flag.
12
+
13
+ Learn more: https://shopify.dev/docs/storefronts/themes/tools/theme-access`);let u=await k(t,e,s,i);return D(u,t,n)}var y=U(V(),1);var w=class extends q{static summary="Shopify Liquid REPL (read-eval-print loop) tool";static usage=["theme console","theme console --url /products/classic-leather-jacket"];static descriptionWithMarkdown=`Starts the Shopify Liquid REPL (read-eval-print loop) tool. This tool provides an interactive terminal interface for evaluating Liquid code and exploring Liquid objects, filters, and tags using real store data.
14
+
15
+ You can also provide context to the console using a URL, as some Liquid objects are context-specific`;static description=this.descriptionWithoutMarkdown();static flags={...E,...R,url:y.Flags.string({description:"The url to be used as context",env:"SHOPIFY_FLAG_URL",default:"/"}),"store-password":y.Flags.string({description:"The password for storefronts with password protection.",env:"SHOPIFY_FLAG_STORE_PASSWORD"})};static multiEnvironmentsFlags=null;async command(t,n){let{url:s,password:i}=t,{themeId:u,storePassword:p}=await W(n,t["store-password"]);x("theme-command:console:single-env:authenticated"),await J(n,u,s,i,p)}};export{w as a};
@@ -0,0 +1,5 @@
1
+ import{a as h}from"./chunk-EX5GVHGE.js";import{a as l}from"./chunk-UZARYOLN.js";import{a as m}from"./chunk-YESGYUEL.js";import{wa as c}from"./chunk-ZZRFG6ME.js";import{b as d}from"./chunk-YEVGLC5X.js";import{D as a}from"./chunk-3JXPOOFV.js";import{z as p}from"./chunk-YFINLODF.js";import{h as n}from"./chunk-BWJIZYAG.js";import{a as C}from"./chunk-CTNBSUVU.js";import{e as g,g as s}from"./chunk-VKWPEFWQ.js";s();s();async function v(t){let e=t.appContextResult.developerPlatformClient,o=t.appContextResult.remoteApp,r=await e.devSessionDelete({shopFqdn:t.store.shopDomain,appId:o.id});if(r.devSessionDelete?.userErrors.length){let u=r.devSessionDelete.userErrors.map(w=>w.message).join(`
2
+ `);throw new n(`Failed to stop the dev preview: ${u}`)}p({headline:"Dev preview stopped.",body:[`The dev preview has been stopped on ${t.store.shopDomain} and the app's active version has been restored.`,"You can start it again with",{command:"shopify app dev"}]})}var f=g(C(),1);var i=class t extends l{static summary="Cleans up the dev preview from the selected store.";static descriptionWithMarkdown=`Stop the dev preview that was started with \`shopify app dev\`.
3
+
4
+ It restores the app's active version to the selected development store.
5
+ `;static description=this.descriptionWithoutMarkdown();static flags={...d,...m,store:f.Flags.string({hidden:!1,char:"s",description:"Store URL. Must be an existing development store.",env:"SHOPIFY_FLAG_STORE",parse:async e=>a(e)})};async run(){let{flags:e}=await this.parse(t),o=await c({directory:e.path,clientId:e["client-id"],forceRelink:e.reset,userProvidedConfigName:e.config}),r=await h({appContextResult:o,storeFqdn:e.store,forceReselectStore:e.reset});return await v({appContextResult:o,store:r}),{app:o.app}}};export{i as a};
@@ -0,0 +1 @@
1
+ import{j as p}from"./chunk-XHKWITLA.js";import{a as n}from"./chunk-YESGYUEL.js";import{b as s}from"./chunk-YEVGLC5X.js";import{b as a}from"./chunk-2XDUJQQN.js";import{a as d}from"./chunk-CTNBSUVU.js";import{f as r}from"./chunk-773TIA5M.js";import{e as l,g as e}from"./chunk-VKWPEFWQ.js";e();var o=l(d(),1);var i=class c extends a{static hidden=!0;static summary="Provide App Doctor instructions to a coding agent.";static descriptionWithMarkdown="Prints the complete workflow that a coding agent should follow to review App Doctor results.\n\nBy default, the instructions are printed to stdout. Use `--copy` to copy them to the clipboard or `--write` to write them to a file. Standalone instructions always start by running `shopify app doctor`; only that invocation's generated review pack is trusted as workflow input.";static description=this.descriptionWithoutMarkdown();static flags={...s,path:n.path,copy:o.Flags.boolean({description:"Copy the instructions to the clipboard instead of printing them.",default:!1,exclusive:["write"],env:"SHOPIFY_FLAG_APP_DOCTOR_INSTRUCTIONS_COPY"}),write:o.Flags.string({description:"Write the instructions to a file instead of printing them.",exclusive:["copy"],parse:async t=>r(t),env:"SHOPIFY_FLAG_APP_DOCTOR_INSTRUCTIONS_WRITE"})};async run(){let{flags:t}=await this.parse(c);await p({directory:t.path,copy:t.copy,writePath:t.write})}};export{i as a};
@@ -0,0 +1,5 @@
1
+ import{b as S}from"./chunk-2AK44UYM.js";import{a as A,b as B,c as L,f as I,j as x,k as $,m as N,t as q}from"./chunk-3DCN3N23.js";import{a as P}from"./chunk-UZARYOLN.js";import{a as z}from"./chunk-YESGYUEL.js";import{b as C}from"./chunk-YEVGLC5X.js";import{D as E,W as g}from"./chunk-3JXPOOFV.js";import{B as w,G as T,y as u,z as v}from"./chunk-YFINLODF.js";import{k as D}from"./chunk-BWJIZYAG.js";import{a as K}from"./chunk-CTNBSUVU.js";import{Cb as b,ba as k,ga as y,qb as l,sb as d}from"./chunk-VFM2KQRM.js";import{i as m}from"./chunk-B4OMIONW.js";import{e as _,g as c}from"./chunk-VKWPEFWQ.js";c();c();async function M(e){let{organization:o,storeFqdn:t,operationId:r,remoteApp:a}=e;u({headline:"Checking bulk operation status.",body:[{list:{items:S({organization:o,remoteApp:a,storeFqdn:t})}}]});let s=a.apiSecretKeys[0]?.secret;if(!s)throw new D("No API secret keys found for app");let p=await g(t,a.apiKey,s),i=await x({adminSession:p,operationId:r,version:await I({adminSession:p,minimumDefaultVersion:A})});i?U(i):w({headline:"Bulk operation not found.",body:d`ID: ${l.yellow(r)}`.value})}async function R(e){let{organization:o,storeFqdn:t,remoteApp:r}=e;u({headline:"Listing bulk operations.",body:[{list:{items:S({organization:o,remoteApp:r,storeFqdn:t})}}]});let a=r.apiSecretKeys[0]?.secret;if(!a)throw new D("No API secret keys found for app");let s=await g(t,r.apiKey,a),i=(await $({adminSession:s,version:await I({adminSession:s,minimumDefaultVersion:A})})).map(n=>({id:L(n.id),status:G(n.status),count:H(n.objectCount),dateCreated:k(new Date(String(n.createdAt))),dateFinished:n.completedAt?k(new Date(String(n.completedAt))):"",results:W(n.url??n.partialDataUrl)}));b(),i.length===0?u({body:"No bulk operations found in the last 7 days."}):T({rows:i,columns:{id:{header:"ID",color:"yellow"},status:{header:"STATUS"},count:{header:"COUNT"},dateCreated:{header:"DATE CREATED",color:"cyan"},dateFinished:{header:"DATE FINISHED",color:"cyan"},results:{header:"RESULTS"}}}),b()}function U(e){let{id:o,status:t,createdAt:r,completedAt:a,url:s,partialDataUrl:p}=e,i=N(e).value,n=V(r,a),f=d`ID: ${l.yellow(o)}\n${n}`.value;if(t==="COMPLETED"){let h=s?l.link("Download results",s):"";v({headline:i,body:d`${f}\n${h}`.value})}else if(t==="FAILED"){let h=p?l.link("Download partial results",p):"";w({headline:i,body:d`${f}\n${h}`.value})}else u({headline:i,body:f})}function V(e,o){let t=new Date;return o?`Finished ${y(new Date(String(o)),t)}`:`Started ${y(new Date(String(e)),t)}`}function G(e){return e==="COMPLETED"?m.green(e):e==="FAILED"?m.red(e):m.dim(e)}function H(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function W(e){return e?d`${l.link("download",e)}`.value:""}var F=_(K(),1);var O=class e extends P{static summary="Check the status of bulk operations.";static descriptionWithMarkdown=`Check the status of a specific bulk operation by ID, or list all bulk operations belonging to this app on this store in the last 7 days.
2
+
3
+ Bulk operations allow you to process large amounts of data asynchronously. Learn more about [bulk query operations](https://shopify.dev/docs/api/usage/bulk-operations/queries) and [bulk mutation operations](https://shopify.dev/docs/api/usage/bulk-operations/imports).
4
+
5
+ Use [\`bulk execute\`](https://shopify.dev/docs/api/shopify-cli/app/app-bulk-execute) to start a new bulk operation.`;static description=this.descriptionWithoutMarkdown();static flags={...C,...z,id:F.Flags.string({description:"The bulk operation ID (numeric ID or full GID). If not provided, lists all bulk operations belonging to this app on this store in the last 7 days.",env:"SHOPIFY_FLAG_ID"}),store:F.Flags.string({char:"s",description:"The store domain. Must be an existing dev store.",env:"SHOPIFY_FLAG_STORE",parse:async o=>E(o)})};async run(){let{flags:o}=await this.parse(e),{appContextResult:t,store:r}=await q(o);return o.id?await M({organization:t.organization,storeFqdn:r.shopDomain,operationId:B(o.id),remoteApp:t.remoteApp}):await R({organization:t.organization,storeFqdn:r.shopDomain,remoteApp:t.remoteApp}),{app:t.app}}};export{O as a};
@@ -0,0 +1 @@
1
+ import{a as n}from"./chunk-BZ73NV3L.js";import{b as i}from"./chunk-2XDUJQQN.js";import{g as e}from"./chunk-VKWPEFWQ.js";e();var t=class extends i{static description="Generate a notifications.json file for the the CLI, appending a new notification to the current file.";static hidden=!0;async run(){await n()}};export{t as a};
@@ -0,0 +1 @@
1
+ import{b as f,c as r,d as h}from"./chunk-T7PJDT5O.js";import{a as l}from"./chunk-UZARYOLN.js";import{a as c}from"./chunk-YESGYUEL.js";import{wa as m}from"./chunk-ZZRFG6ME.js";import{b as d}from"./chunk-YEVGLC5X.js";import{xb as e}from"./chunk-VFM2KQRM.js";import{i as n}from"./chunk-B4OMIONW.js";import{g as p}from"./chunk-VKWPEFWQ.js";p();var s=class g extends l{static summary="Watch and prints out changes to an app.";static hidden=!0;static flags={...d,...c};async run(){let{flags:t}=await this.parse(g),{app:o}=await m({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config}),i=new h(o);return await i.start(),e(`Watching for changes in ${o.name}...`),i.onEvent(async({app:y,extensionEvents:u,startTime:w,path:x})=>{e(`\u{1F195} Event [${f(w)}ms]`),e(` \u{1F4C2} ${x}`),u.forEach(a=>{switch(a.type){case r.Created:e(` \u2705 Extension created - ${n.green(a.extension.handle)}`);break;case r.Deleted:e(` \u274C Extension deleted: ${n.red(a.extension.handle)}`);break;case r.Updated:e(` \u{1F504} Updated: ${n.yellow(a.extension.handle)}`);break}})}),setInterval(()=>{},1<<30),{app:o}}};export{s as a};
@@ -0,0 +1 @@
1
+ import{T as m}from"./chunk-YFINLODF.js";import{h as c}from"./chunk-BWJIZYAG.js";import{Ab as a,qb as l,sb as n}from"./chunk-VFM2KQRM.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();import{createServer as d}from"net";var u=new Set;async function P(o,t){if(o&&await g(o))return a(n`Port ${o.toString()} is free`),o;a(n`Getting a random port...`);let r=await w(()=>f(),t?.maxTries,t?.waitTimeInSeconds);for(let e=0;e<(t?.maxTries??5)&&u.has(r);e++)r=await w(()=>f(),t?.maxTries,t?.waitTimeInSeconds);return a(n`Random port obtained: ${l.raw(`${r}`)}`),u.add(r),r}async function g(o){return new Promise(t=>{let r=d();r.unref(),r.once("error",()=>t(!1));try{r.listen(o,"localhost",()=>{r.close(()=>t(!0))})}catch(e){if(!(e instanceof RangeError))throw e;t(!1)}})}function f(){return new Promise((o,t)=>{let r=d();r.unref(),r.once("error",t),r.listen(0,"localhost",()=>{let e=r.address();if(e&&typeof e=="object"){let i=e.port;r.close(()=>o(i))}else r.close(()=>t(new Error("Unable to determine assigned port")))})})}async function w(o,t=5,r=1){let e=1;for(;;)try{return await o()}catch(i){if(e++<t)a(n`Unknown problem getting a random port: ${i.message}`),await m(r);else throw new c(i.message)}}export{P as a,g as b};
@@ -0,0 +1 @@
1
+ import{a as u,c as h,g as c}from"./chunk-VKWPEFWQ.js";var v=h((w,l)=>{"use strict";c();var{builtinModules:f}=u("module"),d=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$"),p=["node_modules","favicon.ico"];function g(n){var t=[],e=[];if(n===null)return e.push("name cannot be null"),r(t,e);if(n===void 0)return e.push("name cannot be undefined"),r(t,e);if(typeof n!="string")return e.push("name must be a string"),r(t,e);if(n.length||e.push("name length must be greater than zero"),n.match(/^\./)&&e.push("name cannot start with a period"),n.match(/^_/)&&e.push("name cannot start with an underscore"),n.trim()!==n&&e.push("name cannot contain leading or trailing spaces"),p.forEach(function(s){n.toLowerCase()===s&&e.push(s+" is a blacklisted name")}),f.includes(n.toLowerCase())&&t.push(n+" is a core module name"),n.length>214&&t.push("name can no longer contain more than 214 characters"),n.toLowerCase()!==n&&t.push("name can no longer contain capital letters"),/[~'!()*]/.test(n.split("/").slice(-1)[0])&&t.push(`name can no longer contain special characters ("~'!()*")`),encodeURIComponent(n)!==n){var a=n.match(d);if(a){var i=a[1],o=a[2];if(encodeURIComponent(i)===i&&encodeURIComponent(o)===o)return r(t,e)}e.push("name can only contain URL-friendly characters")}return r(t,e)}var r=function(n,t){var e={validForNewPackages:t.length===0&&n.length===0,validForOldPackages:t.length===0,warnings:n,errors:t};return e.warnings.length||delete e.warnings,e.errors.length||delete e.errors,e};l.exports=g});export{v as a};
@@ -0,0 +1,3 @@
1
+ import{a as h}from"./chunk-ZH44BDUR.js";import{p as m,v as a}from"./chunk-GNBRCK7L.js";import{b as n}from"./chunk-YEVGLC5X.js";import{xa as t}from"./chunk-3JXPOOFV.js";import{a as w}from"./chunk-CTNBSUVU.js";import{S as s}from"./chunk-VFM2KQRM.js";import{e as u,g as i}from"./chunk-VKWPEFWQ.js";i();var r=u(w(),1);var o=class extends a{static summary="Creates a shareable, unpublished, and new theme on your theme library with a randomized name.";static descriptionWithMarkdown=`Uploads your theme as a new, unpublished theme in your theme library. The theme is given a randomized name.
2
+
3
+ This command returns a [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with others.`;static description=this.descriptionWithoutMarkdown();static flags={...n,...m,force:r.Flags.boolean({hidden:!0,char:"f",description:"Proceed without confirmation, if current directory does not seem to be theme directory.",env:"SHOPIFY_FLAG_FORCE"}),listing:r.Flags.string({description:"The listing preset to use for multi-preset themes. Applies preset files from listings/[preset-name] directory.",env:"SHOPIFY_FLAG_LISTING"})};static multiEnvironmentsFlags=["store","password","path"];async command(e,d,p,g,c){let l={environment:e.environment,force:e.force,noColor:e["no-color"],password:e.password,path:e.path,store:e.store,theme:s("creative"),unpublished:!0,listing:e.listing};t("theme-command:share"),await h(l,d,p,c),t("theme-command:share")}};export{o as a};
@@ -0,0 +1 @@
1
+ import{a as o}from"./chunk-U2DWBZK2.js";import{b as a}from"./chunk-2XDUJQQN.js";import{g as s}from"./chunk-VKWPEFWQ.js";s();var t=class extends a{static description="View the UI kit components that process async tasks";static hidden=!0;async run(){await o()}};export{t as a};
@@ -0,0 +1,26 @@
1
+ import{a as v}from"./chunk-742XXXGL.js";import{a as y}from"./chunk-GRSF7456.js";import{a as m}from"./chunk-Q5JX23QU.js";import{a as u}from"./chunk-ZYX7UHCQ.js";import{d as f}from"./chunk-GRPKF5ZB.js";import{p as c,v as p}from"./chunk-GNBRCK7L.js";import{b as h,e as d}from"./chunk-YEVGLC5X.js";import{Aa as l}from"./chunk-3JXPOOFV.js";import{a as O}from"./chunk-CTNBSUVU.js";import{e as _,g as a}from"./chunk-VKWPEFWQ.js";a();var t=_(O(),1);var s=class extends p{static get requiresSyncAnalytics(){return!0}static summary="Uploads the current theme as a development theme to the connected store, then prints theme editor and preview URLs to your terminal. While running, changes will push to the store in real time.";static descriptionWithMarkdown=`
2
+ Uploads the current theme as the specified theme, or a [development theme](https://shopify.dev/docs/themes/tools/cli#development-themes), to a store so you can preview it.
3
+
4
+ This command returns the following information:
5
+
6
+ - A link to your development theme at http://127.0.0.1:9292. This URL can hot reload local changes to CSS and sections, or refresh the entire page when a file changes, enabling you to preview changes in real time using the store's data.
7
+
8
+ You can specify a different network interface and port using \`--host\` and \`--port\`.
9
+
10
+ - A link to the [editor](https://shopify.dev/docs/themes/tools/online-editor) for the theme in the Shopify admin.
11
+
12
+ - A [preview link](https://help.shopify.com/manual/online-store/themes/adding-themes#share-a-theme-preview-with-others) that you can share with other developers.
13
+
14
+ If you already have a development theme for your current environment, then this command replaces the development theme with your local theme. You can override this using the \`--theme-editor-sync\` flag.
15
+
16
+ > Note: You can't preview checkout customizations using http://127.0.0.1:9292.
17
+
18
+ Development themes are deleted when you run \`shopify auth logout\`. If you need a preview link that can be used after you log out, then you should [share](https://shopify.dev/docs/api/shopify-cli/theme/theme-share) your theme or [push](https://shopify.dev/docs/api/shopify-cli/theme/theme-push) to an unpublished theme on your store.
19
+
20
+ You can run this command only in a directory that matches the [default Shopify theme folder structure](https://shopify.dev/docs/themes/tools/cli#directory-structure).`;static description=this.descriptionWithoutMarkdown();static flags={...h,...c,host:t.Flags.string({description:"Set which network interface the web server listens on. The default value is 127.0.0.1.",env:"SHOPIFY_FLAG_HOST"}),"live-reload":t.Flags.string({description:`The live reload mode switches the server behavior when a file is modified:
21
+ - hot-reload Hot reloads local changes to CSS and sections (default)
22
+ - full-page Always refreshes the entire page
23
+ - off Deactivate live reload`,default:"hot-reload",options:["hot-reload","full-page","off"],env:"SHOPIFY_FLAG_LIVE_RELOAD"}),"error-overlay":t.Flags.string({description:`Controls the visibility of the error overlay when an theme asset upload fails:
24
+ - silent Prevents the error overlay from appearing.
25
+ - default Displays the error overlay.
26
+ `,options:["silent","default"],default:"default",env:"SHOPIFY_FLAG_ERROR_OVERLAY"}),poll:t.Flags.boolean({hidden:!0,description:"Force polling to detect file changes.",env:"SHOPIFY_FLAG_POLL"}),"theme-editor-sync":t.Flags.boolean({description:"Synchronize Theme Editor updates in the local theme files.",env:"SHOPIFY_FLAG_THEME_EDITOR_SYNC"}),"standard-events-inspector":t.Flags.boolean({description:"Inject the standard events inspector into storefront HTML.",env:"SHOPIFY_FLAG_STANDARD_EVENTS_INSPECTOR",default:!1}),"reconciliation-strategy":t.Flags.string({description:"How to resolve JSON conflicts when --theme-editor-sync is enabled. Use keep-local to keep local files, keep-remote to keep remote files, or abort to fail instead of prompting.",options:["keep-local","keep-remote","abort"],env:"SHOPIFY_FLAG_RECONCILIATION_STRATEGY",dependsOn:["theme-editor-sync"]}),port:d({description:"Local port to serve theme preview from.",env:"SHOPIFY_FLAG_PORT"}),theme:t.Flags.string({char:"t",description:"Theme ID or name of the remote theme.",env:"SHOPIFY_FLAG_THEME_ID"}),listing:t.Flags.string({description:"The listing preset to use for multi-preset themes. Applies preset files from listings/[preset-name] directory.",env:"SHOPIFY_FLAG_LISTING"}),nodelete:t.Flags.boolean({char:"n",description:"Prevents files from being deleted in the remote theme when a file has been deleted locally. This applies to files that are deleted while the command is running, and files that have been deleted locally before the command is run.",env:"SHOPIFY_FLAG_NODELETE"}),only:t.Flags.string({char:"o",multiple:!0,description:"Hot reload only files that match the specified pattern.",env:"SHOPIFY_FLAG_ONLY"}),ignore:t.Flags.string({char:"x",multiple:!0,description:"Skip hot reloading any files that match the specified pattern.",env:"SHOPIFY_FLAG_IGNORE"}),force:t.Flags.boolean({hidden:!0,char:"f",description:"Proceed without confirmation, if current directory does not seem to be theme directory.",env:"SHOPIFY_FLAG_FORCE"}),notify:t.Flags.string({description:"The file path or URL. The file path is to a file that you want updated on idle. The URL path is where you want a webhook posted to report on file changes.",env:"SHOPIFY_FLAG_NOTIFY"}),open:t.Flags.boolean({description:"Automatically launch the theme preview in your default web browser.",env:"SHOPIFY_FLAG_OPEN",default:!1}),"store-password":t.Flags.string({description:"The password for storefronts with password protection.",env:"SHOPIFY_FLAG_STORE_PASSWORD"}),"allow-live":t.Flags.boolean({description:"Allow development on a live theme.",char:"a",env:"SHOPIFY_FLAG_ALLOW_LIVE",default:!1})};static multiEnvironmentsFlags=null;async command(o,i){let{ignore:w=[],only:g=[]}=o;l("theme-command:dev:single-env:authenticated");let r,e;if(o.theme){let n={filter:{theme:o.theme}};r=await u(i,n),e={...o,theme:r.id.toString(),store:i.storeFqdn}}else{r=await new m(i).findOrCreate();let n=o["theme-editor-sync"]&&r.createdAtRuntime;e={...o,theme:r.id.toString(),store:i.storeFqdn,"overwrite-json":n}}await f(r,"start development mode",o["allow-live"])&&(await v({adminSession:i,commandConfig:this.config,directory:e.path,store:e.store,password:e.password,storePassword:e["store-password"],theme:r,listing:e.listing,host:e.host,port:e.port,"live-reload":e["live-reload"],"error-overlay":e["error-overlay"],force:e.force,open:e.open,"theme-editor-sync":e["theme-editor-sync"],"standard-events-inspector":e["standard-events-inspector"],reconciliationStrategy:e["reconciliation-strategy"],noDelete:e.nodelete,ignore:w,only:g,notify:e.notify}),await y({path:e.path,password:e.password,store:e.store,force:e.force,verbose:e.verbose,noColor:e["no-color"],silent:!0}))}};export{s as a};
@@ -0,0 +1,3 @@
1
+ import{c as g,g as h}from"./chunk-HFSCXTJQ.js";import{a as m}from"./chunk-UZARYOLN.js";import{wa as d}from"./chunk-ZZRFG6ME.js";import{h as f}from"./chunk-BWJIZYAG.js";import{wb as s}from"./chunk-VFM2KQRM.js";import{g as r}from"./chunk-VKWPEFWQ.js";r();r();var v=250,c=class extends Error{constructor(){super("Migratable subscriptions were not found"),this.name="MigratableSubscriptionsNotFoundError"}},l=class extends Error{constructor(t){super(t),this.name="MigrationListProtocolError"}};async function*b({clientId:i,status:t,getPage:n=h}){let e=new Set,a;for(;;){let p=await n({clientId:i,first:v,after:a,status:t});if(p===null)throw new c;if(yield p.subscriptions,!p.pageInfo.hasNextPage)return;let{endCursor:o}=p.pageInfo;if(o===null||o.trim()==="")throw new l("Migratable subscription page has no cursor for its next page");if(e.has(o))throw new l(`Migratable subscription pagination repeated cursor: ${o}`);e.add(o),a=o}}r();var w="shop_id,status,manual_subscription_name,manual_subscription_price_amount,manual_subscription_price_currency_code,manual_subscription_interval,target_plan_handle,notification_kind,notification_opt_out_deadline,notification_sent_at,price_behavior,effective_date,last_failure_reason";function y(i){return JSON.stringify({schemaVersion:1,subscriptions:i},null,2)}async function _({pages:i,json:t}){t?s(y(await S(i))):await C(i)}async function S(i){let t=[];for await(let n of i)t.push(...n);return t}async function C(i){let t=!1;for await(let n of i){let e=x(n);t?e.length>0&&s(e.join(`
2
+ `)):(s([w,...e].join(`
3
+ `)),t=!0)}t||s(w)}function x(i){return i.map(t=>[t.shopId,t.status,t.manualSubscriptionName,t.manualSubscriptionPrice?.amount,t.manualSubscriptionPrice?.currencyCode,t.manualSubscriptionInterval,t.targetPlanHandle,t.notification?.kind,t.notification?.optOutDeadline,t.notification?.sentAt,t.priceBehavior,t.effectiveDate,t.lastFailureReason].map(E).join(","))}function E(i){let t=i??"";return/[",\r\n]/.test(t)?`"${t.replaceAll('"','""')}"`:t}var u=class i extends m{static hidden=!0;static summary="Lists app subscriptions eligible for migration.";static descriptionWithMarkdown="Lists every app subscription eligible for migration.\n\nBy default, the command writes CSV to stdout, streaming each page of results as it arrives. If a later page fails, the rows already written remain valid CSV. Use `--json` to fetch all pages first and then write a single versioned JSON envelope to stdout. Use shell redirection to save either format, for example `shopify app subscription-migrations list > subscriptions.csv` or `shopify app subscription-migrations list --json > subscriptions.json`.\n\nUse `--status` to filter subscriptions by migration status. Supported values are `UNSCHEDULED`, `SCHEDULED`, and `MIGRATED`.\n\nRun the command from an app project. By default, it uses the Client ID from the active app configuration. Use `--path` to select an app directory or `--config` to select a configuration. Pass `--client-id` to select a different app within the project. Use `--reset` to relink the app.";static description=this.descriptionWithoutMarkdown();static examples=["<%= config.bin %> <%= command.id %>","<%= config.bin %> <%= command.id %> --status SCHEDULED > scheduled-subscriptions.csv","<%= config.bin %> <%= command.id %> --json","<%= config.bin %> <%= command.id %> --json > subscriptions.json","<%= config.bin %> <%= command.id %> --client-id <client-id> > subscriptions.csv"];static flags={...g};async run(){let{flags:t}=await this.parse(i),{app:n,remoteApp:e}=await d({directory:t.path,clientId:t["client-id"],forceRelink:t.reset,userProvidedConfigName:t.config});try{let a=b({clientId:e.apiKey,status:t.status});await _({pages:a,json:t.json})}catch(a){throw a instanceof c?new f("App not found"):a}return{app:n}}};export{u as a};
@@ -0,0 +1 @@
1
+ import{a as s}from"./chunk-NBFMP5XQ.js";import{g as r,h as n,i as h}from"./chunk-GNBRCK7L.js";import{h as m}from"./chunk-BWJIZYAG.js";import{g as o}from"./chunk-VKWPEFWQ.js";o();var c=t=>`Development theme #${t} could not be found. Please create a new development theme.`,E="No development theme ID has been set. Please create a development theme first.",p=class extends s{context="Development";constructor(e){super(e),this.themeId=r()}async find(){let e=await this.fetch();if(!e)throw new m(this.themeId?c(this.themeId):E);return e}setTheme(e){n(e)}removeTheme(){h()}};export{p as a};
@@ -0,0 +1,4 @@
1
+ import{c as w}from"./chunk-6RQOEPEC.js";import{c as F,e as x}from"./chunk-U53OLUOE.js";import{B as h,m as S,t as L,u as P,v as f,z as N}from"./chunk-Y5PRPHLQ.js";import{S as V,W as y,z as R}from"./chunk-YFINLODF.js";import{a as c}from"./chunk-VASGXHYA.js";import{q as $,s as m}from"./chunk-YZMY2CTU.js";import{Ab as l,Bb as E,gb as A,jb as U,kb as D,qb as u,sb as p,xb as d}from"./chunk-VFM2KQRM.js";import{c as _}from"./chunk-R6ICQT2D.js";import{p as C,q as b,r as I}from"./chunk-773TIA5M.js";import{g as v}from"./chunk-VKWPEFWQ.js";v();function M(){let e=U();if(!(!e||e==="unknown"))return e==="homebrew"?"brew upgrade shopify-cli":e==="yarn"?`${e} global add @shopify/cli@latest`:`${e} ${e==="pnpm"?"add":"install"} -g @shopify/cli@latest`}async function re(e={}){let n=I()??b(),o=D(n),t=A();if(_()){d("Skipping upgrade in development mode.");return}if(!(e.autoupgrade&&!t))if(t){let a=M();if(!a)throw new Error("Could not determine the package manager");let[r,...i]=a.split(" ");if(!r)throw new Error("Could not determine the command to run");let s=f("@shopify/cli",c),T=s?`\u2728 New version of Shopify CLI available! (${c} \u2192 ${s})`:"\u2728 New version of Shopify CLI available!";d(p`${T}
2
+ Now upgrading by running: ${u.genericShellCommand(a)}...`),await V(r,i,{stdio:"inherit"}),R({headline:"Shopify CLI upgraded.",body:s?`You're now on version ${s}.`:"You're now on the latest version."})}else if(o)await Y(o,c);else throw new Error("Could not determine the local project directory")}function ie(){let e=c,n=f("@shopify/cli",e);if(!n){l("Auto-upgrade: No newer version available.");return}if(process.env.SHOPIFY_CLI_FORCE_AUTO_UPGRADE==="1")return l("Auto-upgrade: Forcing auto-upgrade because of SHOPIFY_CLI_FORCE_AUTO_UPGRADE."),n;if(!m()){l("Auto-upgrade: Skipping because auto-upgrade is not enabled.");return}if(y()){l("Auto-upgrade: Skipping auto-upgrade in CI.");return}if(w(e)){l("Auto-upgrade: Skipping auto-upgrade for pre-release version.");return}return n}async function se(){try{let{notifications:e}=await F();return x(e,"",["autoupgrade"]).some(o=>o.type==="error")}catch{return!1}}async function ce(){if(y()||w(c)||m())return;let e=f("@shopify/cli",c);e&&await $("warn-on-available-upgrade",{days:1},async()=>{E(G(e))})}function G(e,n=!1){let o=M(),t=o?p`💡 Version ${e} available! Run ${u.genericShellCommand(o)}`.value:p`💡 Version ${e} available!`.value;if(n){let a=`https://github.com/Shopify/cli/releases/tag/${e}`,r=p`⚠️ This is a major version — review breaking changes before upgrading:\n ${u.link(a,a)}`.value;return`${t}
3
+
4
+ ${r}`}return t}async function Y(e,n){let o=(await h(e)).content,t=o.dependencies??{},a=o.devDependencies??{},i={...t,...a}[await k()];if(!i){l("Auto-upgrade: CLI dependency not found in project dependencies, skipping local upgrade.");return}i.slice(0,1).match(/[\^~]/)&&(i=n);let s=await P(await k(),i);s?q(i,s):W(i),await J("prod",t,e),await J("dev",a,e)}async function J(e,n,o){let t=[await k(),...await j()].filter(r=>!!n[r]).map(r=>({name:r,version:"latest"})),a=await L(o);t.length>0&&await N(t,{packageManager:await S(o),type:e,directory:o,stdout:process.stdout,stderr:process.stderr,addToRootDirectory:a})}async function k(){return(await O()).name}async function j(){return(await O())?.oclif?.plugins??[]}var g;async function O(){if(!g){let e=await h(C(import.meta.url));g=g??e.content}return g}function W(e){d(p`You're on the latest version, ${u.yellow(e)}, no need to upgrade!`)}function q(e,n){d(p`Upgrading CLI from ${u.yellow(e)} to ${u.yellow(n)}...`)}export{M as a,re as b,ie as c,se as d,ce as e,G as f};