@forgecart/cli 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/package.json +2 -1
  2. package/dist/src/commands/delete.js +2 -0
  3. package/dist/src/commands/delete.js.map +1 -1
  4. package/dist/src/commands/deploy.d.ts.map +1 -1
  5. package/dist/src/commands/deploy.js +36 -28
  6. package/dist/src/commands/deploy.js.map +1 -1
  7. package/dist/src/commands/env.js +15 -8
  8. package/dist/src/commands/env.js.map +1 -1
  9. package/dist/src/commands/init.js +56 -4
  10. package/dist/src/commands/init.js.map +1 -1
  11. package/dist/src/commands/list.js +2 -0
  12. package/dist/src/commands/list.js.map +1 -1
  13. package/dist/src/commands/scale.js +1 -0
  14. package/dist/src/commands/scale.js.map +1 -1
  15. package/dist/src/commands/status.js +3 -0
  16. package/dist/src/commands/status.js.map +1 -1
  17. package/dist/src/commands/whoami.js +2 -0
  18. package/dist/src/commands/whoami.js.map +1 -1
  19. package/dist/src/lib/api-client.d.ts +10 -4
  20. package/dist/src/lib/api-client.d.ts.map +1 -1
  21. package/dist/src/lib/api-client.js +11 -7
  22. package/dist/src/lib/api-client.js.map +1 -1
  23. package/dist/src/lib/env-sync.d.ts +13 -5
  24. package/dist/src/lib/env-sync.d.ts.map +1 -1
  25. package/dist/src/lib/env-sync.js +120 -31
  26. package/dist/src/lib/env-sync.js.map +1 -1
  27. package/dist/src/lib/nx-generator.d.ts +5 -3
  28. package/dist/src/lib/nx-generator.d.ts.map +1 -1
  29. package/dist/src/lib/nx-generator.js +37 -30
  30. package/dist/src/lib/nx-generator.js.map +1 -1
  31. package/dist/src/utils/spinner.d.ts +12 -0
  32. package/dist/src/utils/spinner.d.ts.map +1 -1
  33. package/dist/src/utils/spinner.js +68 -0
  34. package/dist/src/utils/spinner.js.map +1 -1
  35. package/dist/templates/application-additions/src/app/app.module.ts +6 -6
  36. package/dist/templates/application-additions/src/services/index.ts +1 -1
  37. package/dist/templates/application-additions/src/services/product-event-listener.service.ts +150 -0
  38. package/dist/templates/application-e2e-additions/src/support/global-setup.ts +16 -0
  39. package/dist/templates/application-e2e-additions/src/support/test-setup.ts +9 -0
  40. package/dist/templates/storefront-additions/postcss.config.js +5 -0
  41. package/dist/templates/storefront-additions/src/app/cart/page.tsx +77 -0
  42. package/dist/templates/storefront-additions/src/app/global.css +1 -0
  43. package/dist/templates/storefront-additions/src/app/layout.tsx +25 -0
  44. package/dist/templates/storefront-additions/src/app/page.tsx +43 -0
  45. package/dist/templates/storefront-additions/src/components/AddToCartButton.tsx +29 -0
  46. package/dist/templates/storefront-additions/src/components/CartItem.tsx +82 -0
  47. package/dist/templates/storefront-additions/src/components/Header.tsx +42 -0
  48. package/dist/templates/storefront-additions/src/components/ProductCard.tsx +57 -0
  49. package/dist/templates/storefront-additions/src/components/QuantitySelector.tsx +35 -0
  50. package/dist/templates/storefront-additions/src/context/CartContext.tsx +158 -0
  51. package/dist/templates/storefront-additions/tailwind.config.js +8 -0
  52. package/dist/templates/storefront-e2e-additions/playwright.config.ts +26 -0
  53. package/dist/templates/storefront-e2e-additions/src/example.spec.ts +11 -0
  54. package/package.json +2 -2
  55. package/templates/application-additions/src/app/app.module.ts +6 -6
  56. package/templates/application-additions/src/services/index.ts +1 -1
  57. package/templates/application-additions/src/services/product-event-listener.service.ts +150 -0
  58. package/templates/application-e2e-additions/src/support/global-setup.ts +16 -0
  59. package/templates/application-e2e-additions/src/support/test-setup.ts +9 -0
  60. package/templates/storefront-additions/postcss.config.js +5 -0
  61. package/templates/storefront-additions/src/app/cart/page.tsx +77 -0
  62. package/templates/storefront-additions/src/app/global.css +1 -0
  63. package/templates/storefront-additions/src/app/layout.tsx +25 -0
  64. package/templates/storefront-additions/src/app/page.tsx +43 -0
  65. package/templates/storefront-additions/src/components/AddToCartButton.tsx +29 -0
  66. package/templates/storefront-additions/src/components/CartItem.tsx +82 -0
  67. package/templates/storefront-additions/src/components/Header.tsx +42 -0
  68. package/templates/storefront-additions/src/components/ProductCard.tsx +57 -0
  69. package/templates/storefront-additions/src/components/QuantitySelector.tsx +35 -0
  70. package/templates/storefront-additions/src/context/CartContext.tsx +158 -0
  71. package/templates/storefront-additions/tailwind.config.js +8 -0
  72. package/templates/storefront-e2e-additions/playwright.config.ts +26 -0
  73. package/templates/storefront-e2e-additions/src/example.spec.ts +11 -0
  74. package/dist/templates/application-additions/env.example +0 -7
  75. package/dist/templates/application-additions/src/services/price-fetcher.service.ts +0 -71
  76. package/dist/templates/storefront-additions/env.example +0 -3
  77. package/dist/templates/storefront-additions/src/app/products/page.tsx +0 -66
  78. package/templates/application-additions/env.example +0 -7
  79. package/templates/application-additions/src/services/price-fetcher.service.ts +0 -71
  80. package/templates/storefront-additions/env.example +0 -3
  81. package/templates/storefront-additions/src/app/products/page.tsx +0 -66
