shop-cli 0.1.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 (340) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +392 -0
  3. package/bin/shop-cli.js +17 -0
  4. package/bin/shop.js +16 -0
  5. package/dist/adminClient.d.ts +34 -0
  6. package/dist/adminClient.js +144 -0
  7. package/dist/cli/client.d.ts +10 -0
  8. package/dist/cli/client.js +56 -0
  9. package/dist/cli/command.d.ts +5 -0
  10. package/dist/cli/command.js +62 -0
  11. package/dist/cli/errors.d.ts +4 -0
  12. package/dist/cli/errors.js +35 -0
  13. package/dist/cli/gid.d.ts +3 -0
  14. package/dist/cli/gid.js +42 -0
  15. package/dist/cli/globalFlags.d.ts +15 -0
  16. package/dist/cli/globalFlags.js +100 -0
  17. package/dist/cli/headers.d.ts +2 -0
  18. package/dist/cli/headers.js +79 -0
  19. package/dist/cli/help/format.d.ts +8 -0
  20. package/dist/cli/help/format.js +78 -0
  21. package/dist/cli/help/registry.d.ts +5 -0
  22. package/dist/cli/help/registry.js +5651 -0
  23. package/dist/cli/help/render.d.ts +7 -0
  24. package/dist/cli/help/render.js +352 -0
  25. package/dist/cli/help/spec.d.ts +39 -0
  26. package/dist/cli/help/spec.js +17 -0
  27. package/dist/cli/input.d.ts +9 -0
  28. package/dist/cli/input.js +104 -0
  29. package/dist/cli/introspection/deprecations.d.ts +1 -0
  30. package/dist/cli/introspection/deprecations.js +83 -0
  31. package/dist/cli/introspection/format.d.ts +6 -0
  32. package/dist/cli/introspection/format.js +63 -0
  33. package/dist/cli/introspection/index.d.ts +14 -0
  34. package/dist/cli/introspection/index.js +89 -0
  35. package/dist/cli/introspection/resources.d.ts +1 -0
  36. package/dist/cli/introspection/resources.js +127 -0
  37. package/dist/cli/output/computedFields.d.ts +39 -0
  38. package/dist/cli/output/computedFields.js +104 -0
  39. package/dist/cli/output.d.ts +37 -0
  40. package/dist/cli/output.js +332 -0
  41. package/dist/cli/router.d.ts +29 -0
  42. package/dist/cli/router.js +480 -0
  43. package/dist/cli/selection/buildAllSelection.d.ts +13 -0
  44. package/dist/cli/selection/buildAllSelection.js +108 -0
  45. package/dist/cli/selection/graphqlSelection.d.ts +5 -0
  46. package/dist/cli/selection/graphqlSelection.js +301 -0
  47. package/dist/cli/selection/select.d.ts +13 -0
  48. package/dist/cli/selection/select.js +136 -0
  49. package/dist/cli/selection/stripDeprecated.d.ts +2 -0
  50. package/dist/cli/selection/stripDeprecated.js +63 -0
  51. package/dist/cli/userErrors.d.ts +4 -0
  52. package/dist/cli/userErrors.js +41 -0
  53. package/dist/cli/verbs/_shared.d.ts +38 -0
  54. package/dist/cli/verbs/_shared.js +180 -0
  55. package/dist/cli/verbs/abandoned-checkouts.d.ts +6 -0
  56. package/dist/cli/verbs/abandoned-checkouts.js +259 -0
  57. package/dist/cli/verbs/app-billing.d.ts +6 -0
  58. package/dist/cli/verbs/app-billing.js +452 -0
  59. package/dist/cli/verbs/apps.d.ts +6 -0
  60. package/dist/cli/verbs/apps.js +296 -0
  61. package/dist/cli/verbs/articles.d.ts +6 -0
  62. package/dist/cli/verbs/articles.js +251 -0
  63. package/dist/cli/verbs/backup.d.ts +6 -0
  64. package/dist/cli/verbs/backup.js +94 -0
  65. package/dist/cli/verbs/blogs.d.ts +6 -0
  66. package/dist/cli/verbs/blogs.js +273 -0
  67. package/dist/cli/verbs/bulk-operations.d.ts +6 -0
  68. package/dist/cli/verbs/bulk-operations.js +272 -0
  69. package/dist/cli/verbs/business-entities.d.ts +6 -0
  70. package/dist/cli/verbs/business-entities.js +102 -0
  71. package/dist/cli/verbs/carrier-services.d.ts +6 -0
  72. package/dist/cli/verbs/carrier-services.js +195 -0
  73. package/dist/cli/verbs/cart-transforms.d.ts +6 -0
  74. package/dist/cli/verbs/cart-transforms.js +141 -0
  75. package/dist/cli/verbs/cash-tracking.d.ts +6 -0
  76. package/dist/cli/verbs/cash-tracking.js +118 -0
  77. package/dist/cli/verbs/catalogs.d.ts +6 -0
  78. package/dist/cli/verbs/catalogs.js +267 -0
  79. package/dist/cli/verbs/channels.d.ts +6 -0
  80. package/dist/cli/verbs/channels.js +120 -0
  81. package/dist/cli/verbs/checkout-branding.d.ts +6 -0
  82. package/dist/cli/verbs/checkout-branding.js +144 -0
  83. package/dist/cli/verbs/checkout-profiles.d.ts +6 -0
  84. package/dist/cli/verbs/checkout-profiles.js +124 -0
  85. package/dist/cli/verbs/collections.d.ts +6 -0
  86. package/dist/cli/verbs/collections.js +485 -0
  87. package/dist/cli/verbs/comments.d.ts +6 -0
  88. package/dist/cli/verbs/comments.js +160 -0
  89. package/dist/cli/verbs/companies.d.ts +6 -0
  90. package/dist/cli/verbs/companies.js +313 -0
  91. package/dist/cli/verbs/company-contacts.d.ts +6 -0
  92. package/dist/cli/verbs/company-contacts.js +314 -0
  93. package/dist/cli/verbs/company-locations.d.ts +6 -0
  94. package/dist/cli/verbs/company-locations.js +467 -0
  95. package/dist/cli/verbs/customer-account-pages.d.ts +6 -0
  96. package/dist/cli/verbs/customer-account-pages.js +97 -0
  97. package/dist/cli/verbs/customer-payment-methods.d.ts +6 -0
  98. package/dist/cli/verbs/customer-payment-methods.js +358 -0
  99. package/dist/cli/verbs/customer-privacy.d.ts +6 -0
  100. package/dist/cli/verbs/customer-privacy.js +167 -0
  101. package/dist/cli/verbs/customer-segments.d.ts +6 -0
  102. package/dist/cli/verbs/customer-segments.js +193 -0
  103. package/dist/cli/verbs/customers.d.ts +6 -0
  104. package/dist/cli/verbs/customers.js +656 -0
  105. package/dist/cli/verbs/delegate-tokens.d.ts +6 -0
  106. package/dist/cli/verbs/delegate-tokens.js +95 -0
  107. package/dist/cli/verbs/delivery-customizations.d.ts +6 -0
  108. package/dist/cli/verbs/delivery-customizations.js +205 -0
  109. package/dist/cli/verbs/delivery-profile-locations.d.ts +6 -0
  110. package/dist/cli/verbs/delivery-profile-locations.js +90 -0
  111. package/dist/cli/verbs/delivery-profiles.d.ts +6 -0
  112. package/dist/cli/verbs/delivery-profiles.js +207 -0
  113. package/dist/cli/verbs/delivery-promises.d.ts +6 -0
  114. package/dist/cli/verbs/delivery-promises.js +262 -0
  115. package/dist/cli/verbs/delivery-settings.d.ts +6 -0
  116. package/dist/cli/verbs/delivery-settings.js +85 -0
  117. package/dist/cli/verbs/discount-nodes.d.ts +6 -0
  118. package/dist/cli/verbs/discount-nodes.js +169 -0
  119. package/dist/cli/verbs/discount-redeem-codes.d.ts +6 -0
  120. package/dist/cli/verbs/discount-redeem-codes.js +102 -0
  121. package/dist/cli/verbs/discount-saved-searches.d.ts +6 -0
  122. package/dist/cli/verbs/discount-saved-searches.js +113 -0
  123. package/dist/cli/verbs/discounts-automatic.d.ts +6 -0
  124. package/dist/cli/verbs/discounts-automatic.js +475 -0
  125. package/dist/cli/verbs/discounts-code.d.ts +6 -0
  126. package/dist/cli/verbs/discounts-code.js +523 -0
  127. package/dist/cli/verbs/disputes.d.ts +6 -0
  128. package/dist/cli/verbs/disputes.js +154 -0
  129. package/dist/cli/verbs/draft-orders.d.ts +6 -0
  130. package/dist/cli/verbs/draft-orders.js +429 -0
  131. package/dist/cli/verbs/events.d.ts +6 -0
  132. package/dist/cli/verbs/events.js +182 -0
  133. package/dist/cli/verbs/file-saved-searches.d.ts +6 -0
  134. package/dist/cli/verbs/file-saved-searches.js +83 -0
  135. package/dist/cli/verbs/files.d.ts +6 -0
  136. package/dist/cli/verbs/files.js +213 -0
  137. package/dist/cli/verbs/finance.d.ts +6 -0
  138. package/dist/cli/verbs/finance.js +115 -0
  139. package/dist/cli/verbs/flow.d.ts +6 -0
  140. package/dist/cli/verbs/flow.js +94 -0
  141. package/dist/cli/verbs/fulfillment-constraint-rules.d.ts +6 -0
  142. package/dist/cli/verbs/fulfillment-constraint-rules.js +139 -0
  143. package/dist/cli/verbs/fulfillment-orders.d.ts +6 -0
  144. package/dist/cli/verbs/fulfillment-orders.js +674 -0
  145. package/dist/cli/verbs/fulfillment-services.d.ts +6 -0
  146. package/dist/cli/verbs/fulfillment-services.js +212 -0
  147. package/dist/cli/verbs/fulfillments.d.ts +6 -0
  148. package/dist/cli/verbs/fulfillments.js +273 -0
  149. package/dist/cli/verbs/gift-cards.d.ts +6 -0
  150. package/dist/cli/verbs/gift-cards.js +359 -0
  151. package/dist/cli/verbs/graphql.d.ts +14 -0
  152. package/dist/cli/verbs/graphql.js +285 -0
  153. package/dist/cli/verbs/inventory-items.d.ts +6 -0
  154. package/dist/cli/verbs/inventory-items.js +164 -0
  155. package/dist/cli/verbs/inventory-shipments.d.ts +6 -0
  156. package/dist/cli/verbs/inventory-shipments.js +276 -0
  157. package/dist/cli/verbs/inventory-transfers.d.ts +6 -0
  158. package/dist/cli/verbs/inventory-transfers.js +396 -0
  159. package/dist/cli/verbs/inventory.d.ts +6 -0
  160. package/dist/cli/verbs/inventory.js +551 -0
  161. package/dist/cli/verbs/locales.d.ts +6 -0
  162. package/dist/cli/verbs/locales.js +61 -0
  163. package/dist/cli/verbs/locations.d.ts +6 -0
  164. package/dist/cli/verbs/locations.js +385 -0
  165. package/dist/cli/verbs/market-localizations.d.ts +6 -0
  166. package/dist/cli/verbs/market-localizations.js +291 -0
  167. package/dist/cli/verbs/market-web-presences.d.ts +6 -0
  168. package/dist/cli/verbs/market-web-presences.js +139 -0
  169. package/dist/cli/verbs/marketing-activities.d.ts +6 -0
  170. package/dist/cli/verbs/marketing-activities.js +353 -0
  171. package/dist/cli/verbs/marketing-events.d.ts +6 -0
  172. package/dist/cli/verbs/marketing-events.js +132 -0
  173. package/dist/cli/verbs/markets.d.ts +6 -0
  174. package/dist/cli/verbs/markets.js +324 -0
  175. package/dist/cli/verbs/menus.d.ts +6 -0
  176. package/dist/cli/verbs/menus.js +251 -0
  177. package/dist/cli/verbs/metafield-definition-tools.d.ts +6 -0
  178. package/dist/cli/verbs/metafield-definition-tools.js +289 -0
  179. package/dist/cli/verbs/metafield-definitions.d.ts +6 -0
  180. package/dist/cli/verbs/metafield-definitions.js +240 -0
  181. package/dist/cli/verbs/metafields.d.ts +6 -0
  182. package/dist/cli/verbs/metafields.js +112 -0
  183. package/dist/cli/verbs/metaobject-definition-tools.d.ts +6 -0
  184. package/dist/cli/verbs/metaobject-definition-tools.js +83 -0
  185. package/dist/cli/verbs/metaobject-definitions.d.ts +6 -0
  186. package/dist/cli/verbs/metaobject-definitions.js +176 -0
  187. package/dist/cli/verbs/metaobjects.d.ts +6 -0
  188. package/dist/cli/verbs/metaobjects.js +297 -0
  189. package/dist/cli/verbs/mobile-platform-applications.d.ts +6 -0
  190. package/dist/cli/verbs/mobile-platform-applications.js +247 -0
  191. package/dist/cli/verbs/order-edit.d.ts +6 -0
  192. package/dist/cli/verbs/order-edit.js +596 -0
  193. package/dist/cli/verbs/orders.d.ts +6 -0
  194. package/dist/cli/verbs/orders.js +781 -0
  195. package/dist/cli/verbs/pages.d.ts +6 -0
  196. package/dist/cli/verbs/pages.js +234 -0
  197. package/dist/cli/verbs/payment-customizations.d.ts +6 -0
  198. package/dist/cli/verbs/payment-customizations.js +193 -0
  199. package/dist/cli/verbs/payment-terms.d.ts +6 -0
  200. package/dist/cli/verbs/payment-terms.js +228 -0
  201. package/dist/cli/verbs/point-of-sale.d.ts +6 -0
  202. package/dist/cli/verbs/point-of-sale.js +57 -0
  203. package/dist/cli/verbs/price-lists.d.ts +6 -0
  204. package/dist/cli/verbs/price-lists.js +426 -0
  205. package/dist/cli/verbs/product-feeds.d.ts +6 -0
  206. package/dist/cli/verbs/product-feeds.js +187 -0
  207. package/dist/cli/verbs/product-variants.d.ts +6 -0
  208. package/dist/cli/verbs/product-variants.js +388 -0
  209. package/dist/cli/verbs/products.d.ts +6 -0
  210. package/dist/cli/verbs/products.js +1257 -0
  211. package/dist/cli/verbs/publications.d.ts +6 -0
  212. package/dist/cli/verbs/publications.js +256 -0
  213. package/dist/cli/verbs/publishables.d.ts +6 -0
  214. package/dist/cli/verbs/publishables.js +73 -0
  215. package/dist/cli/verbs/refunds.d.ts +6 -0
  216. package/dist/cli/verbs/refunds.js +226 -0
  217. package/dist/cli/verbs/resource-feedback.d.ts +6 -0
  218. package/dist/cli/verbs/resource-feedback.js +119 -0
  219. package/dist/cli/verbs/returnable-fulfillments.d.ts +6 -0
  220. package/dist/cli/verbs/returnable-fulfillments.js +102 -0
  221. package/dist/cli/verbs/returns.d.ts +6 -0
  222. package/dist/cli/verbs/returns.js +506 -0
  223. package/dist/cli/verbs/reverse-deliveries.d.ts +6 -0
  224. package/dist/cli/verbs/reverse-deliveries.js +203 -0
  225. package/dist/cli/verbs/reverse-fulfillment-orders.d.ts +6 -0
  226. package/dist/cli/verbs/reverse-fulfillment-orders.js +157 -0
  227. package/dist/cli/verbs/saved-searches.d.ts +6 -0
  228. package/dist/cli/verbs/saved-searches.js +150 -0
  229. package/dist/cli/verbs/script-tags.d.ts +6 -0
  230. package/dist/cli/verbs/script-tags.js +179 -0
  231. package/dist/cli/verbs/segments.d.ts +6 -0
  232. package/dist/cli/verbs/segments.js +343 -0
  233. package/dist/cli/verbs/selling-plan-group-products.d.ts +6 -0
  234. package/dist/cli/verbs/selling-plan-group-products.js +115 -0
  235. package/dist/cli/verbs/selling-plan-groups.d.ts +6 -0
  236. package/dist/cli/verbs/selling-plan-groups.js +208 -0
  237. package/dist/cli/verbs/server-pixels.d.ts +6 -0
  238. package/dist/cli/verbs/server-pixels.js +172 -0
  239. package/dist/cli/verbs/shipping-packages.d.ts +6 -0
  240. package/dist/cli/verbs/shipping-packages.js +107 -0
  241. package/dist/cli/verbs/shop-policies.d.ts +6 -0
  242. package/dist/cli/verbs/shop-policies.js +91 -0
  243. package/dist/cli/verbs/shop-utils.d.ts +6 -0
  244. package/dist/cli/verbs/shop-utils.js +147 -0
  245. package/dist/cli/verbs/shop.d.ts +6 -0
  246. package/dist/cli/verbs/shop.js +177 -0
  247. package/dist/cli/verbs/shopify-functions.d.ts +6 -0
  248. package/dist/cli/verbs/shopify-functions.js +127 -0
  249. package/dist/cli/verbs/shopify-payments.d.ts +6 -0
  250. package/dist/cli/verbs/shopify-payments.js +111 -0
  251. package/dist/cli/verbs/staff.d.ts +6 -0
  252. package/dist/cli/verbs/staff.js +127 -0
  253. package/dist/cli/verbs/staged-uploads.d.ts +6 -0
  254. package/dist/cli/verbs/staged-uploads.js +128 -0
  255. package/dist/cli/verbs/store-credit.d.ts +6 -0
  256. package/dist/cli/verbs/store-credit.js +209 -0
  257. package/dist/cli/verbs/storefront-access-tokens.d.ts +6 -0
  258. package/dist/cli/verbs/storefront-access-tokens.js +183 -0
  259. package/dist/cli/verbs/subscription-billing-cycles.d.ts +6 -0
  260. package/dist/cli/verbs/subscription-billing-cycles.js +391 -0
  261. package/dist/cli/verbs/subscription-billing.d.ts +6 -0
  262. package/dist/cli/verbs/subscription-billing.js +391 -0
  263. package/dist/cli/verbs/subscription-contracts.d.ts +6 -0
  264. package/dist/cli/verbs/subscription-contracts.js +391 -0
  265. package/dist/cli/verbs/subscription-drafts.d.ts +6 -0
  266. package/dist/cli/verbs/subscription-drafts.js +315 -0
  267. package/dist/cli/verbs/tags.d.ts +6 -0
  268. package/dist/cli/verbs/tags.js +73 -0
  269. package/dist/cli/verbs/tax.d.ts +6 -0
  270. package/dist/cli/verbs/tax.js +114 -0
  271. package/dist/cli/verbs/taxonomy.d.ts +6 -0
  272. package/dist/cli/verbs/taxonomy.js +99 -0
  273. package/dist/cli/verbs/tender-transactions.d.ts +6 -0
  274. package/dist/cli/verbs/tender-transactions.js +105 -0
  275. package/dist/cli/verbs/themes.d.ts +6 -0
  276. package/dist/cli/verbs/themes.js +297 -0
  277. package/dist/cli/verbs/translations.d.ts +6 -0
  278. package/dist/cli/verbs/translations.js +221 -0
  279. package/dist/cli/verbs/types.d.ts +4 -0
  280. package/dist/cli/verbs/types.js +224 -0
  281. package/dist/cli/verbs/url-redirects.d.ts +6 -0
  282. package/dist/cli/verbs/url-redirects.js +407 -0
  283. package/dist/cli/verbs/validations.d.ts +6 -0
  284. package/dist/cli/verbs/validations.js +181 -0
  285. package/dist/cli/verbs/web-pixels.d.ts +6 -0
  286. package/dist/cli/verbs/web-pixels.js +145 -0
  287. package/dist/cli/verbs/web-presences.d.ts +6 -0
  288. package/dist/cli/verbs/web-presences.js +186 -0
  289. package/dist/cli/verbs/webhooks.d.ts +6 -0
  290. package/dist/cli/verbs/webhooks.js +336 -0
  291. package/dist/cli/workflows/files/stagedUploads.d.ts +28 -0
  292. package/dist/cli/workflows/files/stagedUploads.js +175 -0
  293. package/dist/cli/workflows/inventory/resolveInventoryItemId.d.ts +6 -0
  294. package/dist/cli/workflows/inventory/resolveInventoryItemId.js +59 -0
  295. package/dist/cli/workflows/productVariants/upsert.d.ts +8 -0
  296. package/dist/cli/workflows/productVariants/upsert.js +110 -0
  297. package/dist/cli/workflows/products/metafieldsUpsert.d.ts +6 -0
  298. package/dist/cli/workflows/products/metafieldsUpsert.js +94 -0
  299. package/dist/cli/workflows/products/publishablePublish.d.ts +21 -0
  300. package/dist/cli/workflows/products/publishablePublish.js +131 -0
  301. package/dist/cli/workflows/publications/resolvePublicationId.d.ts +17 -0
  302. package/dist/cli/workflows/publications/resolvePublicationId.js +93 -0
  303. package/dist/cli.d.ts +1 -0
  304. package/dist/cli.js +152 -0
  305. package/dist/defaults.d.ts +2 -0
  306. package/dist/defaults.js +38 -0
  307. package/dist/generated/admin-2026-04/index.d.ts +25 -0
  308. package/dist/generated/admin-2026-04/index.js +70 -0
  309. package/dist/generated/admin-2026-04/runtime/batcher.d.ts +105 -0
  310. package/dist/generated/admin-2026-04/runtime/batcher.js +203 -0
  311. package/dist/generated/admin-2026-04/runtime/createClient.d.ts +17 -0
  312. package/dist/generated/admin-2026-04/runtime/createClient.js +59 -0
  313. package/dist/generated/admin-2026-04/runtime/error.d.ts +18 -0
  314. package/dist/generated/admin-2026-04/runtime/error.js +44 -0
  315. package/dist/generated/admin-2026-04/runtime/fetcher.d.ts +10 -0
  316. package/dist/generated/admin-2026-04/runtime/fetcher.js +104 -0
  317. package/dist/generated/admin-2026-04/runtime/generateGraphqlOperation.d.ts +30 -0
  318. package/dist/generated/admin-2026-04/runtime/generateGraphqlOperation.js +191 -0
  319. package/dist/generated/admin-2026-04/runtime/index.d.ts +11 -0
  320. package/dist/generated/admin-2026-04/runtime/index.js +46 -0
  321. package/dist/generated/admin-2026-04/runtime/linkTypeMap.d.ts +9 -0
  322. package/dist/generated/admin-2026-04/runtime/linkTypeMap.js +142 -0
  323. package/dist/generated/admin-2026-04/runtime/typeSelection.d.ts +28 -0
  324. package/dist/generated/admin-2026-04/runtime/typeSelection.js +17 -0
  325. package/dist/generated/admin-2026-04/runtime/types.d.ts +55 -0
  326. package/dist/generated/admin-2026-04/runtime/types.js +17 -0
  327. package/dist/generated/admin-2026-04/schema.d.ts +102240 -0
  328. package/dist/generated/admin-2026-04/schema.graphql +91596 -0
  329. package/dist/generated/admin-2026-04/schema.js +20322 -0
  330. package/dist/generated/admin-2026-04/types.d.ts +24224 -0
  331. package/dist/generated/admin-2026-04/types.js +62299 -0
  332. package/dist/generated/help/schema-help.d.ts +30 -0
  333. package/dist/generated/help/schema-help.js +61833 -0
  334. package/dist/graphqlValidator.d.ts +17 -0
  335. package/dist/graphqlValidator.js +84 -0
  336. package/dist/index.d.ts +1 -0
  337. package/dist/index.js +23 -0
  338. package/package.json +65 -0
  339. package/schema/2026-04.graphql +61256 -0
  340. package/schema/2026-04.introspection.json +1 -0
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var upsert_exports = {};
20
+ __export(upsert_exports, {
21
+ upsertProductVariants: () => upsertProductVariants
22
+ });
23
+ module.exports = __toCommonJS(upsert_exports);
24
+ var import_errors = require("../../errors");
25
+ var import_gid = require("../../gid");
26
+ var import_output = require("../../output");
27
+ var import_router = require("../../router");
28
+ var import_userErrors = require("../../userErrors");
29
+ const requireProductId = (id) => {
30
+ if (!id) throw new import_errors.CliError("Missing --product-id", 2);
31
+ return (0, import_gid.coerceGid)(id, "Product");
32
+ };
33
+ const requireVariantsInput = (input) => {
34
+ if (Array.isArray(input)) return { variants: input, extra: {} };
35
+ if (input && typeof input === "object" && Array.isArray(input.variants)) {
36
+ const { variants, ...extra } = input;
37
+ return { variants, extra };
38
+ }
39
+ throw new import_errors.CliError("Missing variants input: pass --input as an array or { variants: [...] }", 2);
40
+ };
41
+ const upsertProductVariants = async ({
42
+ ctx,
43
+ productId,
44
+ input,
45
+ allowPartialUpdates,
46
+ strategy
47
+ }) => {
48
+ const resolvedProductId = requireProductId(productId);
49
+ const { variants, extra } = requireVariantsInput(input);
50
+ if (variants.length === 0) throw new import_errors.CliError("variants must include at least one item", 2);
51
+ const toCreate = variants.filter((v) => !v?.id);
52
+ const toUpdate = variants.filter((v) => Boolean(v?.id));
53
+ const createdIds = [];
54
+ const updatedIds = [];
55
+ const out = {};
56
+ if (toCreate.length > 0) {
57
+ const result = await (0, import_router.runMutation)(ctx, {
58
+ productVariantsBulkCreate: {
59
+ __args: {
60
+ productId: resolvedProductId,
61
+ variants: toCreate,
62
+ ...extra.media ? { media: extra.media } : {},
63
+ ...strategy ? { strategy } : extra.strategy ? { strategy: extra.strategy } : {}
64
+ },
65
+ productVariants: { id: true },
66
+ userErrors: { field: true, message: true, code: true }
67
+ }
68
+ });
69
+ if (result === void 0) return void 0;
70
+ (0, import_userErrors.maybeFailOnUserErrors)({
71
+ payload: result.productVariantsBulkCreate,
72
+ failOnUserErrors: ctx.failOnUserErrors
73
+ });
74
+ out.created = result.productVariantsBulkCreate;
75
+ for (const v of result.productVariantsBulkCreate?.productVariants ?? []) createdIds.push(v?.id);
76
+ }
77
+ if (toUpdate.length > 0) {
78
+ const result = await (0, import_router.runMutation)(ctx, {
79
+ productVariantsBulkUpdate: {
80
+ __args: {
81
+ productId: resolvedProductId,
82
+ variants: toUpdate,
83
+ allowPartialUpdates,
84
+ ...extra.media ? { media: extra.media } : {}
85
+ },
86
+ productVariants: { id: true },
87
+ userErrors: { field: true, message: true, code: true }
88
+ }
89
+ });
90
+ if (result === void 0) return void 0;
91
+ (0, import_userErrors.maybeFailOnUserErrors)({
92
+ payload: result.productVariantsBulkUpdate,
93
+ failOnUserErrors: ctx.failOnUserErrors
94
+ });
95
+ out.updated = result.productVariantsBulkUpdate;
96
+ for (const v of result.productVariantsBulkUpdate?.productVariants ?? []) updatedIds.push(v?.id);
97
+ }
98
+ if (ctx.quiet) {
99
+ (0, import_output.printIds)([...createdIds, ...updatedIds]);
100
+ return;
101
+ }
102
+ if (toCreate.length > 0 && toUpdate.length === 0) return out.created;
103
+ if (toUpdate.length > 0 && toCreate.length === 0) return out.updated;
104
+ return out;
105
+ };
106
+ // Annotate the CommonJS export names for ESM import in node:
107
+ 0 && (module.exports = {
108
+ upsertProductVariants
109
+ });
110
+ //# sourceMappingURL=upsert.js.map
@@ -0,0 +1,6 @@
1
+ import { type CommandContext } from '../../router';
2
+ export declare const metafieldsUpsert: ({ ctx, id, input, }: {
3
+ ctx: CommandContext;
4
+ id: string | undefined;
5
+ input: any;
6
+ }) => Promise<any>;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var metafieldsUpsert_exports = {};
20
+ __export(metafieldsUpsert_exports, {
21
+ metafieldsUpsert: () => metafieldsUpsert
22
+ });
23
+ module.exports = __toCommonJS(metafieldsUpsert_exports);
24
+ var import_errors = require("../../errors");
25
+ var import_gid = require("../../gid");
26
+ var import_output = require("../../output");
27
+ var import_router = require("../../router");
28
+ var import_userErrors = require("../../userErrors");
29
+ const requireProductId = (id) => {
30
+ if (!id) throw new import_errors.CliError("Missing --id", 2);
31
+ return (0, import_gid.coerceGid)(id, "Product");
32
+ };
33
+ const asArray = (value) => {
34
+ if (Array.isArray(value)) return value;
35
+ if (value && Array.isArray(value.metafields)) return value.metafields;
36
+ if (value && typeof value === "object") return [value];
37
+ return [];
38
+ };
39
+ const chunk = (items, size) => {
40
+ const out = [];
41
+ for (let i = 0; i < items.length; i += size) out.push(items.slice(i, i + size));
42
+ return out;
43
+ };
44
+ const metafieldsUpsert = async ({
45
+ ctx,
46
+ id,
47
+ input
48
+ }) => {
49
+ const ownerId = requireProductId(id);
50
+ const items = asArray(input);
51
+ if (items.length === 0) throw new import_errors.CliError("Missing metafield input: pass --input/--set/--set-json", 2);
52
+ const normalized = items.map((m) => {
53
+ if (!m || typeof m !== "object") throw new import_errors.CliError("Metafield inputs must be objects", 2);
54
+ const { key, namespace, type, value, compareDigest } = m;
55
+ if (!key) throw new import_errors.CliError("Metafield input missing key", 2);
56
+ if (value === void 0) throw new import_errors.CliError("Metafield input missing value", 2);
57
+ return {
58
+ ownerId,
59
+ key,
60
+ namespace,
61
+ type,
62
+ value: String(value),
63
+ compareDigest
64
+ };
65
+ });
66
+ const payloads = [];
67
+ const ids = [];
68
+ for (const group of chunk(normalized, 25)) {
69
+ const result = await (0, import_router.runMutation)(ctx, {
70
+ metafieldsSet: {
71
+ __args: { metafields: group },
72
+ metafields: { id: true },
73
+ userErrors: { field: true, message: true, elementIndex: true, code: true }
74
+ }
75
+ });
76
+ if (result === void 0) return void 0;
77
+ (0, import_userErrors.maybeFailOnUserErrors)({
78
+ payload: result.metafieldsSet,
79
+ failOnUserErrors: ctx.failOnUserErrors
80
+ });
81
+ payloads.push(result.metafieldsSet);
82
+ for (const mf of result.metafieldsSet?.metafields ?? []) ids.push(mf?.id);
83
+ }
84
+ if (ctx.quiet) {
85
+ (0, import_output.printIds)(ids);
86
+ return;
87
+ }
88
+ return payloads.length === 1 ? payloads[0] : payloads;
89
+ };
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ metafieldsUpsert
93
+ });
94
+ //# sourceMappingURL=metafieldsUpsert.js.map
@@ -0,0 +1,21 @@
1
+ import { type CommandContext } from '../../router';
2
+ export declare const parsePublishDate: ({ at, now, }: {
3
+ at: string | undefined;
4
+ now: boolean | undefined;
5
+ }) => string | undefined;
6
+ export declare const resolvePublicationIds: ({ ctx, publicationIds, publicationNames, }: {
7
+ ctx: CommandContext;
8
+ publicationIds: string[];
9
+ publicationNames: string[];
10
+ }) => Promise<string[]>;
11
+ export declare const publishProduct: ({ ctx, id, publicationIds, publishDate, }: {
12
+ ctx: CommandContext;
13
+ id: string | undefined;
14
+ publicationIds: string[];
15
+ publishDate?: string;
16
+ }) => Promise<any>;
17
+ export declare const unpublishProduct: ({ ctx, id, publicationIds, }: {
18
+ ctx: CommandContext;
19
+ id: string | undefined;
20
+ publicationIds: string[];
21
+ }) => Promise<any>;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var publishablePublish_exports = {};
20
+ __export(publishablePublish_exports, {
21
+ parsePublishDate: () => parsePublishDate,
22
+ publishProduct: () => publishProduct,
23
+ resolvePublicationIds: () => resolvePublicationIds,
24
+ unpublishProduct: () => unpublishProduct
25
+ });
26
+ module.exports = __toCommonJS(publishablePublish_exports);
27
+ var import_errors = require("../../errors");
28
+ var import_gid = require("../../gid");
29
+ var import_router = require("../../router");
30
+ var import_userErrors = require("../../userErrors");
31
+ var import_resolvePublicationId = require("../publications/resolvePublicationId");
32
+ const requireProductId = (id) => {
33
+ if (!id) throw new import_errors.CliError("Missing --id", 2);
34
+ return (0, import_gid.coerceGid)(id, "Product");
35
+ };
36
+ const parsePublishDate = ({
37
+ at,
38
+ now
39
+ }) => {
40
+ if (at && now) throw new import_errors.CliError("Pass either --at <iso> or --now, not both", 2);
41
+ if (now) return (/* @__PURE__ */ new Date()).toISOString();
42
+ return at;
43
+ };
44
+ const normalizePublicationId = (value) => {
45
+ const raw = value.trim();
46
+ if (!raw) throw new import_errors.CliError("publication ID cannot be empty", 2);
47
+ if ((0, import_gid.isGid)(raw)) {
48
+ if (!raw.startsWith("gid://shopify/Publication/")) {
49
+ throw new import_errors.CliError(`Expected a Publication GID (gid://shopify/Publication/...). Got: ${value}`, 2);
50
+ }
51
+ return raw;
52
+ }
53
+ if (/^\d+$/.test(raw)) return (0, import_gid.coerceGid)(raw, "Publication");
54
+ throw new import_errors.CliError(`Expected a numeric ID or full GID for Publication. Got: ${value}`, 2);
55
+ };
56
+ const resolvePublicationIds = async ({
57
+ ctx,
58
+ publicationIds,
59
+ publicationNames
60
+ }) => {
61
+ if (ctx.dryRun && publicationNames.length > 0) {
62
+ throw new import_errors.CliError(
63
+ "In --dry-run mode, --publication cannot be resolved without executing a query. Use --publication-id <gid|num> instead.",
64
+ 2
65
+ );
66
+ }
67
+ const ids = publicationIds.map(normalizePublicationId);
68
+ if (publicationNames.length > 0) {
69
+ const publications = await (0, import_resolvePublicationId.listPublications)(ctx);
70
+ for (const name of publicationNames) {
71
+ ids.push((0, import_resolvePublicationId.resolvePublicationIdFromList)({ publications, identifier: name }));
72
+ }
73
+ }
74
+ const unique = Array.from(new Set(ids));
75
+ if (unique.length === 0) throw new import_errors.CliError("Missing --publication-id or --publication", 2);
76
+ return unique;
77
+ };
78
+ const publishProduct = async ({
79
+ ctx,
80
+ id,
81
+ publicationIds,
82
+ publishDate
83
+ }) => {
84
+ const productId = requireProductId(id);
85
+ const input = publicationIds.map((publicationId) => ({
86
+ publicationId,
87
+ ...publishDate ? { publishDate } : {}
88
+ }));
89
+ const result = await (0, import_router.runMutation)(ctx, {
90
+ publishablePublish: {
91
+ __args: { id: productId, input },
92
+ publishable: { __typename: true, on_Product: { id: true } },
93
+ userErrors: { field: true, message: true }
94
+ }
95
+ });
96
+ if (result === void 0) return void 0;
97
+ (0, import_userErrors.maybeFailOnUserErrors)({
98
+ payload: result.publishablePublish,
99
+ failOnUserErrors: ctx.failOnUserErrors
100
+ });
101
+ return result.publishablePublish;
102
+ };
103
+ const unpublishProduct = async ({
104
+ ctx,
105
+ id,
106
+ publicationIds
107
+ }) => {
108
+ const productId = requireProductId(id);
109
+ const input = publicationIds.map((publicationId) => ({ publicationId }));
110
+ const result = await (0, import_router.runMutation)(ctx, {
111
+ publishableUnpublish: {
112
+ __args: { id: productId, input },
113
+ publishable: { __typename: true, on_Product: { id: true } },
114
+ userErrors: { field: true, message: true }
115
+ }
116
+ });
117
+ if (result === void 0) return void 0;
118
+ (0, import_userErrors.maybeFailOnUserErrors)({
119
+ payload: result.publishableUnpublish,
120
+ failOnUserErrors: ctx.failOnUserErrors
121
+ });
122
+ return result.publishableUnpublish;
123
+ };
124
+ // Annotate the CommonJS export names for ESM import in node:
125
+ 0 && (module.exports = {
126
+ parsePublishDate,
127
+ publishProduct,
128
+ resolvePublicationIds,
129
+ unpublishProduct
130
+ });
131
+ //# sourceMappingURL=publishablePublish.js.map
@@ -0,0 +1,17 @@
1
+ import { type CommandContext } from '../../router';
2
+ export type PublicationSummary = {
3
+ id: string;
4
+ name?: string | null;
5
+ catalogTitle?: string | null;
6
+ autoPublish?: boolean | null;
7
+ };
8
+ export declare const listPublications: (ctx: CommandContext) => Promise<PublicationSummary[]>;
9
+ export declare const resolvePublicationIdFromList: ({ publications, identifier, }: {
10
+ publications: PublicationSummary[];
11
+ identifier: string;
12
+ }) => string;
13
+ export declare const resolvePublicationId: ({ ctx, publications, identifier, }: {
14
+ ctx: CommandContext;
15
+ publications?: PublicationSummary[];
16
+ identifier: string;
17
+ }) => Promise<string>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var resolvePublicationId_exports = {};
20
+ __export(resolvePublicationId_exports, {
21
+ listPublications: () => listPublications,
22
+ resolvePublicationId: () => resolvePublicationId,
23
+ resolvePublicationIdFromList: () => resolvePublicationIdFromList
24
+ });
25
+ module.exports = __toCommonJS(resolvePublicationId_exports);
26
+ var import_errors = require("../../errors");
27
+ var import_gid = require("../../gid");
28
+ var import_router = require("../../router");
29
+ const listPublications = async (ctx) => {
30
+ const result = await (0, import_router.runQuery)(ctx, {
31
+ publications: {
32
+ __args: { first: 250 },
33
+ nodes: {
34
+ id: true,
35
+ name: true,
36
+ autoPublish: true,
37
+ catalog: { title: true }
38
+ }
39
+ }
40
+ });
41
+ if (result === void 0) return [];
42
+ const nodes = result.publications?.nodes ?? [];
43
+ return nodes.map((p) => ({
44
+ id: p?.id,
45
+ name: p?.name,
46
+ catalogTitle: p?.catalog?.title,
47
+ autoPublish: p?.autoPublish
48
+ }));
49
+ };
50
+ const normalize = (value) => value.trim().toLowerCase();
51
+ const resolvePublicationIdFromList = ({
52
+ publications,
53
+ identifier
54
+ }) => {
55
+ const raw = identifier.trim();
56
+ if (!raw) throw new import_errors.CliError("Missing publication identifier", 2);
57
+ if ((0, import_gid.isGid)(raw)) {
58
+ if (!raw.startsWith("gid://shopify/Publication/")) {
59
+ throw new import_errors.CliError(`Expected a Publication GID (gid://shopify/Publication/...). Got: ${raw}`, 2);
60
+ }
61
+ return raw;
62
+ }
63
+ if (/^\d+$/.test(raw)) return (0, import_gid.coerceGid)(raw, "Publication");
64
+ const target = normalize(raw);
65
+ const matches = publications.filter((p) => {
66
+ const names = [p.name, p.catalogTitle].filter((v) => Boolean(v));
67
+ return names.some((n) => normalize(n) === target);
68
+ });
69
+ if (matches.length === 1) return matches[0].id;
70
+ if (matches.length > 1) {
71
+ throw new import_errors.CliError(
72
+ `Publication name is ambiguous (${raw}): ${matches.map((m) => `${m.name ?? m.catalogTitle ?? "(unknown)"} (${m.id})`).join(", ")}`,
73
+ 2
74
+ );
75
+ }
76
+ const hint = publications.length === 0 ? "" : ` Known publications: ${publications.map((p) => p.name ?? p.catalogTitle ?? "(unknown)").filter((v, i, arr) => v && arr.indexOf(v) === i).slice(0, 12).join(", ")}`;
77
+ throw new import_errors.CliError(`No publication found matching: ${raw}.${hint}`, 2);
78
+ };
79
+ const resolvePublicationId = async ({
80
+ ctx,
81
+ publications,
82
+ identifier
83
+ }) => {
84
+ const list = publications ?? await listPublications(ctx);
85
+ return resolvePublicationIdFromList({ publications: list, identifier });
86
+ };
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ listPublications,
90
+ resolvePublicationId,
91
+ resolvePublicationIdFromList
92
+ });
93
+ //# sourceMappingURL=resolvePublicationId.js.map
package/dist/cli.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var import_dotenv = __toESM(require("dotenv"));
25
+ var import_path = require("path");
26
+ var import_client = require("./cli/client");
27
+ var import_errors = require("./cli/errors");
28
+ var import_globalFlags = require("./cli/globalFlags");
29
+ var import_headers = require("./cli/headers");
30
+ var import_render = require("./cli/help/render");
31
+ var import_router = require("./cli/router");
32
+ var import_adminClient = require("./adminClient");
33
+ var import_defaults = require("./defaults");
34
+ var import_command = require("./cli/command");
35
+ var import_output = require("./cli/output");
36
+ import_dotenv.default.config({ path: (0, import_path.resolve)(process.cwd(), ".env"), quiet: true });
37
+ const helpFlags = /* @__PURE__ */ new Set(["--help", "-h", "--help-full", "--help-all"]);
38
+ const hasHelpFlag = (args) => args.some((arg) => helpFlags.has(arg));
39
+ const wantsFullHelp = (args) => args.some((arg) => arg === "--help-full" || arg === "--help-all");
40
+ const main = async () => {
41
+ const command = (0, import_command.resolveCliCommand)();
42
+ (0, import_output.setGlobalCommand)(command);
43
+ const argv = process.argv.slice(2);
44
+ if (argv.length === 0 || argv[0] === "help" || hasHelpFlag([argv[0]])) {
45
+ console.log((0, import_render.renderTopLevelHelp)(command));
46
+ return;
47
+ }
48
+ const resource = argv[0];
49
+ if (!resource) {
50
+ console.log((0, import_render.renderTopLevelHelp)(command));
51
+ throw new import_errors.CliError("Missing <resource>", 2);
52
+ }
53
+ const afterResource = argv.slice(1);
54
+ const firstFlagIndex = afterResource.findIndex((t) => t.startsWith("-"));
55
+ const verbParts = firstFlagIndex === -1 ? afterResource : afterResource.slice(0, firstFlagIndex);
56
+ const rest = firstFlagIndex === -1 ? [] : afterResource.slice(firstFlagIndex);
57
+ const verb = verbParts.join(" ");
58
+ const isTypesCommand = resource === "types";
59
+ if (!verb) {
60
+ if (isTypesCommand && hasHelpFlag(afterResource)) {
61
+ } else {
62
+ const resourceHelp = (0, import_render.renderResourceHelp)(resource, command);
63
+ if (resourceHelp) {
64
+ console.log(resourceHelp);
65
+ if (hasHelpFlag(afterResource)) return;
66
+ throw new import_errors.CliError(`
67
+ Missing <verb> for "${resource}"`, 2);
68
+ } else if (!isTypesCommand) {
69
+ console.log((0, import_render.renderTopLevelHelp)(command));
70
+ throw new import_errors.CliError(`
71
+ Unknown resource: ${resource}`, 2);
72
+ }
73
+ }
74
+ }
75
+ if (hasHelpFlag(rest)) {
76
+ if (isTypesCommand) {
77
+ } else {
78
+ const verbHelp = (0, import_render.renderVerbHelp)(resource, verb, { showAllFields: wantsFullHelp(rest) }, command);
79
+ if (verbHelp) {
80
+ console.log(verbHelp);
81
+ return;
82
+ }
83
+ const resourceHelp = (0, import_render.renderResourceHelp)(resource, command);
84
+ if (resourceHelp) {
85
+ console.log(resourceHelp);
86
+ return;
87
+ }
88
+ console.log((0, import_render.renderTopLevelHelp)(command));
89
+ return;
90
+ }
91
+ }
92
+ const parsed = (0, import_globalFlags.parseGlobalFlags)(rest);
93
+ const dryRun = parsed.dryRun ?? false;
94
+ const isOfflineCommand = verb === "fields" || isTypesCommand;
95
+ const shopDomain = parsed.shopDomain;
96
+ const graphqlEndpoint = parsed.graphqlEndpoint;
97
+ const accessToken = parsed.accessToken;
98
+ const envHeaders = (0, import_headers.parseHeadersFromEnv)(process.env.SHOPIFY_HEADERS);
99
+ const cliHeaders = (0, import_headers.parseHeaderValues)(parsed.headers, "--header");
100
+ const headers = { ...envHeaders, ...cliHeaders };
101
+ const resolvedAccessToken = accessToken ?? process.env.SHOPIFY_ACCESS_TOKEN;
102
+ const hasAuthHeader = Object.keys(headers).some((name) => {
103
+ const normalized = name.toLowerCase();
104
+ return normalized === "authorization" || normalized === "x-shopify-access-token";
105
+ });
106
+ const apiVersion = parsed.apiVersion;
107
+ const warnMissingAccessToken = !resolvedAccessToken && !hasAuthHeader;
108
+ const verbose = parsed.verbose ?? false;
109
+ const resolvedApiVersion = (0, import_defaults.resolveAdminApiVersion)(apiVersion ?? process.env.SHOPIFY_API_VERSION);
110
+ const client = dryRun || isOfflineCommand ? (0, import_adminClient.createShopifyAdminClient)({
111
+ shopDomain: shopDomain ?? process.env.SHOPIFY_SHOP ?? "example.myshopify.com",
112
+ graphqlEndpoint: graphqlEndpoint ?? process.env.GRAPHQL_ENDPOINT,
113
+ accessToken: resolvedAccessToken ?? "DUMMY",
114
+ apiVersion: resolvedApiVersion,
115
+ headers,
116
+ verbose
117
+ }) : (0, import_client.createCliClientFromEnv)({
118
+ shopDomain,
119
+ graphqlEndpoint,
120
+ accessToken,
121
+ apiVersion,
122
+ headers,
123
+ verbose
124
+ });
125
+ await (0, import_router.runCommand)({
126
+ client,
127
+ resource,
128
+ verb,
129
+ argv: parsed.passthrough,
130
+ format: parsed.format ?? (isOfflineCommand ? "table" : "json"),
131
+ quiet: parsed.quiet ?? false,
132
+ view: parsed.view ?? "summary",
133
+ dryRun,
134
+ failOnUserErrors: !(parsed.noFailOnUserErrors ?? false),
135
+ warnMissingAccessToken,
136
+ // Raw GraphQL client options (for graphql command)
137
+ shopDomain: shopDomain ?? process.env.SHOPIFY_SHOP,
138
+ graphqlEndpoint: graphqlEndpoint ?? process.env.GRAPHQL_ENDPOINT,
139
+ accessToken: resolvedAccessToken,
140
+ apiVersion: resolvedApiVersion,
141
+ headers
142
+ });
143
+ };
144
+ main().catch((err) => {
145
+ if (err instanceof import_errors.CliError) {
146
+ console.error(err.message);
147
+ process.exit(err.exitCode);
148
+ }
149
+ console.error(err);
150
+ process.exit(1);
151
+ });
152
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_ADMIN_API_VERSION: "2026-04";
2
+ export declare const resolveAdminApiVersion: (apiVersion: unknown) => string;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var defaults_exports = {};
20
+ __export(defaults_exports, {
21
+ DEFAULT_ADMIN_API_VERSION: () => DEFAULT_ADMIN_API_VERSION,
22
+ resolveAdminApiVersion: () => resolveAdminApiVersion
23
+ });
24
+ module.exports = __toCommonJS(defaults_exports);
25
+ const DEFAULT_ADMIN_API_VERSION = "2026-04";
26
+ const resolveAdminApiVersion = (apiVersion) => {
27
+ if (typeof apiVersion === "string") {
28
+ const trimmed = apiVersion.trim();
29
+ if (trimmed.length > 0) return trimmed;
30
+ }
31
+ return DEFAULT_ADMIN_API_VERSION;
32
+ };
33
+ // Annotate the CommonJS export names for ESM import in node:
34
+ 0 && (module.exports = {
35
+ DEFAULT_ADMIN_API_VERSION,
36
+ resolveAdminApiVersion
37
+ });
38
+ //# sourceMappingURL=defaults.js.map