Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions website/components/Events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ interface EventsAPI {
) => () => void;
}
interface FeatureFlags {
bypassPlatformImageOptimization: boolean;
bypassDecoImageOptimization: boolean;
cdnHost: string;
}
Expand All @@ -31,8 +30,6 @@ declare global {
};
}
}
const BYPASS_PLATFORM_IMAGE_OPTIMIZATION =
Deno.env.get("BYPASS_PLATFORM_IMAGE_OPTIMIZATION") === "true";
const BYPASS_DECO_IMAGE_OPTIMIZATION =
Deno.env.get("BYPASS_DECO_IMAGE_OPTIMIZATION") === "true";
const DECO_CDN_HOST = Deno.env.get("DECO_CDN_HOST") ?? "https://decoims.com";
Expand Down Expand Up @@ -101,7 +98,6 @@ function Events({ deco }: {
deco,
segmentCookie: DECO_SEGMENT,
featureFlags: {
bypassPlatformImageOptimization: BYPASS_PLATFORM_IMAGE_OPTIMIZATION,
bypassDecoImageOptimization: BYPASS_DECO_IMAGE_OPTIMIZATION,
cdnHost: DECO_CDN_HOST,
},
Expand Down
55 changes: 21 additions & 34 deletions website/components/Image.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,6 @@ export const FACTORS = [1, 2];

type FitOptions = "contain" | "cover";

// By default we use the platform image optimization, with functions like:
// optimizeVTEX, optimizeWake, optmizeShopify
// if you want to use deco optimization
// you can set the BYPASS_PLATFORM_IMAGE_OPTIMIZATION environment variable to true
// Default is false
const bypassPlatformImageOptimization = () =>
IS_BROWSER
// deno-lint-ignore no-explicit-any
? (globalThis as any).DECO?.featureFlags?.bypassPlatformImageOptimization
: Deno.env.get("BYPASS_PLATFORM_IMAGE_OPTIMIZATION") === "true";

// Default is false
const bypassDecoImageOptimization = () =>
IS_BROWSER
Expand Down Expand Up @@ -196,34 +185,32 @@ export const getOptimizedMediaUrl = (opts: OptimizationOptions) => {
if (originalSrc.startsWith("data:")) {
return originalSrc;
}
if (!bypassPlatformImageOptimization()) {
if (originalSrc.startsWith("https://media-storage.soureicdn.com")) {
return optimizeSourei(opts);
}
if (originalSrc.startsWith("https://media-storage.soureicdn.com")) {
return optimizeSourei(opts);
}

if (originalSrc.includes("media/catalog/product")) {
return optimizeMagento(opts);
}
if (originalSrc.includes("media/catalog/product")) {
return optimizeMagento(opts);
}

if (originalSrc.includes("fbitsstatic.net/img/")) {
return optimizeWake(opts);
}
if (originalSrc.includes("fbitsstatic.net/img/")) {
return optimizeWake(opts);
}

if (originalSrc.startsWith("https://cdn.vnda.")) {
return optmizeVNDA(opts);
}
if (originalSrc.startsWith("https://cdn.vnda.")) {
return optmizeVNDA(opts);
}

if (originalSrc.startsWith("https://cdn.shopify.com")) {
return optmizeShopify(opts);
}
if (originalSrc.startsWith("https://cdn.shopify.com")) {
return optmizeShopify(opts);
}

if (
/(vteximg.com.br|vtexassets.com|myvtex.com)\/arquivos\/ids\/\d+/.test(
originalSrc,
)
) {
return optimizeVTEX(opts);
}
if (
/(vteximg.com.br|vtexassets.com|myvtex.com)\/arquivos\/ids\/\d+/.test(
originalSrc,
)
) {
return optimizeVTEX(opts);
}

if (bypassDecoImageOptimization()) {
Expand Down
Loading