@@ -1,66 +0,0 @@
1
- import { ProductList, Product } from '@forgecart/sdk/shop'
2
- import forgecart from '../../lib/forgecart'
3
-
4
- async function getProducts(): Promise<ProductList> {
5
- try {
6
- // Fetch products from ForgeCart API
7
- const result = await forgecart.shop.products.products({
8
- options: {
9
- take: 10,
10
- },
11
- })
12
- return (result.products as ProductList) || { items: [], totalItems: 0 }
13
- } catch (error) {
14
- console.error('Failed to fetch products:', error)
15
- return {
16
- items: [] as Product[],
17
- totalItems: 0,
18
- }
19
- }
20
- }
21
-
22
- export default async function ProductsPage() {
23
- const products = await getProducts()
24
-
25
- return (
26
- <div className="container mx-auto px-4 py-8">
27
- <h1 className="text-3xl font-bold mb-8">Products</h1>
28
-
29
- {products.items.length === 0 ? (
30
- <p className="text-gray-600">
31
- No products found. Make sure your ForgeCart channel is configured
32
- correctly.
33
- </p>
34
- ) : (
35
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6">
36
- {products.items.map((product: Product) => (
37
- <div
38
- key={product.id}
39
- className="border rounded-lg overflow-hidden shadow-sm hover:shadow-md transition-shadow"
40
- >
41
- {product.featuredAsset && (
42
- <img
43
- src={product.featuredAsset.preview}
44
- alt={product.name}
45
- className="w-full h-48 object-cover"
46
- />
47
- )}
48
- <div className="p-4">
49
- <h2 className="text-lg font-semibold mb-2">{product.name}</h2>
50
- <p className="text-gray-600 text-sm mb-3 line-clamp-2">
51
- {product.description}
52
- </p>
53
- {product.variants[0] && (
54
- <p className="text-lg font-bold text-blue-600">
55
- {(product.variants[0].price / 100).toFixed(2)}{' '}
56
- {product.variants[0].currencyCode}
57
- </p>
58
- )}
59
- </div>
60
- </div>
61
- ))}
62
- </div>
63
- )}
64
- </div>
65
- )
66
- }