@cimplify/cli 0.2.7 → 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/dist/{add-7N2EZR6W.mjs → add-ZJNXWN2B.mjs} +10 -10
- package/dist/assets-DMK2QOPD.mjs +208 -0
- package/dist/chunk-5IAYN7AJ.mjs +259 -0
- package/dist/{chunk-4SBJVRGM.mjs → chunk-C4M3DXKC.mjs} +3 -1
- package/dist/{chunk-NC3GKHDD.mjs → chunk-D7WMSGKK.mjs} +1 -1
- package/dist/{chunk-NZ4RG62Z.mjs → chunk-I3XQSSOT.mjs} +4 -1
- package/dist/{chunk-JJYWETGA.mjs → chunk-LS2VTSMQ.mjs} +8 -2
- package/dist/{chunk-G2P6KHM5.mjs → chunk-MHK4WVNF.mjs} +2392 -596
- package/dist/{chunk-JOUXICGV.mjs → chunk-MOZQODQS.mjs} +1 -1
- package/dist/{chunk-KPGRCXQY.mjs → chunk-QGBXGDA5.mjs} +5 -5
- package/dist/chunk-RRY3NEZZ.mjs +79 -0
- package/dist/{chunk-L6474RPL.mjs → chunk-RZQTHTXX.mjs} +1 -1
- package/dist/{chunk-4YSOZ6LY.mjs → chunk-YI7UMMM7.mjs} +1 -1
- package/dist/{chunk-52GZ5B77.mjs → chunk-YQVMG62Z.mjs} +3 -3
- package/dist/{deploy-6KVOROT3.mjs → deploy-UKOOPJAE.mjs} +8 -82
- package/dist/{dev-AQP6TMYK.mjs → dev-FD4PM3UD.mjs} +5 -5
- package/dist/dispatcher.mjs +34 -22
- package/dist/doctor-5LBLYT7M.mjs +314 -0
- package/dist/{domains-2ZQ7AG27.mjs → domains-JQMV6GAP.mjs} +5 -5
- package/dist/{env-FDBPGU3W.mjs → env-EVMYQUIK.mjs} +6 -6
- package/dist/explain-3KBMWL6M.mjs +223 -0
- package/dist/introspect-PFBI3JHO.mjs +8 -0
- package/dist/{link-P4K2HRXY.mjs → link-X3E4UZBF.mjs} +4 -4
- package/dist/{list-FL6JZ6A4.mjs → list-TE54SJIB.mjs} +3 -3
- package/dist/{login-RSKGT6GU.mjs → login-WSAW4BEA.mjs} +4 -4
- package/dist/{logout-ZFZLSJ32.mjs → logout-DJDINVDF.mjs} +2 -2
- package/dist/{logs-E2AGTDCF.mjs → logs-KUKGEXR2.mjs} +4 -4
- package/dist/{projects-5CJOZ3MT.mjs → projects-364HGWHO.mjs} +13 -11
- package/dist/repo-26N2CHF6.mjs +8 -0
- package/dist/{rollback-36O4NOEL.mjs → rollback-5YALPQXL.mjs} +5 -5
- package/dist/{status-6AT4HF63.mjs → status-W4HW3CX3.mjs} +4 -4
- package/dist/{unlink-5ABCT7B6.mjs → unlink-HIIW57OO.mjs} +2 -2
- package/dist/{update-LFTHO6Q5.mjs → update-5MRKRVZC.mjs} +7 -7
- package/dist/{whoami-DIJZYZIN.mjs → whoami-LACWBSNL.mjs} +3 -3
- package/package.json +3 -3
- package/templates/storefront-auto/.claude/skills/cimplify-storefront/SKILL.md +145 -0
- package/templates/storefront-auto/.cursor/rules/cimplify-storefront.mdc +25 -0
- package/templates/storefront-auto/.env.example +22 -0
- package/templates/storefront-auto/AGENTS.md +95 -0
- package/templates/storefront-auto/CLAUDE.md +22 -0
- package/templates/storefront-auto/README.md +48 -0
- package/templates/storefront-auto/__tests__/brand.test.ts +4 -0
- package/templates/storefront-auto/__tests__/cart-flow.test.ts +4 -0
- package/templates/storefront-auto/__tests__/contract.test.ts +4 -0
- package/templates/storefront-auto/app/.well-known/ucp/route.ts +65 -0
- package/templates/storefront-auto/app/about/page.tsx +41 -0
- package/templates/storefront-auto/app/accessibility/page.tsx +11 -0
- package/templates/storefront-auto/app/account/addresses/page.tsx +21 -0
- package/templates/storefront-auto/app/account/orders/page.tsx +21 -0
- package/templates/storefront-auto/app/account/page.tsx +22 -0
- package/templates/storefront-auto/app/account/settings/page.tsx +21 -0
- package/templates/storefront-auto/app/cart/page.tsx +9 -0
- package/templates/storefront-auto/app/categories/[slug]/listing-client.tsx +19 -0
- package/templates/storefront-auto/app/categories/[slug]/page.tsx +130 -0
- package/templates/storefront-auto/app/checkout/page.tsx +17 -0
- package/templates/storefront-auto/app/collections/[slug]/listing-client.tsx +20 -0
- package/templates/storefront-auto/app/collections/[slug]/page.tsx +130 -0
- package/templates/storefront-auto/app/contact/contact-form.tsx +109 -0
- package/templates/storefront-auto/app/contact/page.tsx +54 -0
- package/templates/storefront-auto/app/error.tsx +61 -0
- package/templates/storefront-auto/app/faq/page.tsx +46 -0
- package/templates/storefront-auto/app/globals.css +47 -0
- package/templates/storefront-auto/app/layout.tsx +77 -0
- package/templates/storefront-auto/app/llms.txt/route.ts +94 -0
- package/templates/storefront-auto/app/login/page.tsx +17 -0
- package/templates/storefront-auto/app/not-found.tsx +39 -0
- package/templates/storefront-auto/app/opensearch.xml/route.ts +37 -0
- package/templates/storefront-auto/app/orders/[id]/page.tsx +24 -0
- package/templates/storefront-auto/app/page.tsx +94 -0
- package/templates/storefront-auto/app/privacy/page.tsx +44 -0
- package/templates/storefront-auto/app/products/[slug]/page.tsx +165 -0
- package/templates/storefront-auto/app/products/[slug]/product-detail.tsx +70 -0
- package/templates/storefront-auto/app/returns/page.tsx +11 -0
- package/templates/storefront-auto/app/robots.ts +18 -0
- package/templates/storefront-auto/app/search/page.tsx +38 -0
- package/templates/storefront-auto/app/search/search-client.tsx +7 -0
- package/templates/storefront-auto/app/shipping/page.tsx +16 -0
- package/templates/storefront-auto/app/shop/page.tsx +63 -0
- package/templates/storefront-auto/app/shop/shop-client.tsx +32 -0
- package/templates/storefront-auto/app/signup/page.tsx +17 -0
- package/templates/storefront-auto/app/sitemap-page/page.tsx +167 -0
- package/templates/storefront-auto/app/sitemap.ts +59 -0
- package/templates/storefront-auto/app/terms/page.tsx +44 -0
- package/templates/storefront-auto/app/track-order/page.tsx +24 -0
- package/templates/storefront-auto/app/track-order/track-order-form.tsx +69 -0
- package/templates/storefront-auto/components/account-iframe.tsx +13 -0
- package/templates/storefront-auto/components/auto-hero.tsx +85 -0
- package/templates/storefront-auto/components/brand-marquee.tsx +27 -0
- package/templates/storefront-auto/components/cart-drawer.tsx +14 -0
- package/templates/storefront-auto/components/cart-pill.tsx +36 -0
- package/templates/storefront-auto/components/category-grid.tsx +28 -0
- package/templates/storefront-auto/components/category-tiles.tsx +104 -0
- package/templates/storefront-auto/components/collection-strip.tsx +45 -0
- package/templates/storefront-auto/components/feature-hero.tsx +84 -0
- package/templates/storefront-auto/components/fitment-finder.tsx +184 -0
- package/templates/storefront-auto/components/footer.tsx +153 -0
- package/templates/storefront-auto/components/header.tsx +45 -0
- package/templates/storefront-auto/components/hero.tsx +28 -0
- package/templates/storefront-auto/components/nav-link.tsx +20 -0
- package/templates/storefront-auto/components/newsletter.tsx +50 -0
- package/templates/storefront-auto/components/policy-page.tsx +49 -0
- package/templates/storefront-auto/components/promo-banner.tsx +41 -0
- package/templates/storefront-auto/components/providers.tsx +35 -0
- package/templates/storefront-auto/components/section-heading.tsx +37 -0
- package/templates/storefront-auto/components/service-brief.tsx +65 -0
- package/templates/storefront-auto/components/store-product-card.tsx +88 -0
- package/templates/storefront-auto/components/trade-in-cta.tsx +54 -0
- package/templates/storefront-auto/components/trust-bar.tsx +66 -0
- package/templates/storefront-auto/lib/brand.ts +744 -0
- package/templates/storefront-auto/lib/cart.ts +12 -0
- package/templates/storefront-auto/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-auto/next.config.ts +45 -0
- package/templates/storefront-auto/package.json +35 -0
- package/templates/storefront-auto/postcss.config.mjs +7 -0
- package/templates/storefront-auto/tsconfig.json +23 -0
- package/templates/storefront-auto/vitest.config.ts +9 -0
- package/templates/storefront-bakery/.env.example +2 -2
- package/templates/storefront-bakery/README.md +1 -1
- package/templates/storefront-bakery/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-bakery/next.config.ts +3 -0
- package/templates/storefront-bakery/package.json +1 -1
- package/templates/storefront-fashion/.env.example +2 -2
- package/templates/storefront-fashion/README.md +1 -1
- package/templates/storefront-fashion/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-fashion/next.config.ts +3 -0
- package/templates/storefront-fashion/package.json +1 -1
- package/templates/storefront-grocery/.env.example +2 -2
- package/templates/storefront-grocery/README.md +1 -1
- package/templates/storefront-grocery/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-grocery/next.config.ts +3 -0
- package/templates/storefront-grocery/package.json +1 -1
- package/templates/storefront-pharmacy/.claude/skills/cimplify-storefront/SKILL.md +145 -0
- package/templates/storefront-pharmacy/.cursor/rules/cimplify-storefront.mdc +25 -0
- package/templates/storefront-pharmacy/.env.example +22 -0
- package/templates/storefront-pharmacy/AGENTS.md +118 -0
- package/templates/storefront-pharmacy/CLAUDE.md +22 -0
- package/templates/storefront-pharmacy/README.md +87 -0
- package/templates/storefront-pharmacy/__tests__/brand.test.ts +4 -0
- package/templates/storefront-pharmacy/__tests__/cart-flow.test.ts +4 -0
- package/templates/storefront-pharmacy/__tests__/contract.test.ts +4 -0
- package/templates/storefront-pharmacy/app/.well-known/ucp/route.ts +65 -0
- package/templates/storefront-pharmacy/app/about/page.tsx +41 -0
- package/templates/storefront-pharmacy/app/accessibility/page.tsx +11 -0
- package/templates/storefront-pharmacy/app/account/addresses/page.tsx +21 -0
- package/templates/storefront-pharmacy/app/account/orders/page.tsx +21 -0
- package/templates/storefront-pharmacy/app/account/page.tsx +22 -0
- package/templates/storefront-pharmacy/app/account/settings/page.tsx +21 -0
- package/templates/storefront-pharmacy/app/cart/page.tsx +9 -0
- package/templates/storefront-pharmacy/app/categories/[slug]/listing-client.tsx +19 -0
- package/templates/storefront-pharmacy/app/categories/[slug]/page.tsx +130 -0
- package/templates/storefront-pharmacy/app/checkout/page.tsx +17 -0
- package/templates/storefront-pharmacy/app/collections/[slug]/listing-client.tsx +20 -0
- package/templates/storefront-pharmacy/app/collections/[slug]/page.tsx +130 -0
- package/templates/storefront-pharmacy/app/contact/contact-form.tsx +109 -0
- package/templates/storefront-pharmacy/app/contact/page.tsx +54 -0
- package/templates/storefront-pharmacy/app/error.tsx +61 -0
- package/templates/storefront-pharmacy/app/faq/page.tsx +46 -0
- package/templates/storefront-pharmacy/app/globals.css +47 -0
- package/templates/storefront-pharmacy/app/layout.tsx +77 -0
- package/templates/storefront-pharmacy/app/llms.txt/route.ts +94 -0
- package/templates/storefront-pharmacy/app/login/page.tsx +17 -0
- package/templates/storefront-pharmacy/app/not-found.tsx +39 -0
- package/templates/storefront-pharmacy/app/opensearch.xml/route.ts +37 -0
- package/templates/storefront-pharmacy/app/orders/[id]/page.tsx +24 -0
- package/templates/storefront-pharmacy/app/page.tsx +78 -0
- package/templates/storefront-pharmacy/app/privacy/page.tsx +44 -0
- package/templates/storefront-pharmacy/app/products/[slug]/page.tsx +165 -0
- package/templates/storefront-pharmacy/app/products/[slug]/product-detail.tsx +70 -0
- package/templates/storefront-pharmacy/app/returns/page.tsx +11 -0
- package/templates/storefront-pharmacy/app/robots.ts +18 -0
- package/templates/storefront-pharmacy/app/search/page.tsx +38 -0
- package/templates/storefront-pharmacy/app/search/search-client.tsx +7 -0
- package/templates/storefront-pharmacy/app/shipping/page.tsx +16 -0
- package/templates/storefront-pharmacy/app/shop/page.tsx +63 -0
- package/templates/storefront-pharmacy/app/shop/shop-client.tsx +32 -0
- package/templates/storefront-pharmacy/app/signup/page.tsx +17 -0
- package/templates/storefront-pharmacy/app/sitemap-page/page.tsx +167 -0
- package/templates/storefront-pharmacy/app/sitemap.ts +59 -0
- package/templates/storefront-pharmacy/app/terms/page.tsx +44 -0
- package/templates/storefront-pharmacy/app/track-order/page.tsx +24 -0
- package/templates/storefront-pharmacy/app/track-order/track-order-form.tsx +69 -0
- package/templates/storefront-pharmacy/components/account-iframe.tsx +13 -0
- package/templates/storefront-pharmacy/components/brand-marquee.tsx +27 -0
- package/templates/storefront-pharmacy/components/cart-drawer.tsx +14 -0
- package/templates/storefront-pharmacy/components/cart-pill.tsx +36 -0
- package/templates/storefront-pharmacy/components/category-grid.tsx +28 -0
- package/templates/storefront-pharmacy/components/category-tiles.tsx +104 -0
- package/templates/storefront-pharmacy/components/collection-strip.tsx +45 -0
- package/templates/storefront-pharmacy/components/feature-hero.tsx +84 -0
- package/templates/storefront-pharmacy/components/footer.tsx +153 -0
- package/templates/storefront-pharmacy/components/header.tsx +45 -0
- package/templates/storefront-pharmacy/components/health-brief.tsx +65 -0
- package/templates/storefront-pharmacy/components/hero.tsx +28 -0
- package/templates/storefront-pharmacy/components/nav-link.tsx +20 -0
- package/templates/storefront-pharmacy/components/newsletter.tsx +50 -0
- package/templates/storefront-pharmacy/components/pharmacy-hero.tsx +95 -0
- package/templates/storefront-pharmacy/components/policy-page.tsx +49 -0
- package/templates/storefront-pharmacy/components/promo-banner.tsx +41 -0
- package/templates/storefront-pharmacy/components/providers.tsx +35 -0
- package/templates/storefront-pharmacy/components/section-heading.tsx +37 -0
- package/templates/storefront-pharmacy/components/store-product-card.tsx +88 -0
- package/templates/storefront-pharmacy/components/symptom-finder.tsx +108 -0
- package/templates/storefront-pharmacy/components/trade-in-cta.tsx +54 -0
- package/templates/storefront-pharmacy/components/trust-bar.tsx +66 -0
- package/templates/storefront-pharmacy/components/urgent-ctas.tsx +117 -0
- package/templates/storefront-pharmacy/lib/brand.ts +790 -0
- package/templates/storefront-pharmacy/lib/cart.ts +12 -0
- package/templates/storefront-pharmacy/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-pharmacy/next.config.ts +45 -0
- package/templates/storefront-pharmacy/package.json +35 -0
- package/templates/storefront-pharmacy/postcss.config.mjs +7 -0
- package/templates/storefront-pharmacy/tsconfig.json +23 -0
- package/templates/storefront-pharmacy/vitest.config.ts +9 -0
- package/templates/storefront-restaurant/.env.example +2 -2
- package/templates/storefront-restaurant/README.md +1 -1
- package/templates/storefront-restaurant/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-restaurant/next.config.ts +3 -0
- package/templates/storefront-restaurant/package.json +1 -1
- package/templates/storefront-retail/.env.example +2 -2
- package/templates/storefront-retail/README.md +1 -1
- package/templates/storefront-retail/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-retail/next.config.ts +3 -0
- package/templates/storefront-retail/package.json +1 -1
- package/templates/storefront-services/.env.example +2 -2
- package/templates/storefront-services/README.md +1 -1
- package/templates/storefront-services/lib/cimplify-loader.ts +19 -0
- package/templates/storefront-services/next.config.ts +3 -0
- package/templates/storefront-services/package.json +1 -1
- package/dist/repo-E6SBKVDG.mjs +0 -8
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useCart } from "@cimplify/sdk/react";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Reactive cart count for the header pill. Subscribes to the SDK cart
|
|
7
|
+
* state — updates immediately on add / remove / quantity change.
|
|
8
|
+
*/
|
|
9
|
+
export function useCartCount(): { count: number } {
|
|
10
|
+
const { itemCount } = useCart();
|
|
11
|
+
return { count: itemCount };
|
|
12
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ImageLoader } from "next/image";
|
|
2
|
+
|
|
3
|
+
import { assetUrl, isCimplifyAsset } from "@cimplify/sdk";
|
|
4
|
+
|
|
5
|
+
const cdnBase = process.env.NEXT_PUBLIC_CIMPLIFY_CDN_URL?.trim() || undefined;
|
|
6
|
+
|
|
7
|
+
const cimplifyImageLoader: ImageLoader = ({ src, width, quality }) => {
|
|
8
|
+
if (isCimplifyAsset(src, cdnBase)) {
|
|
9
|
+
return assetUrl(src, {
|
|
10
|
+
base: cdnBase,
|
|
11
|
+
w: width,
|
|
12
|
+
quality,
|
|
13
|
+
format: "auto",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return src;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default cimplifyImageLoader;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { NextConfig } from "next";
|
|
2
|
+
|
|
3
|
+
const MOCK_URL = process.env.NEXT_PUBLIC_CIMPLIFY_API_URL?.trim() || "http://127.0.0.1:8787";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Same-origin proxy to the Cimplify mock so the browser never makes a
|
|
7
|
+
* cross-origin request in dev (no CORS preflights, no flaky `Origin`
|
|
8
|
+
* mismatches). The SDK's base URL stays empty/relative — requests go to
|
|
9
|
+
* `/api/v1/...` on the Next origin, then this rewrite forwards them to
|
|
10
|
+
* the mock at `127.0.0.1:8787`.
|
|
11
|
+
*
|
|
12
|
+
* In production, point `NEXT_PUBLIC_CIMPLIFY_API_URL` at your Cimplify
|
|
13
|
+
* host and the rewrite continues to work the same way (or remove it and
|
|
14
|
+
* pass the absolute URL through `<CimplifyProvider/>`).
|
|
15
|
+
*/
|
|
16
|
+
const nextConfig: NextConfig = {
|
|
17
|
+
// Enable Next 16's `cacheComponents` mode so we can use `'use cache'` +
|
|
18
|
+
// `cacheTag` / `cacheLife` for SSR caching. Cached chrome streams first,
|
|
19
|
+
// dynamic Suspense boundaries fill in when ready.
|
|
20
|
+
cacheComponents: true,
|
|
21
|
+
async rewrites() {
|
|
22
|
+
return [
|
|
23
|
+
{ source: "/api/v1/:path*", destination: `${MOCK_URL}/api/v1/:path*` },
|
|
24
|
+
{ source: "/img/:path*", destination: `${MOCK_URL}/img/:path*` },
|
|
25
|
+
{ source: "/elements/:path*", destination: `${MOCK_URL}/elements/:path*` },
|
|
26
|
+
{ source: "/_mock/:path*", destination: `${MOCK_URL}/_mock/:path*` },
|
|
27
|
+
];
|
|
28
|
+
},
|
|
29
|
+
images: {
|
|
30
|
+
loader: "custom",
|
|
31
|
+
loaderFile: "./lib/cimplify-loader.ts",
|
|
32
|
+
remotePatterns: [
|
|
33
|
+
{ protocol: "http", hostname: "127.0.0.1", port: "8787", pathname: "/img/**" },
|
|
34
|
+
{ protocol: "http", hostname: "localhost", port: "8787", pathname: "/img/**" },
|
|
35
|
+
{ protocol: "http", hostname: "localhost", port: "3000", pathname: "/img/**" },
|
|
36
|
+
{ protocol: "https", hostname: "loremflickr.com", pathname: "/**" },
|
|
37
|
+
{ protocol: "https", hostname: "images.unsplash.com", pathname: "/**" },
|
|
38
|
+
{ protocol: "https", hostname: "static-tmp.cimplify.io", pathname: "/**" },
|
|
39
|
+
{ protocol: "https", hostname: "storefrontassetscdn.cimplify.io", pathname: "/**" },
|
|
40
|
+
{ protocol: "https", hostname: "cdn.cimplify.io", pathname: "/**" },
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export default nextConfig;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "__STOREFRONT_NAME__",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.0.0",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "concurrently -k -n mock,next -c blue,magenta \"cimplify-mock --seed pharmacy --quiet\" \"next dev\"",
|
|
7
|
+
"dev:storefront": "next dev",
|
|
8
|
+
"dev:mock": "cimplify-mock --seed pharmacy",
|
|
9
|
+
"build": "next build",
|
|
10
|
+
"start": "next start",
|
|
11
|
+
"typecheck": "tsc --noEmit",
|
|
12
|
+
"test": "vitest",
|
|
13
|
+
"test:run": "vitest run",
|
|
14
|
+
"check:brand": "vitest run __tests__/brand.test.ts",
|
|
15
|
+
"check:cart": "vitest run __tests__/cart-flow.test.ts",
|
|
16
|
+
"check:contract": "vitest run __tests__/contract.test.ts",
|
|
17
|
+
"check": "bun run typecheck && bun run test:run"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@cimplify/sdk": "^0.46.0",
|
|
21
|
+
"next": "^16.2.4",
|
|
22
|
+
"react": "^19.0.0",
|
|
23
|
+
"react-dom": "^19.0.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@tailwindcss/postcss": "^4.2.4",
|
|
27
|
+
"@types/node": "^22.10.0",
|
|
28
|
+
"@types/react": "^19.0.0",
|
|
29
|
+
"@types/react-dom": "^19.0.0",
|
|
30
|
+
"concurrently": "^9.0.0",
|
|
31
|
+
"tailwindcss": "^4.2.4",
|
|
32
|
+
"typescript": "^5.9.3",
|
|
33
|
+
"vitest": "^4.1.5"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"lib": ["dom", "dom.iterable", "esnext"],
|
|
5
|
+
"allowJs": false,
|
|
6
|
+
"skipLibCheck": true,
|
|
7
|
+
"strict": true,
|
|
8
|
+
"noEmit": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"module": "esnext",
|
|
11
|
+
"moduleResolution": "bundler",
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"jsx": "preserve",
|
|
15
|
+
"incremental": true,
|
|
16
|
+
"plugins": [{ "name": "next" }],
|
|
17
|
+
"paths": {
|
|
18
|
+
"@/*": ["./*"]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".next/dev/types/**/*.ts"],
|
|
22
|
+
"exclude": ["node_modules"]
|
|
23
|
+
}
|
|
@@ -11,8 +11,8 @@ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
|
11
11
|
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_mamas_kitchen
|
|
12
12
|
|
|
13
13
|
# Canonical public site URL — used by sitemap.xml, robots.txt, llms.txt,
|
|
14
|
-
# and OpenGraph metadata. Set this on production deploys
|
|
15
|
-
#
|
|
14
|
+
# and OpenGraph metadata. Set this on production deploys; `cimplify env push`
|
|
15
|
+
# wires it into your linked project.
|
|
16
16
|
NEXT_PUBLIC_SITE_URL=https://example.com
|
|
17
17
|
|
|
18
18
|
# Business handle (human-readable slug, e.g. "akua-bakery"). Used by the
|
|
@@ -70,4 +70,4 @@ Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded bu
|
|
|
70
70
|
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
Deploy
|
|
73
|
+
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://docs.cimplify.io/cli/deploy). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ImageLoader } from "next/image";
|
|
2
|
+
|
|
3
|
+
import { assetUrl, isCimplifyAsset } from "@cimplify/sdk";
|
|
4
|
+
|
|
5
|
+
const cdnBase = process.env.NEXT_PUBLIC_CIMPLIFY_CDN_URL?.trim() || undefined;
|
|
6
|
+
|
|
7
|
+
const cimplifyImageLoader: ImageLoader = ({ src, width, quality }) => {
|
|
8
|
+
if (isCimplifyAsset(src, cdnBase)) {
|
|
9
|
+
return assetUrl(src, {
|
|
10
|
+
base: cdnBase,
|
|
11
|
+
w: width,
|
|
12
|
+
quality,
|
|
13
|
+
format: "auto",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return src;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default cimplifyImageLoader;
|
|
@@ -27,6 +27,8 @@ const nextConfig: NextConfig = {
|
|
|
27
27
|
];
|
|
28
28
|
},
|
|
29
29
|
images: {
|
|
30
|
+
loader: "custom",
|
|
31
|
+
loaderFile: "./lib/cimplify-loader.ts",
|
|
30
32
|
remotePatterns: [
|
|
31
33
|
{ protocol: "http", hostname: "127.0.0.1", port: "8787", pathname: "/img/**" },
|
|
32
34
|
{ protocol: "http", hostname: "localhost", port: "8787", pathname: "/img/**" },
|
|
@@ -34,6 +36,7 @@ const nextConfig: NextConfig = {
|
|
|
34
36
|
{ protocol: "https", hostname: "loremflickr.com", pathname: "/**" },
|
|
35
37
|
{ protocol: "https", hostname: "images.unsplash.com", pathname: "/**" },
|
|
36
38
|
{ protocol: "https", hostname: "static-tmp.cimplify.io", pathname: "/**" },
|
|
39
|
+
{ protocol: "https", hostname: "storefrontassetscdn.cimplify.io", pathname: "/**" },
|
|
37
40
|
{ protocol: "https", hostname: "cdn.cimplify.io", pathname: "/**" },
|
|
38
41
|
],
|
|
39
42
|
},
|
|
@@ -11,8 +11,8 @@ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
|
11
11
|
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_currents_electronics
|
|
12
12
|
|
|
13
13
|
# Canonical public site URL — used by sitemap.xml, robots.txt, llms.txt,
|
|
14
|
-
# and OpenGraph metadata. Set this on production deploys
|
|
15
|
-
#
|
|
14
|
+
# and OpenGraph metadata. Set this on production deploys; `cimplify env push`
|
|
15
|
+
# wires it into your linked project.
|
|
16
16
|
NEXT_PUBLIC_SITE_URL=https://example.com
|
|
17
17
|
|
|
18
18
|
# Business handle (human-readable slug, e.g. "akua-bakery"). Used by the
|
|
@@ -74,4 +74,4 @@ cimplify init my-store --template grocery # coming soon
|
|
|
74
74
|
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
Deploy
|
|
77
|
+
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://docs.cimplify.io/cli/deploy). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ImageLoader } from "next/image";
|
|
2
|
+
|
|
3
|
+
import { assetUrl, isCimplifyAsset } from "@cimplify/sdk";
|
|
4
|
+
|
|
5
|
+
const cdnBase = process.env.NEXT_PUBLIC_CIMPLIFY_CDN_URL?.trim() || undefined;
|
|
6
|
+
|
|
7
|
+
const cimplifyImageLoader: ImageLoader = ({ src, width, quality }) => {
|
|
8
|
+
if (isCimplifyAsset(src, cdnBase)) {
|
|
9
|
+
return assetUrl(src, {
|
|
10
|
+
base: cdnBase,
|
|
11
|
+
w: width,
|
|
12
|
+
quality,
|
|
13
|
+
format: "auto",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return src;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default cimplifyImageLoader;
|
|
@@ -27,6 +27,8 @@ const nextConfig: NextConfig = {
|
|
|
27
27
|
];
|
|
28
28
|
},
|
|
29
29
|
images: {
|
|
30
|
+
loader: "custom",
|
|
31
|
+
loaderFile: "./lib/cimplify-loader.ts",
|
|
30
32
|
remotePatterns: [
|
|
31
33
|
{ protocol: "http", hostname: "127.0.0.1", port: "8787", pathname: "/img/**" },
|
|
32
34
|
{ protocol: "http", hostname: "localhost", port: "8787", pathname: "/img/**" },
|
|
@@ -34,6 +36,7 @@ const nextConfig: NextConfig = {
|
|
|
34
36
|
{ protocol: "https", hostname: "loremflickr.com", pathname: "/**" },
|
|
35
37
|
{ protocol: "https", hostname: "images.unsplash.com", pathname: "/**" },
|
|
36
38
|
{ protocol: "https", hostname: "static-tmp.cimplify.io", pathname: "/**" },
|
|
39
|
+
{ protocol: "https", hostname: "storefrontassetscdn.cimplify.io", pathname: "/**" },
|
|
37
40
|
{ protocol: "https", hostname: "cdn.cimplify.io", pathname: "/**" },
|
|
38
41
|
],
|
|
39
42
|
},
|
|
@@ -11,8 +11,8 @@ NEXT_PUBLIC_CIMPLIFY_PUBLIC_KEY=mock-dev
|
|
|
11
11
|
NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=bus_serene_spa
|
|
12
12
|
|
|
13
13
|
# Canonical public site URL — used by sitemap.xml, robots.txt, llms.txt,
|
|
14
|
-
# and OpenGraph metadata. Set this on production deploys
|
|
15
|
-
#
|
|
14
|
+
# and OpenGraph metadata. Set this on production deploys; `cimplify env push`
|
|
15
|
+
# wires it into your linked project.
|
|
16
16
|
NEXT_PUBLIC_SITE_URL=https://example.com
|
|
17
17
|
|
|
18
18
|
# Business handle (human-readable slug, e.g. "akua-bakery"). Used by the
|
|
@@ -70,4 +70,4 @@ Update `NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID` in `.env.local` to match the seeded bu
|
|
|
70
70
|
+ NEXT_PUBLIC_CIMPLIFY_BUSINESS_ID=<your business id>
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
Deploy
|
|
73
|
+
Deploy with `cimplify deploy --prod` after linking the project. See [`cimplify` CLI docs](https://docs.cimplify.io/cli/deploy). `next.config.ts` already whitelists the SDK image hosts under `images.remotePatterns`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ImageLoader } from "next/image";
|
|
2
|
+
|
|
3
|
+
import { assetUrl, isCimplifyAsset } from "@cimplify/sdk";
|
|
4
|
+
|
|
5
|
+
const cdnBase = process.env.NEXT_PUBLIC_CIMPLIFY_CDN_URL?.trim() || undefined;
|
|
6
|
+
|
|
7
|
+
const cimplifyImageLoader: ImageLoader = ({ src, width, quality }) => {
|
|
8
|
+
if (isCimplifyAsset(src, cdnBase)) {
|
|
9
|
+
return assetUrl(src, {
|
|
10
|
+
base: cdnBase,
|
|
11
|
+
w: width,
|
|
12
|
+
quality,
|
|
13
|
+
format: "auto",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return src;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default cimplifyImageLoader;
|
|
@@ -27,6 +27,8 @@ const nextConfig: NextConfig = {
|
|
|
27
27
|
];
|
|
28
28
|
},
|
|
29
29
|
images: {
|
|
30
|
+
loader: "custom",
|
|
31
|
+
loaderFile: "./lib/cimplify-loader.ts",
|
|
30
32
|
remotePatterns: [
|
|
31
33
|
{ protocol: "http", hostname: "127.0.0.1", port: "8787", pathname: "/img/**" },
|
|
32
34
|
{ protocol: "http", hostname: "localhost", port: "8787", pathname: "/img/**" },
|
|
@@ -34,6 +36,7 @@ const nextConfig: NextConfig = {
|
|
|
34
36
|
{ protocol: "https", hostname: "loremflickr.com", pathname: "/**" },
|
|
35
37
|
{ protocol: "https", hostname: "images.unsplash.com", pathname: "/**" },
|
|
36
38
|
{ protocol: "https", hostname: "static-tmp.cimplify.io", pathname: "/**" },
|
|
39
|
+
{ protocol: "https", hostname: "storefrontassetscdn.cimplify.io", pathname: "/**" },
|
|
37
40
|
{ protocol: "https", hostname: "cdn.cimplify.io", pathname: "/**" },
|
|
38
41
|
],
|
|
39
42
|
},
|
package/dist/repo-E6SBKVDG.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
export { run as default, fetchCloneToken } from './chunk-KPGRCXQY.mjs';
|
|
3
|
-
import './chunk-L6474RPL.mjs';
|
|
4
|
-
import './chunk-MXYUAJEW.mjs';
|
|
5
|
-
import './chunk-4SBJVRGM.mjs';
|
|
6
|
-
import './chunk-NC3GKHDD.mjs';
|
|
7
|
-
import './chunk-JJYWETGA.mjs';
|
|
8
|
-
import './chunk-NZ4RG62Z.mjs';
|