@ecomweb/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.
- package/README.md +96 -0
- package/bin/run.js +8 -0
- package/bin/run.ts +5 -0
- package/dist/base-command.d.ts +32 -0
- package/dist/base-command.js +111 -0
- package/dist/base-command.js.map +1 -0
- package/dist/commands/analytics/ga4/all.d.ts +21 -0
- package/dist/commands/analytics/ga4/all.js +60 -0
- package/dist/commands/analytics/ga4/all.js.map +1 -0
- package/dist/commands/analytics/ga4/overview.d.ts +20 -0
- package/dist/commands/analytics/ga4/overview.js +40 -0
- package/dist/commands/analytics/ga4/overview.js.map +1 -0
- package/dist/commands/analytics/ga4/sessions-by-channel.d.ts +21 -0
- package/dist/commands/analytics/ga4/sessions-by-channel.js +44 -0
- package/dist/commands/analytics/ga4/sessions-by-channel.js.map +1 -0
- package/dist/commands/analytics/ga4/trends.d.ts +21 -0
- package/dist/commands/analytics/ga4/trends.js +46 -0
- package/dist/commands/analytics/ga4/trends.js.map +1 -0
- package/dist/commands/analytics/ga4/users-by-country.d.ts +21 -0
- package/dist/commands/analytics/ga4/users-by-country.js +44 -0
- package/dist/commands/analytics/ga4/users-by-country.js.map +1 -0
- package/dist/commands/analytics/ga4/views-by-page.d.ts +21 -0
- package/dist/commands/analytics/ga4/views-by-page.js +44 -0
- package/dist/commands/analytics/ga4/views-by-page.js.map +1 -0
- package/dist/commands/analytics/gsc/all.d.ts +21 -0
- package/dist/commands/analytics/gsc/all.js +46 -0
- package/dist/commands/analytics/gsc/all.js.map +1 -0
- package/dist/commands/analytics/gsc/search-console.d.ts +21 -0
- package/dist/commands/analytics/gsc/search-console.js +45 -0
- package/dist/commands/analytics/gsc/search-console.js.map +1 -0
- package/dist/commands/analytics/sales/all.d.ts +21 -0
- package/dist/commands/analytics/sales/all.js +54 -0
- package/dist/commands/analytics/sales/all.js.map +1 -0
- package/dist/commands/analytics/sales/summary.d.ts +21 -0
- package/dist/commands/analytics/sales/summary.js +44 -0
- package/dist/commands/analytics/sales/summary.js.map +1 -0
- package/dist/commands/analytics/sales/time-series.d.ts +19 -0
- package/dist/commands/analytics/sales/time-series.js +35 -0
- package/dist/commands/analytics/sales/time-series.js.map +1 -0
- package/dist/commands/analytics/summary.js.map +1 -0
- package/dist/commands/analytics/time-series.js.map +1 -0
- package/dist/commands/assets/bulk-delete.d.ts +19 -0
- package/dist/commands/assets/bulk-delete.js +41 -0
- package/dist/commands/assets/bulk-delete.js.map +1 -0
- package/dist/commands/assets/delete.d.ts +21 -0
- package/dist/commands/assets/delete.js +32 -0
- package/dist/commands/assets/delete.js.map +1 -0
- package/dist/commands/assets/get-by-entity.d.ts +26 -0
- package/dist/commands/assets/get-by-entity.js +43 -0
- package/dist/commands/assets/get-by-entity.js.map +1 -0
- package/dist/commands/assets/get.d.ts +22 -0
- package/dist/commands/assets/get.js +37 -0
- package/dist/commands/assets/get.js.map +1 -0
- package/dist/commands/assets/link.d.ts +26 -0
- package/dist/commands/assets/link.js +71 -0
- package/dist/commands/assets/link.js.map +1 -0
- package/dist/commands/assets/list.d.ts +28 -0
- package/dist/commands/assets/list.js +84 -0
- package/dist/commands/assets/list.js.map +1 -0
- package/dist/commands/assets/replace.d.ts +23 -0
- package/dist/commands/assets/replace.js +102 -0
- package/dist/commands/assets/replace.js.map +1 -0
- package/dist/commands/assets/unlink.d.ts +22 -0
- package/dist/commands/assets/unlink.js +52 -0
- package/dist/commands/assets/unlink.js.map +1 -0
- package/dist/commands/assets/update.d.ts +29 -0
- package/dist/commands/assets/update.js +84 -0
- package/dist/commands/assets/update.js.map +1 -0
- package/dist/commands/assets/upload-and-link.d.ts +29 -0
- package/dist/commands/assets/upload-and-link.js +127 -0
- package/dist/commands/assets/upload-and-link.js.map +1 -0
- package/dist/commands/assets/upload-video.d.ts +22 -0
- package/dist/commands/assets/upload-video.js +88 -0
- package/dist/commands/assets/upload-video.js.map +1 -0
- package/dist/commands/assets/upload.d.ts +27 -0
- package/dist/commands/assets/upload.js +110 -0
- package/dist/commands/assets/upload.js.map +1 -0
- package/dist/commands/auth/login.d.ts +18 -0
- package/dist/commands/auth/login.js +52 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +18 -0
- package/dist/commands/auth/logout.js +23 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/profiles/delete.d.ts +21 -0
- package/dist/commands/auth/profiles/delete.js +39 -0
- package/dist/commands/auth/profiles/delete.js.map +1 -0
- package/dist/commands/auth/profiles/list.d.ts +18 -0
- package/dist/commands/auth/profiles/list.js +30 -0
- package/dist/commands/auth/profiles/list.js.map +1 -0
- package/dist/commands/auth/profiles/use.d.ts +21 -0
- package/dist/commands/auth/profiles/use.js +36 -0
- package/dist/commands/auth/profiles/use.js.map +1 -0
- package/dist/commands/auth/register.d.ts +20 -0
- package/dist/commands/auth/register.js +35 -0
- package/dist/commands/auth/register.js.map +1 -0
- package/dist/commands/auth/status.d.ts +18 -0
- package/dist/commands/auth/status.js +27 -0
- package/dist/commands/auth/status.js.map +1 -0
- package/dist/commands/auth/verify.d.ts +20 -0
- package/dist/commands/auth/verify.js +43 -0
- package/dist/commands/auth/verify.js.map +1 -0
- package/dist/commands/banners/create.d.ts +27 -0
- package/dist/commands/banners/create.js +75 -0
- package/dist/commands/banners/create.js.map +1 -0
- package/dist/commands/banners/delete.d.ts +25 -0
- package/dist/commands/banners/delete.js +35 -0
- package/dist/commands/banners/delete.js.map +1 -0
- package/dist/commands/banners/get.d.ts +24 -0
- package/dist/commands/banners/get.js +31 -0
- package/dist/commands/banners/get.js.map +1 -0
- package/dist/commands/banners/list.d.ts +24 -0
- package/dist/commands/banners/list.js +65 -0
- package/dist/commands/banners/list.js.map +1 -0
- package/dist/commands/banners/update.d.ts +33 -0
- package/dist/commands/banners/update.js +81 -0
- package/dist/commands/banners/update.js.map +1 -0
- package/dist/commands/blog-categories/all.d.ts +18 -0
- package/dist/commands/blog-categories/all.js +18 -0
- package/dist/commands/blog-categories/all.js.map +1 -0
- package/dist/commands/blog-categories/create.d.ts +25 -0
- package/dist/commands/blog-categories/create.js +65 -0
- package/dist/commands/blog-categories/create.js.map +1 -0
- package/dist/commands/blog-categories/delete.d.ts +24 -0
- package/dist/commands/blog-categories/delete.js +30 -0
- package/dist/commands/blog-categories/delete.js.map +1 -0
- package/dist/commands/blog-categories/list.d.ts +24 -0
- package/dist/commands/blog-categories/list.js +51 -0
- package/dist/commands/blog-categories/list.js.map +1 -0
- package/dist/commands/blog-categories/update.d.ts +31 -0
- package/dist/commands/blog-categories/update.js +68 -0
- package/dist/commands/blog-categories/update.js.map +1 -0
- package/dist/commands/blog-posts/all.d.ts +19 -0
- package/dist/commands/blog-posts/all.js +30 -0
- package/dist/commands/blog-posts/all.js.map +1 -0
- package/dist/commands/blog-posts/batch-create.d.ts +22 -0
- package/dist/commands/blog-posts/batch-create.js +55 -0
- package/dist/commands/blog-posts/batch-create.js.map +1 -0
- package/dist/commands/blog-posts/batch-delete.d.ts +21 -0
- package/dist/commands/blog-posts/batch-delete.js +46 -0
- package/dist/commands/blog-posts/batch-delete.js.map +1 -0
- package/dist/commands/blog-posts/batch-update.d.ts +24 -0
- package/dist/commands/blog-posts/batch-update.js +76 -0
- package/dist/commands/blog-posts/batch-update.js.map +1 -0
- package/dist/commands/blog-posts/create.d.ts +31 -0
- package/dist/commands/blog-posts/create.js +92 -0
- package/dist/commands/blog-posts/create.js.map +1 -0
- package/dist/commands/blog-posts/delete.d.ts +24 -0
- package/dist/commands/blog-posts/delete.js +30 -0
- package/dist/commands/blog-posts/delete.js.map +1 -0
- package/dist/commands/blog-posts/generate.d.ts +22 -0
- package/dist/commands/blog-posts/generate.js +42 -0
- package/dist/commands/blog-posts/generate.js.map +1 -0
- package/dist/commands/blog-posts/get.d.ts +24 -0
- package/dist/commands/blog-posts/get.js +26 -0
- package/dist/commands/blog-posts/get.js.map +1 -0
- package/dist/commands/blog-posts/import.d.ts +24 -0
- package/dist/commands/blog-posts/import.js +103 -0
- package/dist/commands/blog-posts/import.js.map +1 -0
- package/dist/commands/blog-posts/list.d.ts +29 -0
- package/dist/commands/blog-posts/list.js +76 -0
- package/dist/commands/blog-posts/list.js.map +1 -0
- package/dist/commands/blog-posts/search.d.ts +27 -0
- package/dist/commands/blog-posts/search.js +55 -0
- package/dist/commands/blog-posts/search.js.map +1 -0
- package/dist/commands/blog-posts/stats.d.ts +18 -0
- package/dist/commands/blog-posts/stats.js +22 -0
- package/dist/commands/blog-posts/stats.js.map +1 -0
- package/dist/commands/blog-posts/update.d.ts +37 -0
- package/dist/commands/blog-posts/update.js +96 -0
- package/dist/commands/blog-posts/update.js.map +1 -0
- package/dist/commands/blog-settings/get.d.ts +18 -0
- package/dist/commands/blog-settings/get.js +23 -0
- package/dist/commands/blog-settings/get.js.map +1 -0
- package/dist/commands/blog-settings/update.d.ts +30 -0
- package/dist/commands/blog-settings/update.js +79 -0
- package/dist/commands/blog-settings/update.js.map +1 -0
- package/dist/commands/blog-tags/all.d.ts +18 -0
- package/dist/commands/blog-tags/all.js +18 -0
- package/dist/commands/blog-tags/all.js.map +1 -0
- package/dist/commands/blog-tags/create.d.ts +22 -0
- package/dist/commands/blog-tags/create.js +56 -0
- package/dist/commands/blog-tags/create.js.map +1 -0
- package/dist/commands/blog-tags/delete.d.ts +24 -0
- package/dist/commands/blog-tags/delete.js +30 -0
- package/dist/commands/blog-tags/delete.js.map +1 -0
- package/dist/commands/blog-tags/list.d.ts +24 -0
- package/dist/commands/blog-tags/list.js +50 -0
- package/dist/commands/blog-tags/list.js.map +1 -0
- package/dist/commands/categories/all.d.ts +19 -0
- package/dist/commands/categories/all.js +29 -0
- package/dist/commands/categories/all.js.map +1 -0
- package/dist/commands/categories/create.d.ts +28 -0
- package/dist/commands/categories/create.js +78 -0
- package/dist/commands/categories/create.js.map +1 -0
- package/dist/commands/categories/delete.d.ts +25 -0
- package/dist/commands/categories/delete.js +35 -0
- package/dist/commands/categories/delete.js.map +1 -0
- package/dist/commands/categories/get.d.ts +24 -0
- package/dist/commands/categories/get.js +31 -0
- package/dist/commands/categories/get.js.map +1 -0
- package/dist/commands/categories/list.d.ts +28 -0
- package/dist/commands/categories/list.js +70 -0
- package/dist/commands/categories/list.js.map +1 -0
- package/dist/commands/categories/update.d.ts +34 -0
- package/dist/commands/categories/update.js +84 -0
- package/dist/commands/categories/update.js.map +1 -0
- package/dist/commands/collections/all.d.ts +19 -0
- package/dist/commands/collections/all.js +30 -0
- package/dist/commands/collections/all.js.map +1 -0
- package/dist/commands/collections/create.d.ts +28 -0
- package/dist/commands/collections/create.js +85 -0
- package/dist/commands/collections/create.js.map +1 -0
- package/dist/commands/collections/delete.d.ts +26 -0
- package/dist/commands/collections/delete.js +39 -0
- package/dist/commands/collections/delete.js.map +1 -0
- package/dist/commands/collections/get.d.ts +24 -0
- package/dist/commands/collections/get.js +31 -0
- package/dist/commands/collections/get.js.map +1 -0
- package/dist/commands/collections/list.d.ts +29 -0
- package/dist/commands/collections/list.js +75 -0
- package/dist/commands/collections/list.js.map +1 -0
- package/dist/commands/collections/update.d.ts +34 -0
- package/dist/commands/collections/update.js +91 -0
- package/dist/commands/collections/update.js.map +1 -0
- package/dist/commands/customers/addresses.d.ts +21 -0
- package/dist/commands/customers/addresses.js +32 -0
- package/dist/commands/customers/addresses.js.map +1 -0
- package/dist/commands/customers/create.d.ts +26 -0
- package/dist/commands/customers/create.js +70 -0
- package/dist/commands/customers/create.js.map +1 -0
- package/dist/commands/customers/delete.d.ts +24 -0
- package/dist/commands/customers/delete.js +30 -0
- package/dist/commands/customers/delete.js.map +1 -0
- package/dist/commands/customers/get.d.ts +21 -0
- package/dist/commands/customers/get.js +31 -0
- package/dist/commands/customers/get.js.map +1 -0
- package/dist/commands/customers/list.d.ts +24 -0
- package/dist/commands/customers/list.js +65 -0
- package/dist/commands/customers/list.js.map +1 -0
- package/dist/commands/customers/stats.d.ts +18 -0
- package/dist/commands/customers/stats.js +22 -0
- package/dist/commands/customers/stats.js.map +1 -0
- package/dist/commands/customers/update.d.ts +31 -0
- package/dist/commands/customers/update.js +74 -0
- package/dist/commands/customers/update.js.map +1 -0
- package/dist/commands/describe.d.ts +22 -0
- package/dist/commands/describe.js +52 -0
- package/dist/commands/describe.js.map +1 -0
- package/dist/commands/health/check.d.ts +18 -0
- package/dist/commands/health/check.js +35 -0
- package/dist/commands/health/check.js.map +1 -0
- package/dist/commands/init.d.ts +22 -0
- package/dist/commands/init.js +84 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/orders/batch-cancel.d.ts +23 -0
- package/dist/commands/orders/batch-cancel.js +71 -0
- package/dist/commands/orders/batch-cancel.js.map +1 -0
- package/dist/commands/orders/batch-fulfill.d.ts +23 -0
- package/dist/commands/orders/batch-fulfill.js +71 -0
- package/dist/commands/orders/batch-fulfill.js.map +1 -0
- package/dist/commands/orders/batch-update.d.ts +24 -0
- package/dist/commands/orders/batch-update.js +77 -0
- package/dist/commands/orders/batch-update.js.map +1 -0
- package/dist/commands/orders/cancel.d.ts +24 -0
- package/dist/commands/orders/cancel.js +30 -0
- package/dist/commands/orders/cancel.js.map +1 -0
- package/dist/commands/orders/create.d.ts +20 -0
- package/dist/commands/orders/create.js +49 -0
- package/dist/commands/orders/create.js.map +1 -0
- package/dist/commands/orders/deliver.d.ts +25 -0
- package/dist/commands/orders/deliver.js +36 -0
- package/dist/commands/orders/deliver.js.map +1 -0
- package/dist/commands/orders/fulfill.d.ts +24 -0
- package/dist/commands/orders/fulfill.js +33 -0
- package/dist/commands/orders/fulfill.js.map +1 -0
- package/dist/commands/orders/get.d.ts +26 -0
- package/dist/commands/orders/get.js +40 -0
- package/dist/commands/orders/get.js.map +1 -0
- package/dist/commands/orders/list.d.ts +33 -0
- package/dist/commands/orders/list.js +93 -0
- package/dist/commands/orders/list.js.map +1 -0
- package/dist/commands/orders/resume.d.ts +24 -0
- package/dist/commands/orders/resume.js +32 -0
- package/dist/commands/orders/resume.js.map +1 -0
- package/dist/commands/orders/ship.d.ts +26 -0
- package/dist/commands/orders/ship.js +40 -0
- package/dist/commands/orders/ship.js.map +1 -0
- package/dist/commands/orders/stats.d.ts +18 -0
- package/dist/commands/orders/stats.js +22 -0
- package/dist/commands/orders/stats.js.map +1 -0
- package/dist/commands/orders/transitions.d.ts +24 -0
- package/dist/commands/orders/transitions.js +33 -0
- package/dist/commands/orders/transitions.js.map +1 -0
- package/dist/commands/orders/update.d.ts +33 -0
- package/dist/commands/orders/update.js +90 -0
- package/dist/commands/orders/update.js.map +1 -0
- package/dist/commands/products/all.d.ts +19 -0
- package/dist/commands/products/all.js +30 -0
- package/dist/commands/products/all.js.map +1 -0
- package/dist/commands/products/batch-create.d.ts +22 -0
- package/dist/commands/products/batch-create.js +55 -0
- package/dist/commands/products/batch-create.js.map +1 -0
- package/dist/commands/products/batch-delete.d.ts +21 -0
- package/dist/commands/products/batch-delete.js +46 -0
- package/dist/commands/products/batch-delete.js.map +1 -0
- package/dist/commands/products/batch-update.d.ts +24 -0
- package/dist/commands/products/batch-update.js +76 -0
- package/dist/commands/products/batch-update.js.map +1 -0
- package/dist/commands/products/create.d.ts +27 -0
- package/dist/commands/products/create.js +79 -0
- package/dist/commands/products/create.js.map +1 -0
- package/dist/commands/products/delete.d.ts +26 -0
- package/dist/commands/products/delete.js +38 -0
- package/dist/commands/products/delete.js.map +1 -0
- package/dist/commands/products/get.d.ts +29 -0
- package/dist/commands/products/get.js +44 -0
- package/dist/commands/products/get.js.map +1 -0
- package/dist/commands/products/list.d.ts +34 -0
- package/dist/commands/products/list.js +89 -0
- package/dist/commands/products/list.js.map +1 -0
- package/dist/commands/products/search.d.ts +30 -0
- package/dist/commands/products/search.js +72 -0
- package/dist/commands/products/search.js.map +1 -0
- package/dist/commands/products/stats.d.ts +18 -0
- package/dist/commands/products/stats.js +22 -0
- package/dist/commands/products/stats.js.map +1 -0
- package/dist/commands/products/update.d.ts +34 -0
- package/dist/commands/products/update.js +111 -0
- package/dist/commands/products/update.js.map +1 -0
- package/dist/commands/products/variant-options.d.ts +22 -0
- package/dist/commands/products/variant-options.js +48 -0
- package/dist/commands/products/variant-options.js.map +1 -0
- package/dist/commands/promotions/batch-delete.d.ts +21 -0
- package/dist/commands/promotions/batch-delete.js +46 -0
- package/dist/commands/promotions/batch-delete.js.map +1 -0
- package/dist/commands/promotions/create.d.ts +37 -0
- package/dist/commands/promotions/create.js +105 -0
- package/dist/commands/promotions/create.js.map +1 -0
- package/dist/commands/promotions/delete.d.ts +24 -0
- package/dist/commands/promotions/delete.js +30 -0
- package/dist/commands/promotions/delete.js.map +1 -0
- package/dist/commands/promotions/get-by-code.d.ts +21 -0
- package/dist/commands/promotions/get-by-code.js +25 -0
- package/dist/commands/promotions/get-by-code.js.map +1 -0
- package/dist/commands/promotions/get.d.ts +24 -0
- package/dist/commands/promotions/get.js +26 -0
- package/dist/commands/promotions/get.js.map +1 -0
- package/dist/commands/promotions/list.d.ts +31 -0
- package/dist/commands/promotions/list.js +82 -0
- package/dist/commands/promotions/list.js.map +1 -0
- package/dist/commands/promotions/stats.d.ts +18 -0
- package/dist/commands/promotions/stats.js +22 -0
- package/dist/commands/promotions/stats.js.map +1 -0
- package/dist/commands/promotions/update.d.ts +38 -0
- package/dist/commands/promotions/update.js +94 -0
- package/dist/commands/promotions/update.js.map +1 -0
- package/dist/commands/reviews/bulk-import.d.ts +24 -0
- package/dist/commands/reviews/bulk-import.js +82 -0
- package/dist/commands/reviews/bulk-import.js.map +1 -0
- package/dist/commands/reviews/bulk-moderate.d.ts +24 -0
- package/dist/commands/reviews/bulk-moderate.js +66 -0
- package/dist/commands/reviews/bulk-moderate.js.map +1 -0
- package/dist/commands/reviews/create.d.ts +29 -0
- package/dist/commands/reviews/create.js +84 -0
- package/dist/commands/reviews/create.js.map +1 -0
- package/dist/commands/reviews/delete-reply.d.ts +22 -0
- package/dist/commands/reviews/delete-reply.js +31 -0
- package/dist/commands/reviews/delete-reply.js.map +1 -0
- package/dist/commands/reviews/delete.d.ts +21 -0
- package/dist/commands/reviews/delete.js +30 -0
- package/dist/commands/reviews/delete.js.map +1 -0
- package/dist/commands/reviews/get.d.ts +21 -0
- package/dist/commands/reviews/get.js +31 -0
- package/dist/commands/reviews/get.js.map +1 -0
- package/dist/commands/reviews/list.d.ts +34 -0
- package/dist/commands/reviews/list.js +83 -0
- package/dist/commands/reviews/list.js.map +1 -0
- package/dist/commands/reviews/reply.d.ts +25 -0
- package/dist/commands/reviews/reply.js +59 -0
- package/dist/commands/reviews/reply.js.map +1 -0
- package/dist/commands/reviews/stats.d.ts +18 -0
- package/dist/commands/reviews/stats.js +25 -0
- package/dist/commands/reviews/stats.js.map +1 -0
- package/dist/commands/reviews/update-reply.d.ts +25 -0
- package/dist/commands/reviews/update-reply.js +60 -0
- package/dist/commands/reviews/update-reply.js.map +1 -0
- package/dist/commands/reviews/update.d.ts +30 -0
- package/dist/commands/reviews/update.js +83 -0
- package/dist/commands/reviews/update.js.map +1 -0
- package/dist/commands/setup.d.ts +19 -0
- package/dist/commands/setup.js +186 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/shipping-methods/create.d.ts +24 -0
- package/dist/commands/shipping-methods/create.js +63 -0
- package/dist/commands/shipping-methods/create.js.map +1 -0
- package/dist/commands/shipping-methods/delete.d.ts +24 -0
- package/dist/commands/shipping-methods/delete.js +30 -0
- package/dist/commands/shipping-methods/delete.js.map +1 -0
- package/dist/commands/shipping-methods/get.d.ts +24 -0
- package/dist/commands/shipping-methods/get.js +31 -0
- package/dist/commands/shipping-methods/get.js.map +1 -0
- package/dist/commands/shipping-methods/list.d.ts +26 -0
- package/dist/commands/shipping-methods/list.js +63 -0
- package/dist/commands/shipping-methods/list.js.map +1 -0
- package/dist/commands/shipping-methods/update.d.ts +30 -0
- package/dist/commands/shipping-methods/update.js +69 -0
- package/dist/commands/shipping-methods/update.js.map +1 -0
- package/dist/commands/shipping-programs/calculate.d.ts +26 -0
- package/dist/commands/shipping-programs/calculate.js +72 -0
- package/dist/commands/shipping-programs/calculate.js.map +1 -0
- package/dist/commands/shipping-programs/create-rule.d.ts +40 -0
- package/dist/commands/shipping-programs/create-rule.js +110 -0
- package/dist/commands/shipping-programs/create-rule.js.map +1 -0
- package/dist/commands/shipping-programs/create.d.ts +27 -0
- package/dist/commands/shipping-programs/create.js +75 -0
- package/dist/commands/shipping-programs/create.js.map +1 -0
- package/dist/commands/shipping-programs/delete-rule.d.ts +28 -0
- package/dist/commands/shipping-programs/delete-rule.js +42 -0
- package/dist/commands/shipping-programs/delete-rule.js.map +1 -0
- package/dist/commands/shipping-programs/delete.d.ts +24 -0
- package/dist/commands/shipping-programs/delete.js +30 -0
- package/dist/commands/shipping-programs/delete.js.map +1 -0
- package/dist/commands/shipping-programs/get-rule.d.ts +28 -0
- package/dist/commands/shipping-programs/get-rule.js +38 -0
- package/dist/commands/shipping-programs/get-rule.js.map +1 -0
- package/dist/commands/shipping-programs/get.d.ts +24 -0
- package/dist/commands/shipping-programs/get.js +32 -0
- package/dist/commands/shipping-programs/get.js.map +1 -0
- package/dist/commands/shipping-programs/list-rules.d.ts +34 -0
- package/dist/commands/shipping-programs/list-rules.js +86 -0
- package/dist/commands/shipping-programs/list-rules.js.map +1 -0
- package/dist/commands/shipping-programs/list.d.ts +30 -0
- package/dist/commands/shipping-programs/list.js +74 -0
- package/dist/commands/shipping-programs/list.js.map +1 -0
- package/dist/commands/shipping-programs/update-rule.d.ts +44 -0
- package/dist/commands/shipping-programs/update-rule.js +120 -0
- package/dist/commands/shipping-programs/update-rule.js.map +1 -0
- package/dist/commands/shipping-programs/update.d.ts +33 -0
- package/dist/commands/shipping-programs/update.js +81 -0
- package/dist/commands/shipping-programs/update.js.map +1 -0
- package/dist/commands/shipping-zones/create.d.ts +22 -0
- package/dist/commands/shipping-zones/create.js +57 -0
- package/dist/commands/shipping-zones/create.js.map +1 -0
- package/dist/commands/shipping-zones/delete.d.ts +24 -0
- package/dist/commands/shipping-zones/delete.js +30 -0
- package/dist/commands/shipping-zones/delete.js.map +1 -0
- package/dist/commands/shipping-zones/get.d.ts +24 -0
- package/dist/commands/shipping-zones/get.js +32 -0
- package/dist/commands/shipping-zones/get.js.map +1 -0
- package/dist/commands/shipping-zones/list.d.ts +28 -0
- package/dist/commands/shipping-zones/list.js +68 -0
- package/dist/commands/shipping-zones/list.js.map +1 -0
- package/dist/commands/shipping-zones/location-data.d.ts +18 -0
- package/dist/commands/shipping-zones/location-data.js +25 -0
- package/dist/commands/shipping-zones/location-data.js.map +1 -0
- package/dist/commands/shipping-zones/update.d.ts +28 -0
- package/dist/commands/shipping-zones/update.js +63 -0
- package/dist/commands/shipping-zones/update.js.map +1 -0
- package/dist/commands/store-menus/create.d.ts +22 -0
- package/dist/commands/store-menus/create.js +58 -0
- package/dist/commands/store-menus/create.js.map +1 -0
- package/dist/commands/store-menus/delete.d.ts +24 -0
- package/dist/commands/store-menus/delete.js +30 -0
- package/dist/commands/store-menus/delete.js.map +1 -0
- package/dist/commands/store-menus/get-by-ref.d.ts +22 -0
- package/dist/commands/store-menus/get-by-ref.js +30 -0
- package/dist/commands/store-menus/get-by-ref.js.map +1 -0
- package/dist/commands/store-menus/get.d.ts +25 -0
- package/dist/commands/store-menus/get.js +30 -0
- package/dist/commands/store-menus/get.js.map +1 -0
- package/dist/commands/store-menus/list.d.ts +23 -0
- package/dist/commands/store-menus/list.js +54 -0
- package/dist/commands/store-menus/list.js.map +1 -0
- package/dist/commands/store-menus/update.d.ts +28 -0
- package/dist/commands/store-menus/update.js +63 -0
- package/dist/commands/store-menus/update.js.map +1 -0
- package/dist/commands/store-pages/all.d.ts +20 -0
- package/dist/commands/store-pages/all.js +30 -0
- package/dist/commands/store-pages/all.js.map +1 -0
- package/dist/commands/store-pages/create.d.ts +26 -0
- package/dist/commands/store-pages/create.js +73 -0
- package/dist/commands/store-pages/create.js.map +1 -0
- package/dist/commands/store-pages/delete.d.ts +24 -0
- package/dist/commands/store-pages/delete.js +30 -0
- package/dist/commands/store-pages/delete.js.map +1 -0
- package/dist/commands/store-pages/duplicate.d.ts +24 -0
- package/dist/commands/store-pages/duplicate.js +33 -0
- package/dist/commands/store-pages/duplicate.js.map +1 -0
- package/dist/commands/store-pages/get.d.ts +24 -0
- package/dist/commands/store-pages/get.js +26 -0
- package/dist/commands/store-pages/get.js.map +1 -0
- package/dist/commands/store-pages/list.d.ts +24 -0
- package/dist/commands/store-pages/list.js +59 -0
- package/dist/commands/store-pages/list.js.map +1 -0
- package/dist/commands/store-pages/stats.d.ts +18 -0
- package/dist/commands/store-pages/stats.js +22 -0
- package/dist/commands/store-pages/stats.js.map +1 -0
- package/dist/commands/store-pages/update.d.ts +32 -0
- package/dist/commands/store-pages/update.js +78 -0
- package/dist/commands/store-pages/update.js.map +1 -0
- package/dist/commands/store-settings/get.d.ts +18 -0
- package/dist/commands/store-settings/get.js +23 -0
- package/dist/commands/store-settings/get.js.map +1 -0
- package/dist/commands/store-settings/update.d.ts +32 -0
- package/dist/commands/store-settings/update.js +88 -0
- package/dist/commands/store-settings/update.js.map +1 -0
- package/dist/commands/stores/current.d.ts +18 -0
- package/dist/commands/stores/current.js +29 -0
- package/dist/commands/stores/current.js.map +1 -0
- package/dist/commands/stores/info.d.ts +24 -0
- package/dist/commands/stores/info.js +29 -0
- package/dist/commands/stores/info.js.map +1 -0
- package/dist/commands/stores/list.d.ts +18 -0
- package/dist/commands/stores/list.js +25 -0
- package/dist/commands/stores/list.js.map +1 -0
- package/dist/commands/stores/switch.d.ts +24 -0
- package/dist/commands/stores/switch.js +37 -0
- package/dist/commands/stores/switch.js.map +1 -0
- package/dist/hooks/init.d.ts +3 -0
- package/dist/hooks/init.js +6 -0
- package/dist/hooks/init.js.map +1 -0
- package/dist/lib/api-client.d.ts +46 -0
- package/dist/lib/api-client.js +126 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/batch.d.ts +21 -0
- package/dist/lib/batch.js +56 -0
- package/dist/lib/batch.js.map +1 -0
- package/dist/lib/config.d.ts +44 -0
- package/dist/lib/config.js +200 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/errors.d.ts +30 -0
- package/dist/lib/errors.js +116 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/output.d.ts +39 -0
- package/dist/lib/output.js +176 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/pagination.d.ts +8 -0
- package/dist/lib/pagination.js +25 -0
- package/dist/lib/pagination.js.map +1 -0
- package/dist/lib/stdin.d.ts +9 -0
- package/dist/lib/stdin.js +86 -0
- package/dist/lib/stdin.js.map +1 -0
- package/dist/lib/validators.d.ts +19 -0
- package/dist/lib/validators.js +499 -0
- package/dist/lib/validators.js.map +1 -0
- package/oclif.manifest.json +23299 -0
- package/package.json +68 -0
package/README.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# @ecomweb/cli
|
|
2
|
+
|
|
3
|
+
Agent-friendly CLI for the ecomweb platform. Manage your store, products, orders, and more from the command line.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Interactive setup wizard (recommended for first-time users)
|
|
9
|
+
npx @ecomweb/cli setup
|
|
10
|
+
|
|
11
|
+
# Or install globally
|
|
12
|
+
npm install -g @ecomweb/cli
|
|
13
|
+
ecomweb setup
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The setup wizard walks you through:
|
|
17
|
+
|
|
18
|
+
1. **Create account** — enter your email, receive a verification code
|
|
19
|
+
2. **Verify email** — enter the 6-digit code
|
|
20
|
+
3. **Set up store** — pick an existing store or create a new one
|
|
21
|
+
4. **Ready!** — API key is generated and saved automatically
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Products
|
|
27
|
+
ecomweb products list
|
|
28
|
+
ecomweb products get <id>
|
|
29
|
+
ecomweb products create --stdin < product.json
|
|
30
|
+
|
|
31
|
+
# Orders
|
|
32
|
+
ecomweb orders list --status pending
|
|
33
|
+
ecomweb orders get <id>
|
|
34
|
+
ecomweb orders update-status <id> --status confirmed
|
|
35
|
+
|
|
36
|
+
# Blog
|
|
37
|
+
ecomweb blog-posts list
|
|
38
|
+
ecomweb blog-posts create --stdin < post.json
|
|
39
|
+
|
|
40
|
+
# All commands
|
|
41
|
+
ecomweb --help
|
|
42
|
+
ecomweb <topic> --help
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Non-Interactive Auth
|
|
46
|
+
|
|
47
|
+
For CI/CD or scripting, use the flag-based commands instead of the wizard:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
ecomweb auth register --email user@example.com
|
|
51
|
+
ecomweb auth verify --email user@example.com --code 123456
|
|
52
|
+
ecomweb init --store-name "My Store"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Output Formats
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
ecomweb products list # JSON (default)
|
|
59
|
+
ecomweb products list --output table # Table
|
|
60
|
+
ecomweb products list --output csv # CSV
|
|
61
|
+
ecomweb products list --fields id,name # Select fields
|
|
62
|
+
ecomweb products list --quiet # Suppress metadata
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Configuration
|
|
66
|
+
|
|
67
|
+
Config is stored in `~/.config/ecomweb/` with file permissions `0600`.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
ecomweb stores list # List your stores
|
|
71
|
+
ecomweb stores switch <id> # Switch active store
|
|
72
|
+
ecomweb auth status # Check auth status
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Profiles
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
ecomweb setup --profile staging # Create a named profile
|
|
79
|
+
ecomweb products list --profile staging # Use it
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Environment Variables
|
|
83
|
+
|
|
84
|
+
| Variable | Description |
|
|
85
|
+
|----------|-------------|
|
|
86
|
+
| `ECOMWEB_API_KEY` | API key (overrides config) |
|
|
87
|
+
| `ECOMWEB_STORE_ID` | Store ID (overrides config) |
|
|
88
|
+
| `ECOMWEB_API_URL` | API base URL (overrides default) |
|
|
89
|
+
|
|
90
|
+
## Requirements
|
|
91
|
+
|
|
92
|
+
- Node.js >= 18.0.0
|
|
93
|
+
|
|
94
|
+
## License
|
|
95
|
+
|
|
96
|
+
MIT
|
package/bin/run.js
ADDED
package/bin/run.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import { ConfigManager } from "./lib/config";
|
|
3
|
+
import { ApiClient } from "./lib/api-client";
|
|
4
|
+
import { OutputEnvelope, OutputOptions } from "./lib/output";
|
|
5
|
+
export declare abstract class BaseCommand extends Command {
|
|
6
|
+
static baseFlags: {
|
|
7
|
+
"store-id": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
protected configManager: ConfigManager;
|
|
19
|
+
protected apiClient: ApiClient;
|
|
20
|
+
protected get outputOptions(): OutputOptions;
|
|
21
|
+
private parsedFlags;
|
|
22
|
+
init(): Promise<void>;
|
|
23
|
+
protected requireStore(): number;
|
|
24
|
+
protected getStoreId(): number | undefined;
|
|
25
|
+
protected outputResult(envelope: OutputEnvelope): void;
|
|
26
|
+
protected outputJson(data: any): void;
|
|
27
|
+
protected get isDryRun(): boolean;
|
|
28
|
+
protected getFlag<T = any>(name: string): T;
|
|
29
|
+
catch(error: Error & {
|
|
30
|
+
exitCode?: number;
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseCommand = void 0;
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const config_1 = require("./lib/config");
|
|
6
|
+
const api_client_1 = require("./lib/api-client");
|
|
7
|
+
const errors_1 = require("./lib/errors");
|
|
8
|
+
const output_1 = require("./lib/output");
|
|
9
|
+
class BaseCommand extends core_1.Command {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.parsedFlags = {};
|
|
13
|
+
}
|
|
14
|
+
get outputOptions() {
|
|
15
|
+
const flags = this.parsedFlags;
|
|
16
|
+
return {
|
|
17
|
+
format: (flags.output || "json"),
|
|
18
|
+
quiet: flags.quiet || false,
|
|
19
|
+
full: flags.full || false,
|
|
20
|
+
fields: flags.fields ? flags.fields.split(",").map((s) => s.trim()) : undefined,
|
|
21
|
+
exclude: flags.exclude ? flags.exclude.split(",").map((s) => s.trim()) : undefined,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
async init() {
|
|
25
|
+
await super.init();
|
|
26
|
+
const { flags } = await this.parse(this.constructor);
|
|
27
|
+
this.parsedFlags = flags;
|
|
28
|
+
this.configManager = new config_1.ConfigManager();
|
|
29
|
+
const apiUrl = this.configManager.resolveApiUrl(flags["api-url"]);
|
|
30
|
+
const apiKey = this.configManager.resolveApiKey(flags["api-key"]);
|
|
31
|
+
this.apiClient = new api_client_1.ApiClient({
|
|
32
|
+
baseUrl: apiUrl,
|
|
33
|
+
apiKey,
|
|
34
|
+
});
|
|
35
|
+
const storeId = this.configManager.resolveStoreId(flags["store-id"]);
|
|
36
|
+
if (storeId) {
|
|
37
|
+
this.apiClient.setStoreId(storeId);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
requireStore() {
|
|
41
|
+
const storeId = this.configManager.resolveStoreId(this.parsedFlags["store-id"]);
|
|
42
|
+
if (!storeId) {
|
|
43
|
+
throw new errors_1.CliError("NO_STORE_SELECTED", "No store selected.", errors_1.ExitCode.VALIDATION, { hint: "Run: ecomweb stores switch <id>" });
|
|
44
|
+
}
|
|
45
|
+
this.apiClient.setStoreId(storeId);
|
|
46
|
+
return storeId;
|
|
47
|
+
}
|
|
48
|
+
getStoreId() {
|
|
49
|
+
return this.configManager.resolveStoreId(this.parsedFlags["store-id"]);
|
|
50
|
+
}
|
|
51
|
+
outputResult(envelope) {
|
|
52
|
+
const formatted = (0, output_1.formatOutput)(envelope, this.outputOptions);
|
|
53
|
+
this.log(formatted);
|
|
54
|
+
}
|
|
55
|
+
outputJson(data) {
|
|
56
|
+
this.log(JSON.stringify(data, null, 2));
|
|
57
|
+
}
|
|
58
|
+
get isDryRun() {
|
|
59
|
+
return this.parsedFlags["dry-run"] || false;
|
|
60
|
+
}
|
|
61
|
+
getFlag(name) {
|
|
62
|
+
return this.parsedFlags[name];
|
|
63
|
+
}
|
|
64
|
+
async catch(error) {
|
|
65
|
+
const { json, exitCode } = (0, errors_1.formatError)(error);
|
|
66
|
+
this.log(JSON.stringify(json, null, 2));
|
|
67
|
+
this.exit(exitCode);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.BaseCommand = BaseCommand;
|
|
71
|
+
BaseCommand.baseFlags = {
|
|
72
|
+
"store-id": core_1.Flags.integer({
|
|
73
|
+
description: "Store ID (or env ECOMWEB_STORE_ID)",
|
|
74
|
+
env: "ECOMWEB_STORE_ID",
|
|
75
|
+
}),
|
|
76
|
+
"api-key": core_1.Flags.string({
|
|
77
|
+
description: "API key (or env ECOMWEB_API_KEY)",
|
|
78
|
+
env: "ECOMWEB_API_KEY",
|
|
79
|
+
}),
|
|
80
|
+
"api-url": core_1.Flags.string({
|
|
81
|
+
description: "API base URL (or env ECOMWEB_API_URL)",
|
|
82
|
+
env: "ECOMWEB_API_URL",
|
|
83
|
+
}),
|
|
84
|
+
output: core_1.Flags.string({
|
|
85
|
+
description: "Output format",
|
|
86
|
+
options: ["json", "table", "csv"],
|
|
87
|
+
default: "json",
|
|
88
|
+
}),
|
|
89
|
+
quiet: core_1.Flags.boolean({
|
|
90
|
+
description: "Suppress non-data output",
|
|
91
|
+
default: false,
|
|
92
|
+
}),
|
|
93
|
+
"dry-run": core_1.Flags.boolean({
|
|
94
|
+
description: "Preview without executing",
|
|
95
|
+
default: false,
|
|
96
|
+
}),
|
|
97
|
+
profile: core_1.Flags.string({
|
|
98
|
+
description: "Named config profile",
|
|
99
|
+
}),
|
|
100
|
+
full: core_1.Flags.boolean({
|
|
101
|
+
description: "Include all fields (content, toc, etc.)",
|
|
102
|
+
default: false,
|
|
103
|
+
}),
|
|
104
|
+
fields: core_1.Flags.string({
|
|
105
|
+
description: "Comma-separated field names to include",
|
|
106
|
+
}),
|
|
107
|
+
exclude: core_1.Flags.string({
|
|
108
|
+
description: "Comma-separated field names to exclude",
|
|
109
|
+
}),
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=base-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class Ga4All extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"start-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"end-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"store-id": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
};
|
|
20
|
+
run(): Promise<void>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const output_1 = require("../../../lib/output");
|
|
6
|
+
class Ga4All extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const storeId = this.requireStore();
|
|
9
|
+
const dateParams = {};
|
|
10
|
+
if (this.getFlag("start-date"))
|
|
11
|
+
dateParams.start_date = this.getFlag("start-date");
|
|
12
|
+
if (this.getFlag("end-date"))
|
|
13
|
+
dateParams.end_date = this.getFlag("end-date");
|
|
14
|
+
const breakdownParams = {
|
|
15
|
+
...dateParams,
|
|
16
|
+
};
|
|
17
|
+
if (this.getFlag("limit") !== undefined)
|
|
18
|
+
breakdownParams.limit = this.getFlag("limit");
|
|
19
|
+
const [overview, usersByCountry, viewsByPage, sessionsByChannel] = await Promise.all([
|
|
20
|
+
this.apiClient.storeGet("/google/analytics/overview", dateParams),
|
|
21
|
+
this.apiClient.storeGet("/google/analytics/active-users-by-country", breakdownParams),
|
|
22
|
+
this.apiClient.storeGet("/google/analytics/views-by-page", breakdownParams),
|
|
23
|
+
this.apiClient.storeGet("/google/analytics/sessions-by-channel", breakdownParams),
|
|
24
|
+
]);
|
|
25
|
+
this.outputResult((0, output_1.getEnvelope)("analytics-ga4", storeId, {
|
|
26
|
+
overview,
|
|
27
|
+
users_by_country: usersByCountry,
|
|
28
|
+
views_by_page: viewsByPage,
|
|
29
|
+
sessions_by_channel: sessionsByChannel,
|
|
30
|
+
}, {
|
|
31
|
+
hints: {
|
|
32
|
+
trends: "ecomweb analytics ga4 trends --metric active_users",
|
|
33
|
+
overview_only: "ecomweb analytics ga4 overview",
|
|
34
|
+
sales: "ecomweb analytics sales all",
|
|
35
|
+
gsc: "ecomweb analytics gsc all",
|
|
36
|
+
},
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
Ga4All.description = "Get all GA4 analytics metrics (overview, users by country, views by page, sessions by channel)";
|
|
41
|
+
Ga4All.examples = [
|
|
42
|
+
"ecomweb analytics ga4 all",
|
|
43
|
+
"ecomweb analytics ga4 all --start-date 2025-01-01 --end-date 2025-01-28",
|
|
44
|
+
"ecomweb analytics ga4 all --limit 20",
|
|
45
|
+
];
|
|
46
|
+
Ga4All.flags = {
|
|
47
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
48
|
+
"start-date": core_1.Flags.string({
|
|
49
|
+
description: "Start date (YYYY-MM-DD). Defaults to last 28 days",
|
|
50
|
+
}),
|
|
51
|
+
"end-date": core_1.Flags.string({
|
|
52
|
+
description: "End date (YYYY-MM-DD). Defaults to today",
|
|
53
|
+
}),
|
|
54
|
+
limit: core_1.Flags.integer({
|
|
55
|
+
description: "Maximum number of rows for breakdown reports",
|
|
56
|
+
default: 10,
|
|
57
|
+
}),
|
|
58
|
+
};
|
|
59
|
+
exports.default = Ga4All;
|
|
60
|
+
//# sourceMappingURL=all.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../../../src/commands/analytics/ga4/all.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,gDAAkD;AAElD,MAAqB,MAAO,SAAQ,0BAAW;IAuB7C,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,UAAU,GAAwB,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7E,MAAM,eAAe,GAAwB;YAC3C,GAAG,UAAU;SACd,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvF,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,UAAU,CAAC;YACjE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,2CAA2C,EAAE,eAAe,CAAC;YACrF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iCAAiC,EAAE,eAAe,CAAC;YAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uCAAuC,EAAE,eAAe,CAAC;SAClF,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,eAAe,EAAE,OAAO,EAAE;YACtD,QAAQ;YACR,gBAAgB,EAAE,cAAc;YAChC,aAAa,EAAE,WAAW;YAC1B,mBAAmB,EAAE,iBAAiB;SACvC,EAAE;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,oDAAoD;gBAC5D,aAAa,EAAE,gCAAgC;gBAC/C,KAAK,EAAE,6BAA6B;gBACpC,GAAG,EAAE,2BAA2B;aACjC;SACF,CAAC,CAAC,CAAC;IACN,CAAC;;AAtDM,kBAAW,GAAG,gGAAgG,CAAC;AAE/G,eAAQ,GAAG;IAChB,2BAA2B;IAC3B,yEAAyE;IACzE,sCAAsC;CACvC,CAAC;AAEK,YAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,WAAW,EAAE,mDAAmD;KACjE,CAAC;IACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,0CAA0C;KACxD,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,WAAW,EAAE,8CAA8C;QAC3D,OAAO,EAAE,EAAE;KACZ,CAAC;CACH,CAAC;kBArBiB,MAAM"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class Ga4Overview extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"start-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"end-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
"store-id": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const output_1 = require("../../../lib/output");
|
|
6
|
+
class Ga4Overview extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const storeId = this.requireStore();
|
|
9
|
+
const params = {};
|
|
10
|
+
if (this.getFlag("start-date"))
|
|
11
|
+
params.start_date = this.getFlag("start-date");
|
|
12
|
+
if (this.getFlag("end-date"))
|
|
13
|
+
params.end_date = this.getFlag("end-date");
|
|
14
|
+
const data = await this.apiClient.storeGet("/google/analytics/overview", params);
|
|
15
|
+
this.outputResult((0, output_1.getEnvelope)("analytics-ga4", storeId, data, {
|
|
16
|
+
hints: {
|
|
17
|
+
trends: "ecomweb analytics ga4 trends --metric active_users",
|
|
18
|
+
users_by_country: "ecomweb analytics ga4 users-by-country",
|
|
19
|
+
views_by_page: "ecomweb analytics ga4 views-by-page",
|
|
20
|
+
sessions_by_channel: "ecomweb analytics ga4 sessions-by-channel",
|
|
21
|
+
},
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
Ga4Overview.description = "Get GA4 overview metrics (activeUsers, eventCount, newUsers, keyEvents)";
|
|
26
|
+
Ga4Overview.examples = [
|
|
27
|
+
"ecomweb analytics ga4 overview",
|
|
28
|
+
"ecomweb analytics ga4 overview --start-date 2025-01-01 --end-date 2025-01-28",
|
|
29
|
+
];
|
|
30
|
+
Ga4Overview.flags = {
|
|
31
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
32
|
+
"start-date": core_1.Flags.string({
|
|
33
|
+
description: "Start date (YYYY-MM-DD). Defaults to last 28 days",
|
|
34
|
+
}),
|
|
35
|
+
"end-date": core_1.Flags.string({
|
|
36
|
+
description: "End date (YYYY-MM-DD). Defaults to today",
|
|
37
|
+
}),
|
|
38
|
+
};
|
|
39
|
+
exports.default = Ga4Overview;
|
|
40
|
+
//# sourceMappingURL=overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../../src/commands/analytics/ga4/overview.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,gDAAkD;AAElD,MAAqB,WAAY,SAAQ,0BAAW;IAkBlD,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAEjF,IAAI,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;YAC5D,KAAK,EAAE;gBACL,MAAM,EAAE,oDAAoD;gBAC5D,gBAAgB,EAAE,wCAAwC;gBAC1D,aAAa,EAAE,qCAAqC;gBACpD,mBAAmB,EAAE,2CAA2C;aACjE;SACF,CAAC,CAAC,CAAC;IACN,CAAC;;AAlCM,uBAAW,GAAG,yEAAyE,CAAC;AAExF,oBAAQ,GAAG;IAChB,gCAAgC;IAChC,8EAA8E;CAC/E,CAAC;AAEK,iBAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,WAAW,EAAE,mDAAmD;KACjE,CAAC;IACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,0CAA0C;KACxD,CAAC;CACH,CAAC;kBAhBiB,WAAW"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class Ga4SessionsByChannel extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"start-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"end-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"store-id": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
};
|
|
20
|
+
run(): Promise<void>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const output_1 = require("../../../lib/output");
|
|
6
|
+
class Ga4SessionsByChannel extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const storeId = this.requireStore();
|
|
9
|
+
const params = {};
|
|
10
|
+
if (this.getFlag("start-date"))
|
|
11
|
+
params.start_date = this.getFlag("start-date");
|
|
12
|
+
if (this.getFlag("end-date"))
|
|
13
|
+
params.end_date = this.getFlag("end-date");
|
|
14
|
+
if (this.getFlag("limit") !== undefined)
|
|
15
|
+
params.limit = this.getFlag("limit");
|
|
16
|
+
const data = await this.apiClient.storeGet("/google/analytics/sessions-by-channel", params);
|
|
17
|
+
this.outputResult((0, output_1.getEnvelope)("analytics-ga4", storeId, data, {
|
|
18
|
+
hints: {
|
|
19
|
+
overview: "ecomweb analytics ga4 overview",
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
Ga4SessionsByChannel.description = "Get sessions breakdown by channel group from GA4";
|
|
25
|
+
Ga4SessionsByChannel.examples = [
|
|
26
|
+
"ecomweb analytics ga4 sessions-by-channel",
|
|
27
|
+
"ecomweb analytics ga4 sessions-by-channel --limit 20",
|
|
28
|
+
"ecomweb analytics ga4 sessions-by-channel --start-date 2025-01-01 --end-date 2025-01-07",
|
|
29
|
+
];
|
|
30
|
+
Ga4SessionsByChannel.flags = {
|
|
31
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
32
|
+
"start-date": core_1.Flags.string({
|
|
33
|
+
description: "Start date (YYYY-MM-DD). Defaults to last 7 days",
|
|
34
|
+
}),
|
|
35
|
+
"end-date": core_1.Flags.string({
|
|
36
|
+
description: "End date (YYYY-MM-DD). Defaults to today",
|
|
37
|
+
}),
|
|
38
|
+
limit: core_1.Flags.integer({
|
|
39
|
+
description: "Maximum number of channels to return",
|
|
40
|
+
default: 10,
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
exports.default = Ga4SessionsByChannel;
|
|
44
|
+
//# sourceMappingURL=sessions-by-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions-by-channel.js","sourceRoot":"","sources":["../../../../src/commands/analytics/ga4/sessions-by-channel.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,gDAAkD;AAElD,MAAqB,oBAAqB,SAAQ,0BAAW;IAuB3D,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;QAE5F,IAAI,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;YAC5D,KAAK,EAAE;gBACL,QAAQ,EAAE,gCAAgC;aAC3C;SACF,CAAC,CAAC,CAAC;IACN,CAAC;;AArCM,gCAAW,GAAG,kDAAkD,CAAC;AAEjE,6BAAQ,GAAG;IAChB,2CAA2C;IAC3C,sDAAsD;IACtD,yFAAyF;CAC1F,CAAC;AAEK,0BAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,WAAW,EAAE,kDAAkD;KAChE,CAAC;IACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,0CAA0C;KACxD,CAAC;IACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;QACnB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,EAAE;KACZ,CAAC;CACH,CAAC;kBArBiB,oBAAoB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class Ga4Trends extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
metric: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"start-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
"end-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"store-id": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
};
|
|
20
|
+
run(): Promise<void>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const output_1 = require("../../../lib/output");
|
|
6
|
+
class Ga4Trends extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const storeId = this.requireStore();
|
|
9
|
+
const params = {
|
|
10
|
+
metric: this.getFlag("metric"),
|
|
11
|
+
};
|
|
12
|
+
if (this.getFlag("start-date"))
|
|
13
|
+
params.start_date = this.getFlag("start-date");
|
|
14
|
+
if (this.getFlag("end-date"))
|
|
15
|
+
params.end_date = this.getFlag("end-date");
|
|
16
|
+
const data = await this.apiClient.storeGet("/google/analytics/trends", params);
|
|
17
|
+
this.outputResult((0, output_1.getEnvelope)("analytics-ga4", storeId, data, {
|
|
18
|
+
hints: {
|
|
19
|
+
overview: "ecomweb analytics ga4 overview",
|
|
20
|
+
other_metrics: "Metrics: active_users, event_count, new_users, key_events",
|
|
21
|
+
},
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
Ga4Trends.description = "Get GA4 trends data for a specific metric with period comparison";
|
|
26
|
+
Ga4Trends.examples = [
|
|
27
|
+
"ecomweb analytics ga4 trends --metric active_users",
|
|
28
|
+
"ecomweb analytics ga4 trends --metric event_count --start-date 2025-01-01 --end-date 2025-01-28",
|
|
29
|
+
"ecomweb analytics ga4 trends --metric new_users --output table",
|
|
30
|
+
];
|
|
31
|
+
Ga4Trends.flags = {
|
|
32
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
33
|
+
metric: core_1.Flags.string({
|
|
34
|
+
description: "Metric to show in trend chart",
|
|
35
|
+
options: ["active_users", "event_count", "new_users", "key_events"],
|
|
36
|
+
required: true,
|
|
37
|
+
}),
|
|
38
|
+
"start-date": core_1.Flags.string({
|
|
39
|
+
description: "Start date (YYYY-MM-DD). Defaults to last 28 days",
|
|
40
|
+
}),
|
|
41
|
+
"end-date": core_1.Flags.string({
|
|
42
|
+
description: "End date (YYYY-MM-DD). Defaults to today",
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
exports.default = Ga4Trends;
|
|
46
|
+
//# sourceMappingURL=trends.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trends.js","sourceRoot":"","sources":["../../../../src/commands/analytics/ga4/trends.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AACpC,wDAAoD;AACpD,gDAAkD;AAElD,MAAqB,SAAU,SAAQ,0BAAW;IAwBhD,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAwB;YAClC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC/B,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAE/E,IAAI,CAAC,YAAY,CAAC,IAAA,oBAAW,EAAC,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE;YAC5D,KAAK,EAAE;gBACL,QAAQ,EAAE,gCAAgC;gBAC1C,aAAa,EAAE,2DAA2D;aAC3E;SACF,CAAC,CAAC,CAAC;IACN,CAAC;;AAxCM,qBAAW,GAAG,kEAAkE,CAAC;AAEjF,kBAAQ,GAAG;IAChB,oDAAoD;IACpD,iGAAiG;IACjG,gEAAgE;CACjE,CAAC;AAEK,eAAK,GAAG;IACb,GAAG,0BAAW,CAAC,SAAS;IACxB,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,CAAC;QACnE,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,YAAY,EAAE,YAAK,CAAC,MAAM,CAAC;QACzB,WAAW,EAAE,mDAAmD;KACjE,CAAC;IACF,UAAU,EAAE,YAAK,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,0CAA0C;KACxD,CAAC;CACH,CAAC;kBAtBiB,SAAS"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from "../../../base-command";
|
|
2
|
+
export default class Ga4UsersByCountry extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
"start-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
"end-date": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
"store-id": import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
"api-key": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
"api-url": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
|
+
quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
"dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
|
+
exclude: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
};
|
|
20
|
+
run(): Promise<void>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../../base-command");
|
|
5
|
+
const output_1 = require("../../../lib/output");
|
|
6
|
+
class Ga4UsersByCountry extends base_command_1.BaseCommand {
|
|
7
|
+
async run() {
|
|
8
|
+
const storeId = this.requireStore();
|
|
9
|
+
const params = {};
|
|
10
|
+
if (this.getFlag("start-date"))
|
|
11
|
+
params.start_date = this.getFlag("start-date");
|
|
12
|
+
if (this.getFlag("end-date"))
|
|
13
|
+
params.end_date = this.getFlag("end-date");
|
|
14
|
+
if (this.getFlag("limit") !== undefined)
|
|
15
|
+
params.limit = this.getFlag("limit");
|
|
16
|
+
const data = await this.apiClient.storeGet("/google/analytics/active-users-by-country", params);
|
|
17
|
+
this.outputResult((0, output_1.getEnvelope)("analytics-ga4", storeId, data, {
|
|
18
|
+
hints: {
|
|
19
|
+
overview: "ecomweb analytics ga4 overview",
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
Ga4UsersByCountry.description = "Get active users breakdown by country from GA4";
|
|
25
|
+
Ga4UsersByCountry.examples = [
|
|
26
|
+
"ecomweb analytics ga4 users-by-country",
|
|
27
|
+
"ecomweb analytics ga4 users-by-country --limit 20",
|
|
28
|
+
"ecomweb analytics ga4 users-by-country --start-date 2025-01-01 --end-date 2025-01-07",
|
|
29
|
+
];
|
|
30
|
+
Ga4UsersByCountry.flags = {
|
|
31
|
+
...base_command_1.BaseCommand.baseFlags,
|
|
32
|
+
"start-date": core_1.Flags.string({
|
|
33
|
+
description: "Start date (YYYY-MM-DD). Defaults to last 7 days",
|
|
34
|
+
}),
|
|
35
|
+
"end-date": core_1.Flags.string({
|
|
36
|
+
description: "End date (YYYY-MM-DD). Defaults to today",
|
|
37
|
+
}),
|
|
38
|
+
limit: core_1.Flags.integer({
|
|
39
|
+
description: "Maximum number of countries to return",
|
|
40
|
+
default: 10,
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
exports.default = Ga4UsersByCountry;
|
|
44
|
+
//# sourceMappingURL=users-by-country.js.map
|