@forgecart/cli 1.0.1 → 2.0.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/dist/bin/forgecart.d.ts +2 -0
- package/dist/bin/forgecart.js +4 -0
- package/dist/bin/forgecart.js.map +1 -0
- package/dist/src/cli.d.ts +14 -1
- package/dist/src/cli.js +30 -15
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/init.d.ts +20 -2
- package/dist/src/commands/init.js +88 -255
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/placeholders.d.ts +19 -0
- package/dist/src/commands/placeholders.js +109 -0
- package/dist/src/commands/placeholders.js.map +1 -0
- package/dist/src/output.d.ts +11 -0
- package/dist/src/output.js +16 -0
- package/dist/src/output.js.map +1 -0
- package/package.json +21 -11
- package/templates/storefront/.env.example +12 -0
- package/templates/storefront/.forgecartignore +2 -0
- package/templates/storefront/Procfile +1 -0
- package/templates/storefront/README.md +87 -0
- package/templates/storefront/next.config.js +14 -0
- package/templates/storefront/package.json +25 -0
- package/templates/storefront/postcss.config.js +6 -0
- package/templates/storefront/src/app/cart/page.tsx +110 -0
- package/templates/storefront/src/app/globals.css +13 -0
- package/templates/storefront/src/app/layout.tsx +30 -0
- package/templates/storefront/src/app/page.tsx +49 -0
- package/templates/storefront/src/app/products/[slug]/not-found.tsx +20 -0
- package/templates/storefront/src/app/products/[slug]/page.tsx +96 -0
- package/templates/storefront/src/app/products/page.tsx +27 -0
- package/templates/storefront/src/components/AddToCartButton.tsx +30 -0
- package/templates/storefront/src/components/Header.tsx +36 -0
- package/templates/storefront/src/components/ProductCard.tsx +43 -0
- package/templates/storefront/src/lib/cart-context.tsx +116 -0
- package/templates/storefront/src/lib/forgecart.ts +202 -0
- package/templates/storefront/tailwind.config.js +8 -0
- package/templates/storefront/tsconfig.json +23 -0
- package/LICENSE +0 -21
- package/README.md +0 -179
- package/bin/forgecart.js +0 -3
- package/dist/package.json +0 -49
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/commands/delete.d.ts +0 -3
- package/dist/src/commands/delete.d.ts.map +0 -1
- package/dist/src/commands/delete.js +0 -58
- package/dist/src/commands/delete.js.map +0 -1
- package/dist/src/commands/deploy.d.ts +0 -3
- package/dist/src/commands/deploy.d.ts.map +0 -1
- package/dist/src/commands/deploy.js +0 -235
- package/dist/src/commands/deploy.js.map +0 -1
- package/dist/src/commands/env.d.ts +0 -3
- package/dist/src/commands/env.d.ts.map +0 -1
- package/dist/src/commands/env.js +0 -151
- package/dist/src/commands/env.js.map +0 -1
- package/dist/src/commands/init.d.ts.map +0 -1
- package/dist/src/commands/list.d.ts +0 -3
- package/dist/src/commands/list.d.ts.map +0 -1
- package/dist/src/commands/list.js +0 -63
- package/dist/src/commands/list.js.map +0 -1
- package/dist/src/commands/login.d.ts +0 -3
- package/dist/src/commands/login.d.ts.map +0 -1
- package/dist/src/commands/login.js +0 -120
- package/dist/src/commands/login.js.map +0 -1
- package/dist/src/commands/logs.d.ts +0 -3
- package/dist/src/commands/logs.d.ts.map +0 -1
- package/dist/src/commands/logs.js +0 -88
- package/dist/src/commands/logs.js.map +0 -1
- package/dist/src/commands/scale.d.ts +0 -3
- package/dist/src/commands/scale.d.ts.map +0 -1
- package/dist/src/commands/scale.js +0 -48
- package/dist/src/commands/scale.js.map +0 -1
- package/dist/src/commands/status.d.ts +0 -3
- package/dist/src/commands/status.d.ts.map +0 -1
- package/dist/src/commands/status.js +0 -87
- package/dist/src/commands/status.js.map +0 -1
- package/dist/src/commands/whoami.d.ts +0 -3
- package/dist/src/commands/whoami.d.ts.map +0 -1
- package/dist/src/commands/whoami.js +0 -57
- package/dist/src/commands/whoami.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -5
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/api-client.d.ts +0 -28
- package/dist/src/lib/api-client.d.ts.map +0 -1
- package/dist/src/lib/api-client.js +0 -137
- package/dist/src/lib/api-client.js.map +0 -1
- package/dist/src/lib/archive.d.ts +0 -9
- package/dist/src/lib/archive.d.ts.map +0 -1
- package/dist/src/lib/archive.js +0 -118
- package/dist/src/lib/archive.js.map +0 -1
- package/dist/src/lib/config-updater.d.ts +0 -10
- package/dist/src/lib/config-updater.d.ts.map +0 -1
- package/dist/src/lib/config-updater.js +0 -34
- package/dist/src/lib/config-updater.js.map +0 -1
- package/dist/src/lib/config.d.ts +0 -53
- package/dist/src/lib/config.d.ts.map +0 -1
- package/dist/src/lib/config.js +0 -162
- package/dist/src/lib/config.js.map +0 -1
- package/dist/src/lib/env-sync.d.ts +0 -36
- package/dist/src/lib/env-sync.d.ts.map +0 -1
- package/dist/src/lib/env-sync.js +0 -118
- package/dist/src/lib/env-sync.js.map +0 -1
- package/dist/src/lib/logger.d.ts +0 -15
- package/dist/src/lib/logger.d.ts.map +0 -1
- package/dist/src/lib/logger.js +0 -54
- package/dist/src/lib/logger.js.map +0 -1
- package/dist/src/lib/nx-generator.d.ts +0 -20
- package/dist/src/lib/nx-generator.d.ts.map +0 -1
- package/dist/src/lib/nx-generator.js +0 -338
- package/dist/src/lib/nx-generator.js.map +0 -1
- package/dist/src/lib/standalone.d.ts +0 -28
- package/dist/src/lib/standalone.d.ts.map +0 -1
- package/dist/src/lib/standalone.js +0 -107
- package/dist/src/lib/standalone.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -80
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -14
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/utils/spinner.d.ts +0 -4
- package/dist/src/utils/spinner.d.ts.map +0 -1
- package/dist/src/utils/spinner.js +0 -20
- package/dist/src/utils/spinner.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -12
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/validation.js +0 -82
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/templates/application-additions/.forgecartignore +0 -37
- package/dist/templates/application-additions/Procfile +0 -1
- package/dist/templates/application-additions/env.example +0 -7
- package/dist/templates/application-additions/src/app/app.module.ts +0 -16
- package/dist/templates/application-additions/src/services/forgecart.service.ts +0 -62
- package/dist/templates/application-additions/src/services/index.ts +0 -2
- package/dist/templates/application-additions/src/services/price-fetcher.service.ts +0 -71
- package/dist/templates/storefront-additions/.forgecartignore +0 -64
- package/dist/templates/storefront-additions/Procfile +0 -1
- package/dist/templates/storefront-additions/env.example +0 -3
- package/dist/templates/storefront-additions/package.json +0 -11
- package/dist/templates/storefront-additions/src/app/products/page.tsx +0 -66
- package/dist/templates/storefront-additions/src/lib/forgecart.ts +0 -22
- package/dist/templates/workspace/.nxignore +0 -2
- package/templates/application-additions/.forgecartignore +0 -37
- package/templates/application-additions/Procfile +0 -1
- package/templates/application-additions/env.example +0 -7
- package/templates/application-additions/src/app/app.module.ts +0 -16
- package/templates/application-additions/src/services/forgecart.service.ts +0 -62
- package/templates/application-additions/src/services/index.ts +0 -2
- package/templates/application-additions/src/services/price-fetcher.service.ts +0 -71
- package/templates/storefront-additions/.forgecartignore +0 -64
- package/templates/storefront-additions/Procfile +0 -1
- package/templates/storefront-additions/env.example +0 -3
- package/templates/storefront-additions/package.json +0 -11
- package/templates/storefront-additions/src/app/products/page.tsx +0 -66
- package/templates/storefront-additions/src/lib/forgecart.ts +0 -22
- package/templates/workspace/.nxignore +0 -2
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# ForgeCart deployment ignore file
|
|
2
|
-
# Files and directories listed here will not be uploaded during deployment
|
|
3
|
-
|
|
4
|
-
# Dependencies - only exclude root node_modules (standalone has its own)
|
|
5
|
-
/node_modules/
|
|
6
|
-
|
|
7
|
-
# Development files
|
|
8
|
-
.git/
|
|
9
|
-
.gitignore
|
|
10
|
-
.env
|
|
11
|
-
.env.local
|
|
12
|
-
.env.development
|
|
13
|
-
.env.development.local
|
|
14
|
-
|
|
15
|
-
# IDE
|
|
16
|
-
.idea/
|
|
17
|
-
.vscode/
|
|
18
|
-
*.swp
|
|
19
|
-
*.swo
|
|
20
|
-
|
|
21
|
-
# Build artifacts - exclude root level only (standalone has nested .next that must be kept)
|
|
22
|
-
/.next/cache/
|
|
23
|
-
/.next/server/
|
|
24
|
-
/.next/types/
|
|
25
|
-
/.next/trace
|
|
26
|
-
/.next/trace-build
|
|
27
|
-
/.next/dev/
|
|
28
|
-
/.next/build/
|
|
29
|
-
/.next/diagnostics/
|
|
30
|
-
# Keep .next/standalone/ and everything inside it
|
|
31
|
-
/out/
|
|
32
|
-
|
|
33
|
-
# Test files
|
|
34
|
-
__tests__/
|
|
35
|
-
*.test.ts
|
|
36
|
-
*.test.tsx
|
|
37
|
-
*.spec.ts
|
|
38
|
-
*.spec.tsx
|
|
39
|
-
coverage/
|
|
40
|
-
specs/
|
|
41
|
-
|
|
42
|
-
# Source files - not needed for runtime
|
|
43
|
-
src/
|
|
44
|
-
|
|
45
|
-
# Config files not needed at runtime
|
|
46
|
-
tsconfig.json
|
|
47
|
-
tsconfig.spec.json
|
|
48
|
-
project.json
|
|
49
|
-
jest.config.cts
|
|
50
|
-
eslint.config.mjs
|
|
51
|
-
postcss.config.js
|
|
52
|
-
tailwind.config.js
|
|
53
|
-
.swcrc
|
|
54
|
-
index.d.ts
|
|
55
|
-
next-env.d.ts
|
|
56
|
-
|
|
57
|
-
# Documentation
|
|
58
|
-
README.md
|
|
59
|
-
CHANGELOG.md
|
|
60
|
-
docs/
|
|
61
|
-
|
|
62
|
-
# OS files
|
|
63
|
-
.DS_Store
|
|
64
|
-
Thumbs.db
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
web: node .next/standalone/apps/storefront/server.js
|
|
@@ -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
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ForgeCartSDK } from '@forgecart/sdk'
|
|
2
|
-
|
|
3
|
-
// Singleton instance of the ForgeCart SDK
|
|
4
|
-
// Initialized once to maintain socket connection
|
|
5
|
-
let sdkInstance: ForgeCartSDK | null = null
|
|
6
|
-
|
|
7
|
-
export function getForgeCartSDK(): ForgeCartSDK {
|
|
8
|
-
if (!sdkInstance) {
|
|
9
|
-
sdkInstance = new ForgeCartSDK({
|
|
10
|
-
endpoint:
|
|
11
|
-
process.env.NEXT_PUBLIC_FORGECART_API_URL ||
|
|
12
|
-
'https://api.forgecart.com',
|
|
13
|
-
token: process.env.NEXT_PUBLIC_FORGECART_CHANNEL_TOKEN || '',
|
|
14
|
-
})
|
|
15
|
-
}
|
|
16
|
-
return sdkInstance
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Export singleton instance for convenience
|
|
20
|
-
export const forgecart = getForgeCartSDK()
|
|
21
|
-
|
|
22
|
-
export default forgecart
|