@fayz-ai/shop 0.12.0 → 0.13.1
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/data/supabase-provider.d.ts +2 -2
- package/dist/data/supabase-provider.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/image-delivery.d.ts +28 -0
- package/dist/lib/image-delivery.d.ts.map +1 -0
- package/dist/lib/optimize-upload.d.ts +29 -0
- package/dist/lib/optimize-upload.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -23,7 +23,7 @@ export declare class SupabaseShopProvider implements ShopProvider {
|
|
|
23
23
|
createProduct(input: CreateProductInput): Promise<Product>;
|
|
24
24
|
updateProduct(id: string, input: UpdateProductInput): Promise<Product>;
|
|
25
25
|
deleteProduct(id: string): Promise<void>;
|
|
26
|
-
uploadProductImage(productId: string,
|
|
26
|
+
uploadProductImage(productId: string, rawFile: File): Promise<ProductImage>;
|
|
27
27
|
updateProductImage(imageId: string, input: {
|
|
28
28
|
isPrimary?: boolean;
|
|
29
29
|
sortOrder?: number;
|
|
@@ -204,7 +204,7 @@ export declare class SupabaseShopProvider implements ShopProvider {
|
|
|
204
204
|
private listAttachedMedia;
|
|
205
205
|
/** What the merchant uploaded straight to the library — owned by nothing. */
|
|
206
206
|
private listLibraryFiles;
|
|
207
|
-
uploadMediaFile(
|
|
207
|
+
uploadMediaFile(rawFile: File): Promise<MediaFile>;
|
|
208
208
|
deleteMediaFile(id: string): Promise<void>;
|
|
209
209
|
private syncCollectionProducts;
|
|
210
210
|
private syncGroupMembers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase-provider.d.ts","sourceRoot":"","sources":["../../src/data/supabase-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"supabase-provider.d.ts","sourceRoot":"","sources":["../../src/data/supabase-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,4 +28,8 @@ export { mediaKindOf, storagePathOf, displayNameOf, productImageToMediaFile, mer
|
|
|
28
28
|
export { SHOP_EMAIL_EVENTS, EMAIL_PLACEHOLDERS, EMAIL_PREVIEW_SAMPLE, renderEmailTemplate, resolveEmailTemplates, } from './lib/emails';
|
|
29
29
|
export type { EmailEventDef, ResolvedEmailTemplate } from './lib/emails';
|
|
30
30
|
export type { EmailEventKey, EmailTemplateKind, EmailTemplate, UpsertEmailTemplateInput, } from './types';
|
|
31
|
+
export { imageVariantUrl, imageSrcSet, isStorageImageUrl, IMAGE_SRCSET_WIDTHS } from './lib/image-delivery';
|
|
32
|
+
export type { ImageVariantOptions } from './lib/image-delivery';
|
|
33
|
+
export { optimizeImageForUpload, planUpload } from './lib/optimize-upload';
|
|
34
|
+
export type { OptimizeUploadOptions, UploadPlan } from './lib/optimize-upload';
|
|
31
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EACrE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EACjE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EACpE,aAAa,EACb,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAChD,kBAAkB,EAAE,yBAAyB,EAAE,yBAAyB,EACxE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAC3D,yBAAyB,EAAE,2BAA2B,EACtD,mBAAmB,EAAE,mBAAmB,EACxC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EACrD,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EACpF,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAC9D,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,EAChF,eAAe,EAAE,cAAc,EAC/B,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,GAC7F,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAC9D,eAAe,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,0BAA0B,EAC5F,mBAAmB,EAAE,eAAe,EACpC,gBAAgB,EAAE,2BAA2B,EAG7C,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,0BAA0B,EAAE,0BAA0B,GACxE,MAAM,SAAS,CAAA;AAGhB,YAAY,EACV,aAAa,EAAE,wBAAwB,EACvC,gBAAgB,EAAE,mBAAmB,EAIrC,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,cAAc,GACf,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EACL,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,GACtF,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAMxD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,aAAa,CAAA;AAIpB,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAEnG,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACtE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAG3E,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACtG,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGnF,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAI5F,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIrH,OAAO,EACL,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,GACvF,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAIlD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAOtF,YAAY,EACV,UAAU,EAAE,qBAAqB,EAAE,qBAAqB,EACxD,aAAa,EAAE,wBAAwB,EAAE,wBAAwB,EACjE,eAAe,EAAE,0BAA0B,EAAE,0BAA0B,EACvE,QAAQ,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAClE,SAAS,EAAE,aAAa,EAAE,kBAAkB,GAC7C,MAAM,SAAS,CAAA;AAIhB,OAAO,EACL,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,EAAE,eAAe,GACpF,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3D,mBAAmB,EAAE,qBAAqB,GAC3C,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACxE,YAAY,EACV,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,wBAAwB,GAC1E,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -91,6 +91,70 @@ async function getCustomerOrders(customerId, provider = getShopProvider()) {
|
|
|
91
91
|
return provider.listOrders({ customerId, limit: 100 });
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
// src/lib/optimize-upload.ts
|
|
95
|
+
var RE_ENCODABLE = /* @__PURE__ */ new Set(["image/jpeg", "image/png", "image/webp", "image/avif", "image/heic", "image/heif", "image/tiff", "image/bmp"]);
|
|
96
|
+
function planUpload(meta, options = {}) {
|
|
97
|
+
const maxEdge = options.maxEdge ?? 2e3;
|
|
98
|
+
const keepUnder = options.keepUnderBytes ?? 400 * 1024;
|
|
99
|
+
const { type, size, width, height } = meta;
|
|
100
|
+
if (!RE_ENCODABLE.has(type)) {
|
|
101
|
+
return { action: "keep", width, height, reason: `${type || "unknown type"} is left as uploaded (animation, vector, or not an image)` };
|
|
102
|
+
}
|
|
103
|
+
const scale = Math.min(1, maxEdge / Math.max(width, height));
|
|
104
|
+
const target = { width: Math.max(1, Math.round(width * scale)), height: Math.max(1, Math.round(height * scale)) };
|
|
105
|
+
if (scale === 1 && size <= keepUnder) {
|
|
106
|
+
return { action: "keep", ...target, reason: `already within ${maxEdge}px and ${Math.round(keepUnder / 1024)} kB` };
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
action: "reencode",
|
|
110
|
+
...target,
|
|
111
|
+
reason: scale < 1 ? `resized from ${width}\xD7${height} to fit ${maxEdge}px` : `re-encoded (${Math.round(size / 1024)} kB source)`
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
async function optimizeImageForUpload(file, options = {}) {
|
|
115
|
+
if (typeof createImageBitmap !== "function") return file;
|
|
116
|
+
if (typeof OffscreenCanvas !== "function" && typeof document === "undefined") return file;
|
|
117
|
+
if (!file.type.startsWith("image/")) return file;
|
|
118
|
+
let bitmap;
|
|
119
|
+
try {
|
|
120
|
+
bitmap = await createImageBitmap(file, { imageOrientation: "from-image" });
|
|
121
|
+
} catch {
|
|
122
|
+
return file;
|
|
123
|
+
}
|
|
124
|
+
const plan = planUpload({ type: file.type, size: file.size, width: bitmap.width, height: bitmap.height }, options);
|
|
125
|
+
if (plan.action === "keep") {
|
|
126
|
+
bitmap.close();
|
|
127
|
+
return file;
|
|
128
|
+
}
|
|
129
|
+
const quality = options.quality ?? 0.82;
|
|
130
|
+
try {
|
|
131
|
+
const blob = await drawToWebp(bitmap, plan.width, plan.height, quality);
|
|
132
|
+
if (!blob || blob.size >= file.size) return file;
|
|
133
|
+
const base = file.name.replace(/\.[a-z0-9]+$/i, "") || "image";
|
|
134
|
+
return new File([blob], `${base}.webp`, { type: "image/webp", lastModified: file.lastModified });
|
|
135
|
+
} catch {
|
|
136
|
+
return file;
|
|
137
|
+
} finally {
|
|
138
|
+
bitmap.close();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async function drawToWebp(bitmap, width, height, quality) {
|
|
142
|
+
if (typeof OffscreenCanvas === "function") {
|
|
143
|
+
const canvas2 = new OffscreenCanvas(width, height);
|
|
144
|
+
const ctx2 = canvas2.getContext("2d");
|
|
145
|
+
if (!ctx2) return null;
|
|
146
|
+
ctx2.drawImage(bitmap, 0, 0, width, height);
|
|
147
|
+
return canvas2.convertToBlob({ type: "image/webp", quality });
|
|
148
|
+
}
|
|
149
|
+
const canvas = document.createElement("canvas");
|
|
150
|
+
canvas.width = width;
|
|
151
|
+
canvas.height = height;
|
|
152
|
+
const ctx = canvas.getContext("2d");
|
|
153
|
+
if (!ctx) return null;
|
|
154
|
+
ctx.drawImage(bitmap, 0, 0, width, height);
|
|
155
|
+
return new Promise((resolve) => canvas.toBlob(resolve, "image/webp", quality));
|
|
156
|
+
}
|
|
157
|
+
|
|
94
158
|
// src/data/functions.ts
|
|
95
159
|
var _functionsUrl = null;
|
|
96
160
|
function setShopFunctionsUrl(url) {
|
|
@@ -550,6 +614,7 @@ function generateGiftCardCode() {
|
|
|
550
614
|
const chars = Array.from(bytes, (b) => GIFT_CODE_ALPHABET[b % GIFT_CODE_ALPHABET.length]);
|
|
551
615
|
return `${chars.slice(0, 4).join("")}-${chars.slice(4, 8).join("")}-${chars.slice(8, 12).join("")}`;
|
|
552
616
|
}
|
|
617
|
+
var IMMUTABLE_OBJECT = { cacheControl: "31536000" };
|
|
553
618
|
var LIBRARY_FOLDER = "library";
|
|
554
619
|
function nullableNumber(value) {
|
|
555
620
|
if (value === null || value === void 0 || value === "") return null;
|
|
@@ -848,11 +913,12 @@ var SupabaseShopProvider = class {
|
|
|
848
913
|
const { error } = await getDb().from(T.products).delete().eq("id", id);
|
|
849
914
|
if (error) throw error;
|
|
850
915
|
}
|
|
851
|
-
async uploadProductImage(productId,
|
|
916
|
+
async uploadProductImage(productId, rawFile) {
|
|
852
917
|
const db = getDb();
|
|
853
918
|
const tenantId = getTenantId();
|
|
919
|
+
const file = await optimizeImageForUpload(rawFile);
|
|
854
920
|
const path = `${tenantId}/products/${productId}/${Date.now()}-${file.name}`;
|
|
855
|
-
const { error: uploadErr } = await db.storage.from("shop-images").upload(path, file);
|
|
921
|
+
const { error: uploadErr } = await db.storage.from("shop-images").upload(path, file, IMMUTABLE_OBJECT);
|
|
856
922
|
if (uploadErr) throw uploadErr;
|
|
857
923
|
const { data: { publicUrl } } = db.storage.from("shop-images").getPublicUrl(path);
|
|
858
924
|
const { data: existing } = await db.from(T.productImages).select("id,sort_order").eq("product_id", productId).order("sort_order", { ascending: false }).limit(1);
|
|
@@ -891,7 +957,7 @@ var SupabaseShopProvider = class {
|
|
|
891
957
|
if (readErr) throw readErr;
|
|
892
958
|
const path = `${tenantId}/products/${row.product_id}/${Date.now()}-${file.name}`;
|
|
893
959
|
const bucket = db.storage.from(T.mediaBucket);
|
|
894
|
-
const { error: uploadErr } = await bucket.upload(path, file);
|
|
960
|
+
const { error: uploadErr } = await bucket.upload(path, file, IMMUTABLE_OBJECT);
|
|
895
961
|
if (uploadErr) throw uploadErr;
|
|
896
962
|
const { data: { publicUrl } } = bucket.getPublicUrl(path);
|
|
897
963
|
const { data, error } = await db.from(T.productImages).update({ url: publicUrl }).eq("id", imageId).select().single();
|
|
@@ -1961,13 +2027,14 @@ var SupabaseShopProvider = class {
|
|
|
1961
2027
|
return file;
|
|
1962
2028
|
});
|
|
1963
2029
|
}
|
|
1964
|
-
async uploadMediaFile(
|
|
2030
|
+
async uploadMediaFile(rawFile) {
|
|
1965
2031
|
const db = getDb();
|
|
1966
2032
|
const tenantId = getTenantId();
|
|
1967
2033
|
if (!tenantId) throw new Error("@fayz-ai/shop: no active tenant for media upload");
|
|
2034
|
+
const file = await optimizeImageForUpload(rawFile);
|
|
1968
2035
|
const path = `${tenantId}/${LIBRARY_FOLDER}/${Date.now()}-${file.name}`;
|
|
1969
2036
|
const bucket = db.storage.from(T.mediaBucket);
|
|
1970
|
-
const { error } = await bucket.upload(path, file);
|
|
2037
|
+
const { error } = await bucket.upload(path, file, IMMUTABLE_OBJECT);
|
|
1971
2038
|
if (error) throw error;
|
|
1972
2039
|
const { data: { publicUrl } } = bucket.getPublicUrl(path);
|
|
1973
2040
|
return {
|
|
@@ -2271,6 +2338,32 @@ function buildShopMessageDefaults() {
|
|
|
2271
2338
|
});
|
|
2272
2339
|
}
|
|
2273
2340
|
|
|
2274
|
-
|
|
2341
|
+
// src/lib/image-delivery.ts
|
|
2342
|
+
var IMAGE_SRCSET_WIDTHS = Object.freeze([320, 480, 640, 960, 1280, 1600]);
|
|
2343
|
+
var PUBLIC_OBJECT = /^(https?:\/\/[^/]+\/storage\/v1)\/(?:object|render\/image)\/public\/([^?#]+)(?:\?[^#]*)?(#.*)?$/;
|
|
2344
|
+
function isStorageImageUrl(url) {
|
|
2345
|
+
return typeof url === "string" && PUBLIC_OBJECT.test(url);
|
|
2346
|
+
}
|
|
2347
|
+
function imageVariantUrl(url, options = {}) {
|
|
2348
|
+
const match = PUBLIC_OBJECT.exec(url);
|
|
2349
|
+
if (!match) return url;
|
|
2350
|
+
const [, storageBase, objectPath] = match;
|
|
2351
|
+
const params = new URLSearchParams();
|
|
2352
|
+
if (options.width) params.set("width", String(Math.round(options.width)));
|
|
2353
|
+
if (options.height) params.set("height", String(Math.round(options.height)));
|
|
2354
|
+
if (options.resize) params.set("resize", options.resize);
|
|
2355
|
+
params.set("quality", String(clampQuality(options.quality ?? 80)));
|
|
2356
|
+
if (options.format) params.set("format", options.format);
|
|
2357
|
+
return `${storageBase}/render/image/public/${objectPath}?${params.toString()}`;
|
|
2358
|
+
}
|
|
2359
|
+
function imageSrcSet(url, widths = IMAGE_SRCSET_WIDTHS, options = {}) {
|
|
2360
|
+
if (!isStorageImageUrl(url)) return void 0;
|
|
2361
|
+
return widths.map((w) => `${imageVariantUrl(url, { ...options, width: w })} ${w}w`).join(", ");
|
|
2362
|
+
}
|
|
2363
|
+
function clampQuality(q) {
|
|
2364
|
+
return Math.min(100, Math.max(20, Math.round(q)));
|
|
2365
|
+
}
|
|
2366
|
+
|
|
2367
|
+
export { CHARGEABLE_PROVIDERS, EMAIL_PLACEHOLDERS, EMAIL_PREVIEW_SAMPLE, IMAGE_SRCSET_WIDTHS, SHOP_EMAIL_EVENTS, SupabaseShopProvider, applyDiscount, buildShopDomainEvents, buildShopMessageDefaults, checkInventory, checkoutGateway, computeCartTotals, createSupabaseShopProvider, documentDigits, documentKind, formatDocument, getCustomerOrders, getShopFunctionsUrl, imageSrcSet, imageVariantUrl, isChargeableProvider, isStorageImageUrl, isValidCnpj, isValidCpf, isValidDocument, listShippingLabelProviders, optimizeImageForUpload, planUpload, registerShippingLabelProvider, renderEmailTemplate, resetShippingLabelProviders, resolveEmailTemplates, resolveShippingLabelProvider, setShopFunctionsUrl, validateDiscount };
|
|
2275
2368
|
//# sourceMappingURL=index.js.map
|
|
2276
2369
|
//# sourceMappingURL=index.js.map
|