@ecomweb/cli 0.1.0 → 0.3.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.
- package/README.md +129 -3
- package/dist/base-command.d.ts +7 -3
- package/dist/base-command.js +22 -14
- package/dist/base-command.js.map +1 -1
- package/dist/commands/analytics/ga4/all.d.ts +1 -1
- package/dist/commands/analytics/ga4/all.js +2 -2
- package/dist/commands/analytics/ga4/all.js.map +1 -1
- package/dist/commands/analytics/ga4/overview.d.ts +1 -1
- package/dist/commands/analytics/ga4/overview.js +2 -2
- package/dist/commands/analytics/ga4/overview.js.map +1 -1
- package/dist/commands/analytics/ga4/sessions-by-channel.d.ts +1 -1
- package/dist/commands/analytics/ga4/sessions-by-channel.js +2 -2
- package/dist/commands/analytics/ga4/sessions-by-channel.js.map +1 -1
- package/dist/commands/analytics/ga4/trends.d.ts +1 -1
- package/dist/commands/analytics/ga4/trends.js +2 -2
- package/dist/commands/analytics/ga4/trends.js.map +1 -1
- package/dist/commands/analytics/ga4/users-by-country.d.ts +1 -1
- package/dist/commands/analytics/ga4/users-by-country.js +2 -2
- package/dist/commands/analytics/ga4/users-by-country.js.map +1 -1
- package/dist/commands/analytics/ga4/views-by-page.d.ts +1 -1
- package/dist/commands/analytics/ga4/views-by-page.js +2 -2
- package/dist/commands/analytics/ga4/views-by-page.js.map +1 -1
- package/dist/commands/analytics/gsc/all.d.ts +1 -1
- package/dist/commands/analytics/gsc/all.js +2 -2
- package/dist/commands/analytics/gsc/all.js.map +1 -1
- package/dist/commands/analytics/gsc/search-console.d.ts +1 -1
- package/dist/commands/analytics/gsc/search-console.js +2 -2
- package/dist/commands/analytics/gsc/search-console.js.map +1 -1
- package/dist/commands/analytics/sales/all.d.ts +1 -1
- package/dist/commands/analytics/sales/all.js +2 -2
- package/dist/commands/analytics/sales/all.js.map +1 -1
- package/dist/commands/analytics/sales/summary.d.ts +1 -1
- package/dist/commands/analytics/sales/summary.js +2 -2
- package/dist/commands/analytics/sales/summary.js.map +1 -1
- package/dist/commands/analytics/sales/time-series.d.ts +1 -1
- package/dist/commands/analytics/sales/time-series.js +2 -2
- package/dist/commands/analytics/sales/time-series.js.map +1 -1
- package/dist/commands/assets/bulk-delete.d.ts +1 -1
- package/dist/commands/assets/bulk-delete.js +3 -3
- package/dist/commands/assets/bulk-delete.js.map +1 -1
- package/dist/commands/assets/delete.d.ts +1 -1
- package/dist/commands/assets/delete.js +3 -3
- package/dist/commands/assets/delete.js.map +1 -1
- package/dist/commands/assets/get-by-entity.d.ts +1 -1
- package/dist/commands/assets/get-by-entity.js +2 -2
- package/dist/commands/assets/get-by-entity.js.map +1 -1
- package/dist/commands/assets/get.d.ts +1 -1
- package/dist/commands/assets/get.js +2 -2
- package/dist/commands/assets/get.js.map +1 -1
- package/dist/commands/assets/link.d.ts +1 -1
- package/dist/commands/assets/link.js +3 -3
- package/dist/commands/assets/link.js.map +1 -1
- package/dist/commands/assets/list.d.ts +1 -1
- package/dist/commands/assets/list.js +2 -2
- package/dist/commands/assets/list.js.map +1 -1
- package/dist/commands/assets/replace.d.ts +1 -1
- package/dist/commands/assets/replace.js +3 -3
- package/dist/commands/assets/replace.js.map +1 -1
- package/dist/commands/assets/unlink.d.ts +1 -1
- package/dist/commands/assets/unlink.js +3 -3
- package/dist/commands/assets/unlink.js.map +1 -1
- package/dist/commands/assets/update.d.ts +1 -1
- package/dist/commands/assets/update.js +3 -3
- package/dist/commands/assets/update.js.map +1 -1
- package/dist/commands/assets/upload-and-link.d.ts +1 -1
- package/dist/commands/assets/upload-and-link.js +5 -4
- package/dist/commands/assets/upload-and-link.js.map +1 -1
- package/dist/commands/assets/upload-video.d.ts +1 -1
- package/dist/commands/assets/upload-video.js +3 -3
- package/dist/commands/assets/upload-video.js.map +1 -1
- package/dist/commands/assets/upload.d.ts +1 -1
- package/dist/commands/assets/upload.js +5 -4
- package/dist/commands/assets/upload.js.map +1 -1
- package/dist/commands/attributes/create.d.ts +21 -0
- package/dist/commands/attributes/create.js +37 -0
- package/dist/commands/attributes/create.js.map +1 -0
- package/dist/commands/{shipping-programs → attributes}/delete.d.ts +3 -2
- package/dist/commands/attributes/delete.js +45 -0
- package/dist/commands/attributes/delete.js.map +1 -0
- package/dist/commands/{blog-posts/generate.d.ts → attributes/list.d.ts} +6 -6
- package/dist/commands/attributes/list.js +47 -0
- package/dist/commands/attributes/list.js.map +1 -0
- package/dist/commands/{shipping-methods → attributes}/update.d.ts +4 -7
- package/dist/commands/attributes/update.js +41 -0
- package/dist/commands/attributes/update.js.map +1 -0
- package/dist/commands/attributes/values/create.d.ts +28 -0
- package/dist/commands/attributes/values/create.js +45 -0
- package/dist/commands/attributes/values/create.js.map +1 -0
- package/dist/commands/{shipping-programs/get-rule.d.ts → attributes/values/delete.d.ts} +6 -5
- package/dist/commands/attributes/values/delete.js +48 -0
- package/dist/commands/attributes/values/delete.js.map +1 -0
- package/dist/commands/attributes/values/list.d.ts +24 -0
- package/dist/commands/attributes/values/list.js +29 -0
- package/dist/commands/attributes/values/list.js.map +1 -0
- package/dist/commands/attributes/values/update.d.ts +33 -0
- package/dist/commands/attributes/values/update.js +50 -0
- package/dist/commands/attributes/values/update.js.map +1 -0
- package/dist/commands/auth/login.d.ts +5 -1
- package/dist/commands/auth/login.js +70 -3
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.d.ts +1 -1
- package/dist/commands/auth/profiles/delete.d.ts +1 -1
- package/dist/commands/auth/profiles/list.d.ts +1 -1
- package/dist/commands/auth/profiles/list.js +1 -1
- package/dist/commands/auth/profiles/list.js.map +1 -1
- package/dist/commands/auth/profiles/use.d.ts +1 -1
- package/dist/commands/auth/register.d.ts +1 -1
- package/dist/commands/auth/status.d.ts +1 -1
- package/dist/commands/auth/status.js +10 -3
- package/dist/commands/auth/status.js.map +1 -1
- package/dist/commands/auth/verify.d.ts +1 -1
- package/dist/commands/banners/create.d.ts +1 -1
- package/dist/commands/banners/create.js +3 -3
- package/dist/commands/banners/create.js.map +1 -1
- package/dist/commands/banners/delete.d.ts +1 -1
- package/dist/commands/banners/delete.js +3 -3
- package/dist/commands/banners/delete.js.map +1 -1
- package/dist/commands/banners/get.d.ts +1 -1
- package/dist/commands/banners/get.js +2 -2
- package/dist/commands/banners/get.js.map +1 -1
- package/dist/commands/banners/list.d.ts +1 -1
- package/dist/commands/banners/list.js +2 -2
- package/dist/commands/banners/list.js.map +1 -1
- package/dist/commands/banners/update.d.ts +1 -1
- package/dist/commands/banners/update.js +3 -3
- package/dist/commands/banners/update.js.map +1 -1
- package/dist/commands/blog-categories/all.d.ts +1 -1
- package/dist/commands/blog-categories/all.js +2 -2
- package/dist/commands/blog-categories/all.js.map +1 -1
- package/dist/commands/blog-categories/create.d.ts +1 -1
- package/dist/commands/blog-categories/create.js +3 -4
- package/dist/commands/blog-categories/create.js.map +1 -1
- package/dist/commands/blog-categories/delete.d.ts +1 -1
- package/dist/commands/blog-categories/delete.js +3 -3
- package/dist/commands/blog-categories/delete.js.map +1 -1
- package/dist/commands/blog-categories/list.d.ts +1 -1
- package/dist/commands/blog-categories/list.js +2 -2
- package/dist/commands/blog-categories/list.js.map +1 -1
- package/dist/commands/blog-categories/update.d.ts +1 -1
- package/dist/commands/blog-categories/update.js +3 -3
- package/dist/commands/blog-categories/update.js.map +1 -1
- package/dist/commands/blog-posts/all.d.ts +1 -1
- package/dist/commands/blog-posts/all.js +2 -2
- package/dist/commands/blog-posts/all.js.map +1 -1
- package/dist/commands/blog-posts/batch-create.d.ts +1 -1
- package/dist/commands/blog-posts/batch-create.js +3 -3
- package/dist/commands/blog-posts/batch-create.js.map +1 -1
- package/dist/commands/blog-posts/batch-delete.d.ts +1 -1
- package/dist/commands/blog-posts/batch-delete.js +2 -2
- package/dist/commands/blog-posts/batch-delete.js.map +1 -1
- package/dist/commands/blog-posts/batch-update.d.ts +1 -1
- package/dist/commands/blog-posts/batch-update.js +3 -3
- package/dist/commands/blog-posts/batch-update.js.map +1 -1
- package/dist/commands/blog-posts/create.d.ts +1 -1
- package/dist/commands/blog-posts/create.js +3 -4
- package/dist/commands/blog-posts/create.js.map +1 -1
- package/dist/commands/blog-posts/delete.d.ts +1 -1
- package/dist/commands/blog-posts/delete.js +3 -3
- package/dist/commands/blog-posts/delete.js.map +1 -1
- package/dist/commands/blog-posts/get.d.ts +1 -1
- package/dist/commands/blog-posts/get.js +2 -2
- package/dist/commands/blog-posts/get.js.map +1 -1
- package/dist/commands/blog-posts/import.d.ts +1 -1
- package/dist/commands/blog-posts/import.js +3 -3
- package/dist/commands/blog-posts/import.js.map +1 -1
- package/dist/commands/blog-posts/list.d.ts +1 -1
- package/dist/commands/blog-posts/list.js +2 -2
- package/dist/commands/blog-posts/list.js.map +1 -1
- package/dist/commands/blog-posts/stats.d.ts +1 -1
- package/dist/commands/blog-posts/stats.js +2 -2
- package/dist/commands/blog-posts/stats.js.map +1 -1
- package/dist/commands/blog-posts/update.d.ts +1 -1
- package/dist/commands/blog-posts/update.js +3 -3
- package/dist/commands/blog-posts/update.js.map +1 -1
- package/dist/commands/blog-settings/get.d.ts +1 -1
- package/dist/commands/blog-settings/get.js +2 -2
- package/dist/commands/blog-settings/get.js.map +1 -1
- package/dist/commands/blog-settings/update.d.ts +1 -1
- package/dist/commands/blog-settings/update.js +3 -3
- package/dist/commands/blog-settings/update.js.map +1 -1
- package/dist/commands/blog-tags/all.d.ts +1 -1
- package/dist/commands/blog-tags/all.js +2 -2
- package/dist/commands/blog-tags/all.js.map +1 -1
- package/dist/commands/blog-tags/create.d.ts +1 -1
- package/dist/commands/blog-tags/create.js +3 -4
- package/dist/commands/blog-tags/create.js.map +1 -1
- package/dist/commands/blog-tags/delete.d.ts +1 -1
- package/dist/commands/blog-tags/delete.js +3 -3
- package/dist/commands/blog-tags/delete.js.map +1 -1
- package/dist/commands/blog-tags/list.d.ts +1 -1
- package/dist/commands/blog-tags/list.js +2 -2
- package/dist/commands/blog-tags/list.js.map +1 -1
- package/dist/commands/categories/all.d.ts +2 -18
- package/dist/commands/categories/all.js +2 -24
- package/dist/commands/categories/all.js.map +1 -1
- package/dist/commands/categories/create.d.ts +2 -27
- package/dist/commands/categories/create.js +2 -73
- package/dist/commands/categories/create.js.map +1 -1
- package/dist/commands/categories/delete.d.ts +2 -24
- package/dist/commands/categories/delete.js +2 -30
- package/dist/commands/categories/delete.js.map +1 -1
- package/dist/commands/categories/get.d.ts +2 -23
- package/dist/commands/categories/get.js +2 -26
- package/dist/commands/categories/get.js.map +1 -1
- package/dist/commands/categories/list.d.ts +2 -27
- package/dist/commands/categories/list.js +2 -65
- package/dist/commands/categories/list.js.map +1 -1
- package/dist/commands/categories/update.d.ts +2 -33
- package/dist/commands/categories/update.js +2 -79
- package/dist/commands/categories/update.js.map +1 -1
- package/dist/commands/collections/all.d.ts +1 -1
- package/dist/commands/collections/all.js +2 -2
- package/dist/commands/collections/all.js.map +1 -1
- package/dist/commands/collections/create.d.ts +1 -1
- package/dist/commands/collections/create.js +6 -5
- package/dist/commands/collections/create.js.map +1 -1
- package/dist/commands/collections/delete.d.ts +1 -1
- package/dist/commands/collections/delete.js +3 -3
- package/dist/commands/collections/delete.js.map +1 -1
- package/dist/commands/collections/get.d.ts +1 -1
- package/dist/commands/collections/get.js +2 -2
- package/dist/commands/collections/get.js.map +1 -1
- package/dist/commands/collections/list.d.ts +1 -1
- package/dist/commands/collections/list.js +2 -2
- package/dist/commands/collections/list.js.map +1 -1
- package/dist/commands/collections/update.d.ts +1 -1
- package/dist/commands/collections/update.js +3 -3
- package/dist/commands/collections/update.js.map +1 -1
- package/dist/commands/customers/addresses.d.ts +5 -2
- package/dist/commands/customers/addresses.js +8 -7
- package/dist/commands/customers/addresses.js.map +1 -1
- package/dist/commands/customers/create.d.ts +1 -1
- package/dist/commands/customers/create.js +4 -5
- package/dist/commands/customers/create.js.map +1 -1
- package/dist/commands/customers/delete.d.ts +1 -1
- package/dist/commands/customers/delete.js +3 -3
- package/dist/commands/customers/delete.js.map +1 -1
- package/dist/commands/customers/get.d.ts +5 -2
- package/dist/commands/customers/get.js +9 -7
- package/dist/commands/customers/get.js.map +1 -1
- package/dist/commands/{shipping-methods/get.d.ts → customers/insights.d.ts} +2 -2
- package/dist/commands/customers/insights.js +30 -0
- package/dist/commands/customers/insights.js.map +1 -0
- package/dist/commands/customers/list.d.ts +1 -1
- package/dist/commands/customers/list.js +3 -3
- package/dist/commands/customers/list.js.map +1 -1
- package/dist/commands/customers/stats.d.ts +1 -1
- package/dist/commands/customers/stats.js +2 -2
- package/dist/commands/customers/stats.js.map +1 -1
- package/dist/commands/customers/timeline.d.ts +26 -0
- package/dist/commands/customers/timeline.js +66 -0
- package/dist/commands/customers/timeline.js.map +1 -0
- package/dist/commands/customers/update.d.ts +1 -1
- package/dist/commands/customers/update.js +4 -4
- package/dist/commands/customers/update.js.map +1 -1
- package/dist/commands/deploy.d.ts +22 -0
- package/dist/commands/deploy.js +72 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/{shipping-zones/location-data.d.ts → deployments/index.d.ts} +2 -2
- package/dist/commands/deployments/index.js +17 -0
- package/dist/commands/deployments/index.js.map +1 -0
- package/dist/commands/deployments/promote.d.ts +22 -0
- package/dist/commands/deployments/promote.js +39 -0
- package/dist/commands/deployments/promote.js.map +1 -0
- package/dist/commands/deployments/rollback.d.ts +5 -0
- package/dist/commands/deployments/rollback.js +12 -0
- package/dist/commands/deployments/rollback.js.map +1 -0
- package/dist/commands/deployments/unpublish.d.ts +18 -0
- package/dist/commands/deployments/unpublish.js +21 -0
- package/dist/commands/deployments/unpublish.js.map +1 -0
- package/dist/commands/describe.d.ts +1 -1
- package/dist/commands/describe.js +6 -0
- package/dist/commands/describe.js.map +1 -1
- package/dist/commands/env/index.d.ts +18 -0
- package/dist/commands/env/index.js +17 -0
- package/dist/commands/env/index.js.map +1 -0
- package/dist/commands/env/set.d.ts +23 -0
- package/dist/commands/env/set.js +44 -0
- package/dist/commands/env/set.js.map +1 -0
- package/dist/commands/env/unset.d.ts +21 -0
- package/dist/commands/env/unset.js +26 -0
- package/dist/commands/env/unset.js.map +1 -0
- package/dist/commands/health/check.d.ts +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.js +3 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/logs.d.ts +21 -0
- package/dist/commands/logs.js +23 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/orders/batch-cancel.d.ts +1 -1
- package/dist/commands/orders/batch-cancel.js +2 -2
- package/dist/commands/orders/batch-cancel.js.map +1 -1
- package/dist/commands/orders/batch-fulfill.d.ts +1 -1
- package/dist/commands/orders/batch-fulfill.js +2 -2
- package/dist/commands/orders/batch-fulfill.js.map +1 -1
- package/dist/commands/orders/batch-update.d.ts +1 -1
- package/dist/commands/orders/batch-update.js +3 -3
- package/dist/commands/orders/batch-update.js.map +1 -1
- package/dist/commands/orders/cancel.d.ts +1 -1
- package/dist/commands/orders/cancel.js +3 -3
- package/dist/commands/orders/cancel.js.map +1 -1
- package/dist/commands/orders/create.d.ts +1 -1
- package/dist/commands/orders/create.js +4 -5
- package/dist/commands/orders/create.js.map +1 -1
- package/dist/commands/orders/deliver.d.ts +1 -1
- package/dist/commands/orders/deliver.js +3 -3
- package/dist/commands/orders/deliver.js.map +1 -1
- package/dist/commands/orders/fulfill.d.ts +1 -1
- package/dist/commands/orders/fulfill.js +3 -3
- package/dist/commands/orders/fulfill.js.map +1 -1
- package/dist/commands/orders/get.d.ts +1 -1
- package/dist/commands/orders/get.js +2 -2
- package/dist/commands/orders/get.js.map +1 -1
- package/dist/commands/orders/list.d.ts +1 -1
- package/dist/commands/orders/list.js +2 -2
- package/dist/commands/orders/list.js.map +1 -1
- package/dist/commands/orders/resume.d.ts +1 -1
- package/dist/commands/orders/resume.js +3 -3
- package/dist/commands/orders/resume.js.map +1 -1
- package/dist/commands/orders/ship.d.ts +1 -1
- package/dist/commands/orders/ship.js +3 -3
- package/dist/commands/orders/ship.js.map +1 -1
- package/dist/commands/orders/stats.d.ts +1 -1
- package/dist/commands/orders/stats.js +2 -2
- package/dist/commands/orders/stats.js.map +1 -1
- package/dist/commands/orders/transitions.d.ts +1 -1
- package/dist/commands/orders/transitions.js +2 -2
- package/dist/commands/orders/transitions.js.map +1 -1
- package/dist/commands/orders/update.d.ts +1 -1
- package/dist/commands/orders/update.js +3 -3
- package/dist/commands/orders/update.js.map +1 -1
- package/dist/commands/{shipping-programs/delete-rule.d.ts → product-services/assign.d.ts} +5 -7
- package/dist/commands/product-services/assign.js +51 -0
- package/dist/commands/product-services/assign.js.map +1 -0
- package/dist/commands/{shipping-programs → product-services}/create.d.ts +5 -7
- package/dist/commands/product-services/create.js +65 -0
- package/dist/commands/product-services/create.js.map +1 -0
- package/dist/commands/{shipping-methods → product-services}/delete.d.ts +2 -2
- package/dist/commands/product-services/delete.js +30 -0
- package/dist/commands/product-services/delete.js.map +1 -0
- package/dist/commands/product-services/list.d.ts +19 -0
- package/dist/commands/product-services/list.js +33 -0
- package/dist/commands/product-services/list.js.map +1 -0
- package/dist/commands/{shipping-programs → product-services}/update.d.ts +5 -7
- package/dist/commands/product-services/update.js +66 -0
- package/dist/commands/product-services/update.js.map +1 -0
- package/dist/commands/product-tags/create.d.ts +21 -0
- package/dist/commands/product-tags/create.js +52 -0
- package/dist/commands/product-tags/create.js.map +1 -0
- package/dist/commands/product-tags/delete.d.ts +21 -0
- package/dist/commands/product-tags/delete.js +35 -0
- package/dist/commands/product-tags/delete.js.map +1 -0
- package/dist/commands/{shipping-methods → product-tags}/list.d.ts +2 -5
- package/dist/commands/{shipping-methods → product-tags}/list.js +17 -21
- package/dist/commands/product-tags/list.js.map +1 -0
- package/dist/commands/product-tags/merge.d.ts +22 -0
- package/dist/commands/product-tags/merge.js +45 -0
- package/dist/commands/product-tags/merge.js.map +1 -0
- package/dist/commands/product-tags/rename.d.ts +22 -0
- package/dist/commands/product-tags/rename.js +36 -0
- package/dist/commands/product-tags/rename.js.map +1 -0
- package/dist/commands/products/all.d.ts +1 -1
- package/dist/commands/products/all.js +2 -2
- package/dist/commands/products/all.js.map +1 -1
- package/dist/commands/products/batch-create.d.ts +1 -1
- package/dist/commands/products/batch-create.js +3 -3
- package/dist/commands/products/batch-create.js.map +1 -1
- package/dist/commands/products/batch-delete.d.ts +1 -1
- package/dist/commands/products/batch-delete.js +2 -2
- package/dist/commands/products/batch-delete.js.map +1 -1
- package/dist/commands/products/batch-update.d.ts +1 -1
- package/dist/commands/products/batch-update.js +3 -3
- package/dist/commands/products/batch-update.js.map +1 -1
- package/dist/commands/products/create.d.ts +3 -2
- package/dist/commands/products/create.js +9 -7
- package/dist/commands/products/create.js.map +1 -1
- package/dist/commands/products/delete.d.ts +1 -1
- package/dist/commands/products/delete.js +3 -3
- package/dist/commands/products/delete.js.map +1 -1
- package/dist/commands/products/get.d.ts +1 -2
- package/dist/commands/products/get.js +3 -5
- package/dist/commands/products/get.js.map +1 -1
- package/dist/commands/products/list.d.ts +2 -4
- package/dist/commands/products/list.js +11 -11
- package/dist/commands/products/list.js.map +1 -1
- package/dist/commands/products/search.d.ts +2 -4
- package/dist/commands/products/search.js +11 -10
- package/dist/commands/products/search.js.map +1 -1
- package/dist/commands/products/stats.d.ts +1 -1
- package/dist/commands/products/stats.js +2 -2
- package/dist/commands/products/stats.js.map +1 -1
- package/dist/commands/products/update.d.ts +3 -2
- package/dist/commands/products/update.js +9 -6
- package/dist/commands/products/update.js.map +1 -1
- package/dist/commands/products/variant-options.d.ts +1 -1
- package/dist/commands/products/variant-options.js +12 -10
- package/dist/commands/products/variant-options.js.map +1 -1
- package/dist/commands/promotions/batch-delete.d.ts +1 -1
- package/dist/commands/promotions/batch-delete.js +2 -2
- package/dist/commands/promotions/batch-delete.js.map +1 -1
- package/dist/commands/promotions/create.d.ts +1 -1
- package/dist/commands/promotions/create.js +3 -4
- package/dist/commands/promotions/create.js.map +1 -1
- package/dist/commands/promotions/delete.d.ts +1 -1
- package/dist/commands/promotions/delete.js +3 -3
- package/dist/commands/promotions/delete.js.map +1 -1
- package/dist/commands/promotions/get-by-code.d.ts +1 -1
- package/dist/commands/promotions/get-by-code.js +2 -2
- package/dist/commands/promotions/get-by-code.js.map +1 -1
- package/dist/commands/promotions/get.d.ts +1 -1
- package/dist/commands/promotions/get.js +2 -2
- package/dist/commands/promotions/get.js.map +1 -1
- package/dist/commands/promotions/list.d.ts +1 -1
- package/dist/commands/promotions/list.js +2 -2
- package/dist/commands/promotions/list.js.map +1 -1
- package/dist/commands/promotions/stats.d.ts +1 -1
- package/dist/commands/promotions/stats.js +2 -2
- package/dist/commands/promotions/stats.js.map +1 -1
- package/dist/commands/promotions/update.d.ts +1 -1
- package/dist/commands/promotions/update.js +3 -3
- package/dist/commands/promotions/update.js.map +1 -1
- package/dist/commands/reviews/bulk-import.d.ts +1 -1
- package/dist/commands/reviews/bulk-import.js +3 -3
- package/dist/commands/reviews/bulk-import.js.map +1 -1
- package/dist/commands/reviews/bulk-moderate.d.ts +1 -1
- package/dist/commands/reviews/bulk-moderate.js +3 -3
- package/dist/commands/reviews/bulk-moderate.js.map +1 -1
- package/dist/commands/reviews/create.d.ts +1 -1
- package/dist/commands/reviews/create.js +3 -3
- package/dist/commands/reviews/create.js.map +1 -1
- package/dist/commands/reviews/delete-reply.d.ts +1 -1
- package/dist/commands/reviews/delete-reply.js +3 -3
- package/dist/commands/reviews/delete-reply.js.map +1 -1
- package/dist/commands/reviews/delete.d.ts +1 -1
- package/dist/commands/reviews/delete.js +3 -3
- package/dist/commands/reviews/delete.js.map +1 -1
- package/dist/commands/reviews/get.d.ts +1 -1
- package/dist/commands/reviews/get.js +2 -2
- package/dist/commands/reviews/get.js.map +1 -1
- package/dist/commands/reviews/list.d.ts +1 -1
- package/dist/commands/reviews/list.js +2 -2
- package/dist/commands/reviews/list.js.map +1 -1
- package/dist/commands/reviews/reply.d.ts +1 -1
- package/dist/commands/reviews/reply.js +3 -3
- package/dist/commands/reviews/reply.js.map +1 -1
- package/dist/commands/reviews/stats.d.ts +1 -1
- package/dist/commands/reviews/stats.js +2 -2
- package/dist/commands/reviews/stats.js.map +1 -1
- package/dist/commands/reviews/update-reply.d.ts +1 -1
- package/dist/commands/reviews/update-reply.js +3 -3
- package/dist/commands/reviews/update-reply.js.map +1 -1
- package/dist/commands/reviews/update.d.ts +1 -1
- package/dist/commands/reviews/update.js +3 -3
- package/dist/commands/reviews/update.js.map +1 -1
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.js +4 -4
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/shipping/locations.d.ts +20 -0
- package/dist/commands/shipping/locations.js +42 -0
- package/dist/commands/shipping/locations.js.map +1 -0
- package/dist/commands/shipping-rates/create.d.ts +32 -0
- package/dist/commands/shipping-rates/create.js +89 -0
- package/dist/commands/shipping-rates/create.js.map +1 -0
- package/dist/commands/shipping-rates/delete.d.ts +25 -0
- package/dist/commands/shipping-rates/delete.js +32 -0
- package/dist/commands/shipping-rates/delete.js.map +1 -0
- package/dist/commands/{shipping-programs → shipping-rates}/get.d.ts +3 -2
- package/dist/commands/shipping-rates/get.js +36 -0
- package/dist/commands/shipping-rates/get.js.map +1 -0
- package/dist/commands/shipping-rates/list.d.ts +21 -0
- package/dist/commands/shipping-rates/list.js +47 -0
- package/dist/commands/shipping-rates/list.js.map +1 -0
- package/dist/commands/{shipping-programs/create-rule.d.ts → shipping-rates/update.d.ts} +14 -16
- package/dist/commands/shipping-rates/update.js +94 -0
- package/dist/commands/shipping-rates/update.js.map +1 -0
- package/dist/commands/shipping-zones/create.d.ts +1 -1
- package/dist/commands/shipping-zones/create.js +4 -4
- package/dist/commands/shipping-zones/create.js.map +1 -1
- package/dist/commands/shipping-zones/delete.d.ts +1 -1
- package/dist/commands/shipping-zones/delete.js +4 -4
- package/dist/commands/shipping-zones/delete.js.map +1 -1
- package/dist/commands/shipping-zones/get.d.ts +1 -1
- package/dist/commands/shipping-zones/get.js +3 -3
- package/dist/commands/shipping-zones/get.js.map +1 -1
- package/dist/commands/shipping-zones/list.d.ts +2 -2
- package/dist/commands/shipping-zones/list.js +6 -6
- package/dist/commands/shipping-zones/list.js.map +1 -1
- package/dist/commands/shipping-zones/update.d.ts +1 -1
- package/dist/commands/shipping-zones/update.js +4 -4
- package/dist/commands/shipping-zones/update.js.map +1 -1
- package/dist/commands/skills/install.d.ts +20 -0
- package/dist/commands/skills/install.js +26 -0
- package/dist/commands/skills/install.js.map +1 -0
- package/dist/commands/store-menus/create.d.ts +1 -1
- package/dist/commands/store-menus/create.js +3 -4
- package/dist/commands/store-menus/create.js.map +1 -1
- package/dist/commands/store-menus/delete.d.ts +1 -1
- package/dist/commands/store-menus/delete.js +3 -3
- package/dist/commands/store-menus/delete.js.map +1 -1
- package/dist/commands/store-menus/get-by-ref.d.ts +1 -1
- package/dist/commands/store-menus/get-by-ref.js +2 -2
- package/dist/commands/store-menus/get-by-ref.js.map +1 -1
- package/dist/commands/store-menus/get.d.ts +1 -1
- package/dist/commands/store-menus/get.js +2 -2
- package/dist/commands/store-menus/get.js.map +1 -1
- package/dist/commands/store-menus/list.d.ts +1 -1
- package/dist/commands/store-menus/list.js +2 -2
- package/dist/commands/store-menus/list.js.map +1 -1
- package/dist/commands/store-menus/update.d.ts +1 -1
- package/dist/commands/store-menus/update.js +3 -3
- package/dist/commands/store-menus/update.js.map +1 -1
- package/dist/commands/store-pages/all.d.ts +1 -1
- package/dist/commands/store-pages/all.js +2 -2
- package/dist/commands/store-pages/all.js.map +1 -1
- package/dist/commands/store-pages/create.d.ts +1 -1
- package/dist/commands/store-pages/create.js +3 -4
- package/dist/commands/store-pages/create.js.map +1 -1
- package/dist/commands/store-pages/delete.d.ts +1 -1
- package/dist/commands/store-pages/delete.js +3 -3
- package/dist/commands/store-pages/delete.js.map +1 -1
- package/dist/commands/store-pages/duplicate.d.ts +1 -1
- package/dist/commands/store-pages/duplicate.js +3 -3
- package/dist/commands/store-pages/duplicate.js.map +1 -1
- package/dist/commands/store-pages/get.d.ts +1 -1
- package/dist/commands/store-pages/get.js +2 -2
- package/dist/commands/store-pages/get.js.map +1 -1
- package/dist/commands/store-pages/list.d.ts +1 -1
- package/dist/commands/store-pages/list.js +2 -2
- package/dist/commands/store-pages/list.js.map +1 -1
- package/dist/commands/store-pages/stats.d.ts +1 -1
- package/dist/commands/store-pages/stats.js +2 -2
- package/dist/commands/store-pages/stats.js.map +1 -1
- package/dist/commands/store-pages/update.d.ts +1 -1
- package/dist/commands/store-pages/update.js +3 -3
- package/dist/commands/store-pages/update.js.map +1 -1
- package/dist/commands/store-settings/auth/get.d.ts +18 -0
- package/dist/commands/store-settings/auth/get.js +23 -0
- package/dist/commands/store-settings/auth/get.js.map +1 -0
- package/dist/commands/{shipping-programs/calculate.d.ts → store-settings/auth/update.d.ts} +12 -9
- package/dist/commands/store-settings/auth/update.js +78 -0
- package/dist/commands/store-settings/auth/update.js.map +1 -0
- package/dist/commands/store-settings/get.d.ts +1 -1
- package/dist/commands/store-settings/get.js +2 -2
- package/dist/commands/store-settings/get.js.map +1 -1
- package/dist/commands/store-settings/update.d.ts +1 -1
- package/dist/commands/store-settings/update.js +3 -3
- package/dist/commands/store-settings/update.js.map +1 -1
- package/dist/commands/storefront/init.d.ts +43 -0
- package/dist/commands/storefront/init.js +137 -0
- package/dist/commands/storefront/init.js.map +1 -0
- package/dist/commands/storefront/key.d.ts +20 -0
- package/dist/commands/storefront/key.js +42 -0
- package/dist/commands/storefront/key.js.map +1 -0
- package/dist/commands/storefront/skill.d.ts +20 -0
- package/dist/commands/storefront/skill.js +54 -0
- package/dist/commands/storefront/skill.js.map +1 -0
- package/dist/commands/stores/current.d.ts +1 -1
- package/dist/commands/stores/current.js +24 -7
- package/dist/commands/stores/current.js.map +1 -1
- package/dist/commands/stores/info.d.ts +2 -5
- package/dist/commands/stores/info.js +4 -4
- package/dist/commands/stores/info.js.map +1 -1
- package/dist/commands/stores/list.d.ts +1 -1
- package/dist/commands/stores/switch.d.ts +2 -5
- package/dist/commands/stores/switch.js +8 -8
- package/dist/commands/stores/switch.js.map +1 -1
- package/dist/commands/{shipping-methods/create.d.ts → stores/update.d.ts} +2 -4
- package/dist/commands/stores/update.js +60 -0
- package/dist/commands/stores/update.js.map +1 -0
- package/dist/lib/api-client.d.ts +5 -3
- package/dist/lib/api-client.js +20 -6
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/attribute-errors.d.ts +12 -0
- package/dist/lib/attribute-errors.js +20 -0
- package/dist/lib/attribute-errors.js.map +1 -0
- package/dist/lib/categories-removed.d.ts +9 -0
- package/dist/lib/categories-removed.js +22 -0
- package/dist/lib/categories-removed.js.map +1 -0
- package/dist/lib/codex-skill.d.ts +9 -0
- package/dist/lib/codex-skill.js +70 -0
- package/dist/lib/codex-skill.js.map +1 -0
- package/dist/lib/config.d.ts +6 -4
- package/dist/lib/config.js +8 -8
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/deployments.d.ts +59 -0
- package/dist/lib/deployments.js +212 -0
- package/dist/lib/deployments.js.map +1 -0
- package/dist/lib/email-login.d.ts +35 -0
- package/dist/lib/email-login.js +86 -0
- package/dist/lib/email-login.js.map +1 -0
- package/dist/lib/env-vars.d.ts +16 -0
- package/dist/lib/env-vars.js +33 -0
- package/dist/lib/env-vars.js.map +1 -0
- package/dist/lib/errors.d.ts +3 -1
- package/dist/lib/errors.js +2 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/github-flow.d.ts +7 -0
- package/dist/lib/github-flow.js +34 -0
- package/dist/lib/github-flow.js.map +1 -0
- package/dist/lib/multipart.d.ts +2 -0
- package/dist/lib/multipart.js +15 -0
- package/dist/lib/multipart.js.map +1 -0
- package/dist/lib/output.d.ts +6 -6
- package/dist/lib/output.js +10 -10
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/pack-prebuilt.d.ts +12 -0
- package/dist/lib/pack-prebuilt.js +138 -0
- package/dist/lib/pack-prebuilt.js.map +1 -0
- package/dist/lib/pack-source.d.ts +10 -0
- package/dist/lib/pack-source.js +119 -0
- package/dist/lib/pack-source.js.map +1 -0
- package/dist/lib/project-setup.d.ts +15 -0
- package/dist/lib/project-setup.js +65 -0
- package/dist/lib/project-setup.js.map +1 -0
- package/dist/lib/publishable-key.d.ts +18 -0
- package/dist/lib/publishable-key.js +10 -0
- package/dist/lib/publishable-key.js.map +1 -0
- package/dist/lib/skill-update.d.ts +11 -0
- package/dist/lib/skill-update.js +74 -0
- package/dist/lib/skill-update.js.map +1 -0
- package/dist/lib/sse.d.ts +5 -0
- package/dist/lib/sse.js +36 -0
- package/dist/lib/sse.js.map +1 -0
- package/dist/lib/stdin.d.ts +6 -2
- package/dist/lib/stdin.js +9 -9
- package/dist/lib/stdin.js.map +1 -1
- package/dist/lib/template-download.d.ts +9 -0
- package/dist/lib/template-download.js +15 -0
- package/dist/lib/template-download.js.map +1 -0
- package/dist/lib/template-scaffold.d.ts +18 -0
- package/dist/lib/template-scaffold.js +91 -0
- package/dist/lib/template-scaffold.js.map +1 -0
- package/dist/lib/validators.d.ts +11 -0
- package/dist/lib/validators.js +152 -108
- package/dist/lib/validators.js.map +1 -1
- package/oclif.manifest.json +8960 -6766
- package/package.json +23 -12
- package/dist/commands/analytics/summary.js.map +0 -1
- package/dist/commands/analytics/time-series.js.map +0 -1
- package/dist/commands/blog-posts/generate.js +0 -42
- package/dist/commands/blog-posts/generate.js.map +0 -1
- package/dist/commands/blog-posts/search.d.ts +0 -27
- package/dist/commands/blog-posts/search.js +0 -55
- package/dist/commands/blog-posts/search.js.map +0 -1
- package/dist/commands/shipping-methods/create.js +0 -63
- package/dist/commands/shipping-methods/create.js.map +0 -1
- package/dist/commands/shipping-methods/delete.js +0 -30
- package/dist/commands/shipping-methods/delete.js.map +0 -1
- package/dist/commands/shipping-methods/get.js +0 -31
- package/dist/commands/shipping-methods/get.js.map +0 -1
- package/dist/commands/shipping-methods/list.js.map +0 -1
- package/dist/commands/shipping-methods/update.js +0 -69
- package/dist/commands/shipping-methods/update.js.map +0 -1
- package/dist/commands/shipping-programs/calculate.js +0 -72
- package/dist/commands/shipping-programs/calculate.js.map +0 -1
- package/dist/commands/shipping-programs/create-rule.js +0 -110
- package/dist/commands/shipping-programs/create-rule.js.map +0 -1
- package/dist/commands/shipping-programs/create.js +0 -75
- package/dist/commands/shipping-programs/create.js.map +0 -1
- package/dist/commands/shipping-programs/delete-rule.js +0 -42
- package/dist/commands/shipping-programs/delete-rule.js.map +0 -1
- package/dist/commands/shipping-programs/delete.js +0 -30
- package/dist/commands/shipping-programs/delete.js.map +0 -1
- package/dist/commands/shipping-programs/get-rule.js +0 -38
- package/dist/commands/shipping-programs/get-rule.js.map +0 -1
- package/dist/commands/shipping-programs/get.js +0 -32
- package/dist/commands/shipping-programs/get.js.map +0 -1
- package/dist/commands/shipping-programs/list-rules.d.ts +0 -34
- package/dist/commands/shipping-programs/list-rules.js +0 -86
- package/dist/commands/shipping-programs/list-rules.js.map +0 -1
- package/dist/commands/shipping-programs/list.d.ts +0 -30
- package/dist/commands/shipping-programs/list.js +0 -74
- package/dist/commands/shipping-programs/list.js.map +0 -1
- package/dist/commands/shipping-programs/update-rule.d.ts +0 -44
- package/dist/commands/shipping-programs/update-rule.js +0 -120
- package/dist/commands/shipping-programs/update-rule.js.map +0 -1
- package/dist/commands/shipping-programs/update.js +0 -81
- package/dist/commands/shipping-programs/update.js.map +0 -1
- package/dist/commands/shipping-zones/location-data.js +0 -25
- package/dist/commands/shipping-zones/location-data.js.map +0 -1
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface ProfileConfig {
|
|
2
2
|
api_url: string;
|
|
3
|
-
|
|
3
|
+
store_ref?: string;
|
|
4
4
|
store_name?: string;
|
|
5
5
|
default_output: "json" | "table" | "csv";
|
|
6
6
|
}
|
|
@@ -18,8 +18,8 @@ export declare class ConfigManager {
|
|
|
18
18
|
getProfile(name?: string): ProfileConfig;
|
|
19
19
|
setProfile(name: string, profile: Partial<ProfileConfig>): void;
|
|
20
20
|
setActiveProfile(name: string): void;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
setStoreRef(storeRef: string, storeName?: string): void;
|
|
22
|
+
getStoreRef(): string | undefined;
|
|
23
23
|
getApiKey(profileName?: string): string | undefined;
|
|
24
24
|
setApiKey(key: string, profileName?: string): void;
|
|
25
25
|
removeApiKey(profileName?: string): void;
|
|
@@ -27,11 +27,13 @@ export declare class ConfigManager {
|
|
|
27
27
|
access_token: string;
|
|
28
28
|
refresh_token: string;
|
|
29
29
|
expires_at: number;
|
|
30
|
+
email?: string;
|
|
30
31
|
} | undefined;
|
|
31
32
|
setJwtTokens(tokens: {
|
|
32
33
|
access_token: string;
|
|
33
34
|
refresh_token: string;
|
|
34
35
|
expires_at: number;
|
|
36
|
+
email?: string;
|
|
35
37
|
}, profileName?: string): void;
|
|
36
38
|
removeJwtTokens(profileName?: string): void;
|
|
37
39
|
isJwtExpired(profileName?: string): boolean;
|
|
@@ -40,5 +42,5 @@ export declare class ConfigManager {
|
|
|
40
42
|
resolve<T>(flag: T | undefined, envVar: string, profileValue: T | undefined, defaultValue: T): T;
|
|
41
43
|
resolveApiUrl(flag?: string): string;
|
|
42
44
|
resolveApiKey(flag?: string): string | undefined;
|
|
43
|
-
|
|
45
|
+
resolveStoreRef(flag?: string): string | undefined;
|
|
44
46
|
}
|
package/dist/lib/config.js
CHANGED
|
@@ -93,16 +93,16 @@ class ConfigManager {
|
|
|
93
93
|
this.config.active_profile = name;
|
|
94
94
|
this.save();
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
setStoreRef(storeRef, storeName) {
|
|
97
97
|
const profile = this.getProfile();
|
|
98
|
-
profile.
|
|
98
|
+
profile.store_ref = storeRef;
|
|
99
99
|
if (storeName)
|
|
100
100
|
profile.store_name = storeName;
|
|
101
101
|
this.config.profiles[this.config.active_profile] = profile;
|
|
102
102
|
this.save();
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
return this.getProfile().
|
|
104
|
+
getStoreRef() {
|
|
105
|
+
return this.getProfile().store_ref;
|
|
106
106
|
}
|
|
107
107
|
getApiKey(profileName) {
|
|
108
108
|
const name = profileName || this.config.active_profile;
|
|
@@ -187,13 +187,13 @@ class ConfigManager {
|
|
|
187
187
|
resolveApiKey(flag) {
|
|
188
188
|
return this.resolve(flag, "ECOMWEB_API_KEY", this.getApiKey(), undefined);
|
|
189
189
|
}
|
|
190
|
-
|
|
191
|
-
const envVal = process.env["
|
|
190
|
+
resolveStoreRef(flag) {
|
|
191
|
+
const envVal = process.env["ECOMWEB_STORE_REF"];
|
|
192
192
|
if (flag !== undefined)
|
|
193
193
|
return flag;
|
|
194
194
|
if (envVal !== undefined)
|
|
195
|
-
return
|
|
196
|
-
return this.
|
|
195
|
+
return envVal;
|
|
196
|
+
return this.getStoreRef();
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
exports.ConfigManager = ConfigManager;
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAczB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAE7D,MAAM,eAAe,GAAkB;IACrC,OAAO,EAAE,oCAAoC;IAC7C,cAAc,EAAE,MAAM;CACvB,CAAC;AAEF,MAAM,cAAc,GAAc;IAChC,cAAc,EAAE,SAAS;IACzB,QAAQ,EAAE;QACR,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE;KAChC;CACF,CAAC;AAEF,MAAa,aAAa;IAGxB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QACD,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,IAAa;QACtB,MAAM,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC;IACrE,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,OAA+B;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;YAC3B,GAAG,eAAe;YAClB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7B,GAAG,OAAO;SACX,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { PackedSource } from "./pack-source";
|
|
2
|
+
export type DeploymentStatus = "uploading" | "queued" | "building" | "built" | "running" | "stopped" | "failed";
|
|
3
|
+
export interface DeploymentView {
|
|
4
|
+
id: string;
|
|
5
|
+
kind: string;
|
|
6
|
+
status: DeploymentStatus;
|
|
7
|
+
error: string | null;
|
|
8
|
+
preview_url: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface HostingClient {
|
|
11
|
+
storePost<T = any>(path: string, body?: unknown): Promise<T>;
|
|
12
|
+
storeGet<T = any>(path: string): Promise<T>;
|
|
13
|
+
storeDelete<T = any>(path: string): Promise<T>;
|
|
14
|
+
storeEventStream(path: string): Promise<AsyncIterable<Buffer | string>>;
|
|
15
|
+
}
|
|
16
|
+
export interface DeployResult {
|
|
17
|
+
id: string;
|
|
18
|
+
status: DeploymentStatus;
|
|
19
|
+
preview_url: string | null;
|
|
20
|
+
production_urls?: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface ProductionView {
|
|
23
|
+
deployment_id: string | null;
|
|
24
|
+
state: "none" | "rolling_out" | "running" | "degraded";
|
|
25
|
+
rollout_error: string | null;
|
|
26
|
+
urls: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface DeployDeps {
|
|
29
|
+
client: HostingClient;
|
|
30
|
+
pack: (dir: string) => Promise<PackedSource>;
|
|
31
|
+
upload: (url: string, packed: PackedSource) => Promise<void>;
|
|
32
|
+
stderr: (text: string) => void;
|
|
33
|
+
liveLogs: boolean;
|
|
34
|
+
sleep?: (ms: number) => Promise<void>;
|
|
35
|
+
now?: () => number;
|
|
36
|
+
previewTimeoutMs?: number;
|
|
37
|
+
prod?: boolean;
|
|
38
|
+
artifact?: "source" | "prebuilt";
|
|
39
|
+
}
|
|
40
|
+
export declare function hostingError(error: unknown): unknown;
|
|
41
|
+
export declare function uploadSource(url: string, packed: PackedSource): Promise<void>;
|
|
42
|
+
export declare function streamLogs(client: HostingClient, id: string, onText: (text: string) => void, opts?: {
|
|
43
|
+
sleep?: (ms: number) => Promise<void>;
|
|
44
|
+
maxRetries?: number;
|
|
45
|
+
}): Promise<DeploymentStatus>;
|
|
46
|
+
export declare function followLogs(client: HostingClient, id: string, onText: (text: string) => void, opts?: {
|
|
47
|
+
sleep?: (ms: number) => Promise<void>;
|
|
48
|
+
maxRetries?: number;
|
|
49
|
+
}): Promise<DeploymentStatus>;
|
|
50
|
+
export declare function deploy(dir: string, deps: DeployDeps): Promise<DeployResult>;
|
|
51
|
+
export declare function promote(client: HostingClient, id: string, opts: {
|
|
52
|
+
wait: boolean;
|
|
53
|
+
sleep?: (ms: number) => Promise<void>;
|
|
54
|
+
now?: () => number;
|
|
55
|
+
timeoutMs?: number;
|
|
56
|
+
stderr?: (text: string) => void;
|
|
57
|
+
}): Promise<ProductionView>;
|
|
58
|
+
export declare function listDeployments(client: HostingClient): Promise<DeploymentView[]>;
|
|
59
|
+
export declare function unpublish(client: HostingClient): Promise<ProductionView>;
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.hostingError = hostingError;
|
|
7
|
+
exports.uploadSource = uploadSource;
|
|
8
|
+
exports.streamLogs = streamLogs;
|
|
9
|
+
exports.followLogs = followLogs;
|
|
10
|
+
exports.deploy = deploy;
|
|
11
|
+
exports.promote = promote;
|
|
12
|
+
exports.listDeployments = listDeployments;
|
|
13
|
+
exports.unpublish = unpublish;
|
|
14
|
+
const node_fs_1 = require("node:fs");
|
|
15
|
+
const axios_1 = __importDefault(require("axios"));
|
|
16
|
+
const errors_1 = require("./errors");
|
|
17
|
+
const sse_1 = require("./sse");
|
|
18
|
+
const TAIL_LINES = 100;
|
|
19
|
+
const defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
20
|
+
const unwrap = (res) => (res && typeof res === "object" && "data" in res && !("id" in res) ? res.data : res);
|
|
21
|
+
const base = (id) => `/hosting/deployments/${encodeURIComponent(id)}`;
|
|
22
|
+
function hostingError(error) {
|
|
23
|
+
const res = error.response;
|
|
24
|
+
if (!error.isAxiosError || !res)
|
|
25
|
+
return error;
|
|
26
|
+
const code = res.data?.code;
|
|
27
|
+
if (code === "HOSTING_DISABLED") {
|
|
28
|
+
return new errors_1.CliError("HOSTING_DISABLED", "Hosting isn't enabled for this store.", errors_1.ExitCode.NOT_FOUND, {
|
|
29
|
+
hint: "Ask ecomweb support to enable storefront hosting for this store.",
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (typeof code === "string" && (res.status === 400 || res.status === 404 || res.status === 409)) {
|
|
33
|
+
const exit = res.status === 404 ? errors_1.ExitCode.NOT_FOUND : errors_1.ExitCode.VALIDATION;
|
|
34
|
+
return new errors_1.CliError(code, res.data.message ?? code, exit);
|
|
35
|
+
}
|
|
36
|
+
return error;
|
|
37
|
+
}
|
|
38
|
+
async function call(fn) {
|
|
39
|
+
try {
|
|
40
|
+
return unwrap(await fn());
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
throw hostingError(error);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function uploadSource(url, packed) {
|
|
47
|
+
try {
|
|
48
|
+
await axios_1.default.put(url, (0, node_fs_1.createReadStream)(packed.file), {
|
|
49
|
+
headers: { "Content-Type": "application/gzip", "Content-Length": packed.bytes },
|
|
50
|
+
maxBodyLength: Infinity,
|
|
51
|
+
maxContentLength: Infinity,
|
|
52
|
+
timeout: 10 * 60_000,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const status = error.response?.status;
|
|
57
|
+
throw new errors_1.CliError("UPLOAD_FAILED", `Uploading the source failed${status ? ` (HTTP ${status})` : ""}`, errors_1.ExitCode.ERROR, {
|
|
58
|
+
hint: "Run ecomweb deploy again; the upload URL is valid for 15 minutes.",
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function streamLogs(client, id, onText, opts = {}) {
|
|
63
|
+
const sleep = opts.sleep ?? defaultSleep;
|
|
64
|
+
const maxRetries = opts.maxRetries ?? 5;
|
|
65
|
+
let printed = 0;
|
|
66
|
+
let failures = 0;
|
|
67
|
+
for (;;) {
|
|
68
|
+
let alive = false;
|
|
69
|
+
try {
|
|
70
|
+
let seen = 0;
|
|
71
|
+
for await (const e of (0, sse_1.parseSse)(await client.storeEventStream(`${base(id)}/logs`))) {
|
|
72
|
+
alive = true;
|
|
73
|
+
if (e.event === "log") {
|
|
74
|
+
for (const chunk of JSON.parse(e.data).chunks) {
|
|
75
|
+
const end = seen + chunk.length;
|
|
76
|
+
if (end > printed) {
|
|
77
|
+
onText(chunk.slice(Math.max(0, printed - seen)));
|
|
78
|
+
printed = end;
|
|
79
|
+
}
|
|
80
|
+
seen = end;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (e.event === "end") {
|
|
84
|
+
return JSON.parse(e.data).status;
|
|
85
|
+
}
|
|
86
|
+
else if (e.event === "error") {
|
|
87
|
+
if (/DEPLOYMENT_NOT_FOUND|deployment not found/i.test(e.data)) {
|
|
88
|
+
throw new errors_1.CliError("DEPLOYMENT_NOT_FOUND", `No deployment ${id}`, errors_1.ExitCode.NOT_FOUND, {
|
|
89
|
+
hint: "List them with: ecomweb deployments",
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
throw new errors_1.CliError("LOG_STREAM_FAILED", `The log stream failed: ${e.data}`, errors_1.ExitCode.ERROR);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
const mapped = hostingError(error);
|
|
98
|
+
if (mapped instanceof errors_1.CliError)
|
|
99
|
+
throw mapped;
|
|
100
|
+
}
|
|
101
|
+
failures = alive ? 0 : failures + 1;
|
|
102
|
+
if (failures >= maxRetries) {
|
|
103
|
+
throw new errors_1.CliError("LOG_STREAM_FAILED", "Lost the build log stream", errors_1.ExitCode.ERROR, {
|
|
104
|
+
hint: `The build carries on; follow it with: ecomweb logs ${id}`,
|
|
105
|
+
details: { id },
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
await sleep(2000);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async function followLogs(client, id, onText, opts = {}) {
|
|
112
|
+
const status = await streamLogs(client, id, onText, opts);
|
|
113
|
+
if (status === "failed") {
|
|
114
|
+
throw new errors_1.CliError("BUILD_FAILED", `Deployment ${id}: the build failed`, errors_1.ExitCode.BUILD_FAILED, {
|
|
115
|
+
details: { id },
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return status;
|
|
119
|
+
}
|
|
120
|
+
function tail(text, lines) {
|
|
121
|
+
const all = text.split("\n");
|
|
122
|
+
if (all[all.length - 1] === "")
|
|
123
|
+
all.pop();
|
|
124
|
+
return all.slice(-lines).map((l) => `${l}\n`).join("");
|
|
125
|
+
}
|
|
126
|
+
async function deploy(dir, deps) {
|
|
127
|
+
const { client, stderr } = deps;
|
|
128
|
+
const sleep = deps.sleep ?? defaultSleep;
|
|
129
|
+
const now = deps.now ?? Date.now;
|
|
130
|
+
const packed = await deps.pack(dir);
|
|
131
|
+
stderr(`Packed ${(packed.bytes / 1024 / 1024).toFixed(1)} MB of source\n`);
|
|
132
|
+
const created = await call(() => client.storePost("/hosting/deployments", {
|
|
133
|
+
sha256: packed.sha256,
|
|
134
|
+
bytes: packed.bytes,
|
|
135
|
+
...(deps.artifact === "prebuilt" && { artifact: "prebuilt" }),
|
|
136
|
+
}));
|
|
137
|
+
const id = created.id;
|
|
138
|
+
await deps.upload(created.upload_url, packed);
|
|
139
|
+
await call(() => client.storePost(`${base(id)}/build`));
|
|
140
|
+
stderr(`Deployment ${id}: building\n`);
|
|
141
|
+
let log = "";
|
|
142
|
+
const status = await streamLogs(client, id, (text) => {
|
|
143
|
+
log += text;
|
|
144
|
+
if (deps.liveLogs)
|
|
145
|
+
stderr(text);
|
|
146
|
+
}, { sleep });
|
|
147
|
+
if (status === "failed") {
|
|
148
|
+
const view = await call(() => client.storeGet(base(id)));
|
|
149
|
+
if (!deps.liveLogs && log)
|
|
150
|
+
stderr(`--- last ${TAIL_LINES} lines of the build log ---\n${tail(log, TAIL_LINES)}`);
|
|
151
|
+
throw new errors_1.CliError("BUILD_FAILED", `Build failed: ${view.error ?? "see the build log"}`, errors_1.ExitCode.BUILD_FAILED, {
|
|
152
|
+
hint: `Fix the build and run ecomweb deploy again. Full log: ecomweb logs ${id}`,
|
|
153
|
+
details: { id },
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
if (deps.prod) {
|
|
157
|
+
stderr(`Deployment ${id}: built, rolling out to production\n`);
|
|
158
|
+
const production = await promote(client, id, { wait: true, sleep, now, stderr });
|
|
159
|
+
return { id, status: "running", preview_url: null, production_urls: production.urls };
|
|
160
|
+
}
|
|
161
|
+
stderr(`Deployment ${id}: built, starting the preview\n`);
|
|
162
|
+
const deadline = now() + (deps.previewTimeoutMs ?? 5 * 60_000);
|
|
163
|
+
for (;;) {
|
|
164
|
+
const view = await call(() => client.storeGet(base(id)));
|
|
165
|
+
if (view.status === "running") {
|
|
166
|
+
stderr(`Preview: ${view.preview_url}\n`);
|
|
167
|
+
return { id, status: view.status, preview_url: view.preview_url };
|
|
168
|
+
}
|
|
169
|
+
if (view.status === "failed" || view.status === "stopped" || now() > deadline) {
|
|
170
|
+
throw new errors_1.CliError("ROLLOUT_FAILED", view.status === "built" ? "The preview did not start in time" : `The preview is ${view.status}`, errors_1.ExitCode.ROLLOUT_FAILED, { details: { id, status: view.status } });
|
|
171
|
+
}
|
|
172
|
+
await sleep(2000);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
async function promote(client, id, opts) {
|
|
176
|
+
const sleep = opts.sleep ?? defaultSleep;
|
|
177
|
+
const now = opts.now ?? Date.now;
|
|
178
|
+
const started = await call(() => client.storePost(`${base(id)}/promote`));
|
|
179
|
+
if (!opts.wait)
|
|
180
|
+
return started;
|
|
181
|
+
const deadline = now() + (opts.timeoutMs ?? 10 * 60_000);
|
|
182
|
+
for (;;) {
|
|
183
|
+
const view = await call(() => client.storeGet("/hosting/production"));
|
|
184
|
+
if (view.deployment_id === id && view.state === "running") {
|
|
185
|
+
opts.stderr?.(`Production: ${view.urls.join(", ")}\n`);
|
|
186
|
+
return view;
|
|
187
|
+
}
|
|
188
|
+
if (view.deployment_id !== id) {
|
|
189
|
+
const why = view.rollout_error ?? "production changed before the rollout finished";
|
|
190
|
+
throw new errors_1.CliError("ROLLOUT_FAILED", `The rollout of ${id} failed: ${why}`, errors_1.ExitCode.ROLLOUT_FAILED, {
|
|
191
|
+
hint: view.deployment_id
|
|
192
|
+
? `The store kept serving ${view.deployment_id}.`
|
|
193
|
+
: "The store is on the standard storefront.",
|
|
194
|
+
details: { id, serving: view.deployment_id },
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (now() > deadline) {
|
|
198
|
+
throw new errors_1.CliError("ROLLOUT_FAILED", `The rollout of ${id} did not finish in time`, errors_1.ExitCode.ROLLOUT_FAILED, {
|
|
199
|
+
hint: "It may still finish: check with ecomweb deployments.",
|
|
200
|
+
details: { id, state: view.state },
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
await sleep(3000);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function listDeployments(client) {
|
|
207
|
+
return call(() => client.storeGet("/hosting/deployments"));
|
|
208
|
+
}
|
|
209
|
+
function unpublish(client) {
|
|
210
|
+
return call(() => client.storeDelete("/hosting/production"));
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=deployments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/lib/deployments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface LoginClient {
|
|
2
|
+
post<T = any>(path: string, body?: unknown): Promise<T>;
|
|
3
|
+
get<T = any>(path: string): Promise<T>;
|
|
4
|
+
setJwtToken(token: string): void;
|
|
5
|
+
}
|
|
6
|
+
export interface LoginStore {
|
|
7
|
+
id: number;
|
|
8
|
+
ref: string;
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
export interface LoginSession {
|
|
12
|
+
access_token: string;
|
|
13
|
+
refresh_token: string;
|
|
14
|
+
expires_at: number;
|
|
15
|
+
}
|
|
16
|
+
export type LoginResult = {
|
|
17
|
+
status: "code_sent";
|
|
18
|
+
} | {
|
|
19
|
+
status: "logged_in";
|
|
20
|
+
store: LoginStore;
|
|
21
|
+
apiKey: string;
|
|
22
|
+
created?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export declare function emailLogin(client: LoginClient, opts: {
|
|
25
|
+
email: string;
|
|
26
|
+
code?: string;
|
|
27
|
+
storeRef?: string;
|
|
28
|
+
storeName?: string;
|
|
29
|
+
keyName?: string;
|
|
30
|
+
askStoreName?: () => Promise<string>;
|
|
31
|
+
askCode?: () => Promise<string>;
|
|
32
|
+
chooseStore?: (stores: LoginStore[]) => Promise<LoginStore>;
|
|
33
|
+
session?: LoginSession;
|
|
34
|
+
onSession?: (session: LoginSession) => void;
|
|
35
|
+
}): Promise<LoginResult>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emailLogin = emailLogin;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
5
|
+
async function emailLogin(client, opts) {
|
|
6
|
+
let code = opts.code?.trim();
|
|
7
|
+
let session = !code && opts.session ? await renewSession(client, opts.session) : undefined;
|
|
8
|
+
if (!session) {
|
|
9
|
+
if (!code) {
|
|
10
|
+
await client.post("/auth/signup", { email: opts.email });
|
|
11
|
+
if (!opts.askCode)
|
|
12
|
+
return { status: "code_sent" };
|
|
13
|
+
code = (await opts.askCode()).trim();
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
session = await client.post("/auth/verify", { email: opts.email, token: code });
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
if (isClientError(error)) {
|
|
20
|
+
throw new errors_1.CliError("INVALID_CODE", "That code is wrong or has expired", errors_1.ExitCode.AUTH_FAILURE, {
|
|
21
|
+
hint: `Get a new one: ecomweb auth login --email ${opts.email}`,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
client.setJwtToken(session.access_token);
|
|
28
|
+
opts.onSession?.(session);
|
|
29
|
+
const listed = await client.get("/auth/stores");
|
|
30
|
+
const stores = (Array.isArray(listed) ? listed : listed.data ?? []).map((s) => ({ id: s.id, ref: s.ref, name: s.name }));
|
|
31
|
+
const name = opts.storeName?.trim() || (!stores.length && opts.askStoreName ? (await opts.askStoreName()).trim() : "");
|
|
32
|
+
if (name) {
|
|
33
|
+
const created = await client.post("/auth/init", {
|
|
34
|
+
store_name: name,
|
|
35
|
+
api_key_name: opts.keyName ?? "CLI",
|
|
36
|
+
});
|
|
37
|
+
const { id, ref, name: storeName } = created.store;
|
|
38
|
+
return { status: "logged_in", store: { id, ref, name: storeName }, apiKey: created.api_key.plain_key, created: true };
|
|
39
|
+
}
|
|
40
|
+
if (!stores.length) {
|
|
41
|
+
throw new errors_1.CliError("NO_STORES", "This account has no store yet", errors_1.ExitCode.NOT_FOUND, {
|
|
42
|
+
hint: `Name it to create it (no new code needed): ecomweb auth login --email ${opts.email} --store-name "My Store"`,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
let store;
|
|
46
|
+
if (opts.storeRef) {
|
|
47
|
+
store = stores.find((s) => s.ref === opts.storeRef);
|
|
48
|
+
if (!store) {
|
|
49
|
+
throw new errors_1.CliError("STORE_NOT_FOUND", `This account has no store "${opts.storeRef}"`, errors_1.ExitCode.NOT_FOUND, {
|
|
50
|
+
details: { stores: stores.map(({ ref, name }) => ({ ref, name })) },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else if (stores.length === 1) {
|
|
55
|
+
store = stores[0];
|
|
56
|
+
}
|
|
57
|
+
else if (opts.chooseStore) {
|
|
58
|
+
store = await opts.chooseStore(stores);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
throw new errors_1.CliError("STORE_REQUIRED", "This account has several stores: say which one with --store-ref", errors_1.ExitCode.VALIDATION, {
|
|
62
|
+
hint: `Run again with no new code needed: ecomweb auth login --email ${opts.email} --store-ref <ref>`,
|
|
63
|
+
details: { stores: stores.map(({ ref, name }) => ({ ref, name })) },
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
const bound = await client.post("/auth/init", {
|
|
67
|
+
store_id: store.id,
|
|
68
|
+
api_key_name: opts.keyName ?? "CLI",
|
|
69
|
+
});
|
|
70
|
+
return { status: "logged_in", store: store, apiKey: bound.api_key.plain_key };
|
|
71
|
+
}
|
|
72
|
+
async function renewSession(client, kept) {
|
|
73
|
+
try {
|
|
74
|
+
return await client.post("/auth/refresh", { refresh_token: kept.refresh_token });
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
if (isClientError(error))
|
|
78
|
+
return undefined;
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function isClientError(error) {
|
|
83
|
+
const status = error.response?.status;
|
|
84
|
+
return Boolean(status && status >= 400 && status < 500);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=email-login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-login.js","sourceRoot":"","sources":["../../src/lib/email-login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ApiClient } from "./api-client";
|
|
2
|
+
export type EnvClient = Pick<ApiClient, "storeGet" | "storePut" | "storeDelete">;
|
|
3
|
+
export interface EnvVarView {
|
|
4
|
+
name: string;
|
|
5
|
+
target: "runtime" | "build";
|
|
6
|
+
updated_at: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function parseAssignment(arg: string, stdin?: string | null): {
|
|
9
|
+
name: string;
|
|
10
|
+
value: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function listEnv(client: EnvClient): Promise<EnvVarView[]>;
|
|
13
|
+
export declare function setEnv(client: EnvClient, name: string, value: string, build: boolean): Promise<EnvVarView>;
|
|
14
|
+
export declare function unsetEnv(client: EnvClient, name: string): Promise<{
|
|
15
|
+
removed: true;
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseAssignment = parseAssignment;
|
|
4
|
+
exports.listEnv = listEnv;
|
|
5
|
+
exports.setEnv = setEnv;
|
|
6
|
+
exports.unsetEnv = unsetEnv;
|
|
7
|
+
const errors_1 = require("./errors");
|
|
8
|
+
function parseAssignment(arg, stdin) {
|
|
9
|
+
const eq = arg.indexOf("=");
|
|
10
|
+
if (stdin != null) {
|
|
11
|
+
if (eq !== -1) {
|
|
12
|
+
throw new errors_1.CliError("ENV_VALUE_TWICE", "Give the value as NAME=VALUE or on stdin, not both", errors_1.ExitCode.VALIDATION);
|
|
13
|
+
}
|
|
14
|
+
return { name: arg, value: stdin.replace(/\r?\n$/, "") };
|
|
15
|
+
}
|
|
16
|
+
if (eq <= 0) {
|
|
17
|
+
throw new errors_1.CliError("ENV_ASSIGNMENT_INVALID", `Expected NAME=VALUE, got ${arg}`, errors_1.ExitCode.VALIDATION, {
|
|
18
|
+
hint: "For secrets, pipe the value in: printf %s \"$VALUE\" | ecomweb env set NAME --stdin",
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return { name: arg.slice(0, eq), value: arg.slice(eq + 1) };
|
|
22
|
+
}
|
|
23
|
+
const envPath = (name) => (name ? `/hosting/env/${encodeURIComponent(name)}` : "/hosting/env");
|
|
24
|
+
function listEnv(client) {
|
|
25
|
+
return client.storeGet(envPath());
|
|
26
|
+
}
|
|
27
|
+
function setEnv(client, name, value, build) {
|
|
28
|
+
return client.storePut(envPath(name), { value, target: build ? "build" : "runtime" });
|
|
29
|
+
}
|
|
30
|
+
function unsetEnv(client, name) {
|
|
31
|
+
return client.storeDelete(envPath(name));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=env-vars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-vars.js","sourceRoot":"","sources":["../../src/lib/env-vars.ts"],"names":[],"mappings":";;AAeA,0CAcC;AAID,0BAEC;AAED,wBAEC;AAED,4BAEC;AA1CD,qCAA8C;AAc9C,SAAgB,eAAe,CAAC,GAAW,EAAE,KAAqB;IAChE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,iBAAQ,CAAC,iBAAiB,EAAE,oDAAoD,EAAE,iBAAQ,CAAC,UAAU,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,iBAAQ,CAAC,wBAAwB,EAAE,4BAA4B,GAAG,EAAE,EAAE,iBAAQ,CAAC,UAAU,EAAE;YACnG,IAAI,EAAE,qFAAqF;SAC5F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;AAExG,SAAgB,OAAO,CAAC,MAAiB;IACvC,OAAO,MAAM,CAAC,QAAQ,CAAe,OAAO,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,MAAM,CAAC,MAAiB,EAAE,IAAY,EAAE,KAAa,EAAE,KAAc;IACnF,OAAO,MAAM,CAAC,QAAQ,CAAa,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,SAAgB,QAAQ,CAAC,MAAiB,EAAE,IAAY;IACtD,OAAO,MAAM,CAAC,WAAW,CAAoB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
package/dist/lib/errors.d.ts
CHANGED
package/dist/lib/errors.js
CHANGED
|
@@ -9,6 +9,8 @@ var ExitCode;
|
|
|
9
9
|
ExitCode[ExitCode["VALIDATION"] = 2] = "VALIDATION";
|
|
10
10
|
ExitCode[ExitCode["AUTH_FAILURE"] = 3] = "AUTH_FAILURE";
|
|
11
11
|
ExitCode[ExitCode["NOT_FOUND"] = 4] = "NOT_FOUND";
|
|
12
|
+
ExitCode[ExitCode["BUILD_FAILED"] = 5] = "BUILD_FAILED";
|
|
13
|
+
ExitCode[ExitCode["ROLLOUT_FAILED"] = 6] = "ROLLOUT_FAILED";
|
|
12
14
|
})(ExitCode || (exports.ExitCode = ExitCode = {}));
|
|
13
15
|
class CliError extends Error {
|
|
14
16
|
constructor(code, message, exitCode = ExitCode.ERROR, options) {
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":";;;AAwDA,kCAcC;AAzDD,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,mDAAc,CAAA;IACd,uDAAgB,CAAA;IAChB,iDAAa,CAAA;IACb,uDAAgB,CAAA;IAChB,2DAAkB,CAAA;AACpB,CAAC,EARW,QAAQ,wBAAR,QAAQ,QAQnB;AASD,MAAa,QAAS,SAAQ,KAAK;IAIjC,YACE,IAAY,EACZ,OAAe,EACf,WAAqB,QAAQ,CAAC,KAAK,EACnC,OAA8D;QAE9D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG;YACb,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5C,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;CACF;AAxBD,4BAwBC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO;QACL,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE;QACtD,QAAQ,EAAE,QAAQ,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAYD,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,cAAc,IAAI,GAAG,IAAK,GAAW,CAAC,YAAY,KAAK,IAAI,CAAC;AAChH,CAAC;AAED,SAAS,YAAY,CAAC,GAAmB;IACvC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChC,MAAM,aAAa,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;IAElE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,aAAa,IAAI,0BAA0B;wBACpD,IAAI,EAAE,yBAAyB;qBAChC;iBACF;gBACD,QAAQ,EAAE,QAAQ,CAAC,YAAY;aAChC,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,aAAa,IAAI,2BAA2B;wBACrD,IAAI,EAAE,4BAA4B;qBACnC;iBACF;gBACD,QAAQ,EAAE,QAAQ,CAAC,YAAY;aAChC,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,aAAa,IAAI,qBAAqB;qBAChD;iBACF;gBACD,QAAQ,EAAE,QAAQ,CAAC,SAAS;aAC7B,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,aAAa,IAAI,oBAAoB;wBAC9C,GAAG,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,IAA+B,EAAE,CAAC;qBAC1D;iBACF;gBACD,QAAQ,EAAE,QAAQ,CAAC,UAAU;aAC9B,CAAC;QACJ,KAAK,GAAG;YACN,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,uCAAuC;qBACjD;iBACF;gBACD,QAAQ,EAAE,QAAQ,CAAC,KAAK;aACzB,CAAC;QACJ;YACE,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ,MAAM,IAAI,SAAS,EAAE;wBACnC,OAAO,EAAE,aAAa,IAAI,cAAc,MAAM,EAAE;qBACjD;iBACF;gBACD,QAAQ,EAAE,QAAQ,CAAC,KAAK;aACzB,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function waitFor<T>(poll: () => Promise<T>, done: (value: T) => boolean, opts: {
|
|
2
|
+
intervalMs: number;
|
|
3
|
+
timeoutMs: number;
|
|
4
|
+
sleep?: (ms: number) => Promise<void>;
|
|
5
|
+
now?: () => number;
|
|
6
|
+
}): Promise<T>;
|
|
7
|
+
export declare function openInBrowser(url: string): void;
|