@onreza/adapter-nitro 0.3.0 → 0.3.2

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.
@@ -1 +1 @@
1
- var J=Object.defineProperty;var X=(x,N)=>{for(var g in N)J(x,g,{get:N[g],enumerable:!0,configurable:!0,set:(R)=>N[g]=()=>R})};var K=[640,750,828,1080,1200,1920,2048,3840];function P(x,N){if(x===void 0)return;if(N.length===0)return console.warn("[onreza:image] No allowed sizes configured, using width as-is"),x;return N.reduce((R,j)=>Math.abs(j-x)<Math.abs(R-x)?j:R)}function V(x){if(!x)return;return{contain:"contain",cover:"cover",fill:"fill",inside:"contain",outside:"cover"}[x]}function G(x,N,g){let R=N.sizes??K,j=N.quality??75;if(x.startsWith("http://")||x.startsWith("https://")||x.startsWith("//"))console.warn(`[onreza:image] External URL detected: "${x}". Platform will validate against allowed domains at runtime.`);if(x.includes("..")||x.includes("%2e")||x.includes("%2E"))throw Error(`[onreza:image] Path traversal detected in src: "${x}"`);let M=new URLSearchParams;if(M.set("url",x),g.width!==void 0){let C=P(g.width,R);if(C!==void 0){if(M.set("w",C.toString()),C!==g.width)console.warn(`[onreza:image] Width ${g.width}px is not in allowed sizes. Using closest: ${C}px.`)}}if(g.height!==void 0)M.set("h",g.height.toString());let k=g.quality??j;if(k<1||k>100)console.warn(`[onreza:image] Quality ${k} is out of range (1-100). Using default: ${j}`),k=j;if(M.set("q",k.toString()),g.format!==void 0){if(!["webp","avif","jpg","jpeg","png","gif"].includes(g.format))console.warn(`[onreza:image] Format "${g.format}" may not be supported. Using as-is.`);M.set("f",g.format)}let n=V(g.fit);if(n!==void 0)M.set("fit",n);if(g.position!==void 0&&!g.fit){let B={bottom:"cover",center:"cover",entropy:"cover",left:"cover",right:"cover",top:"cover"}[g.position];if(B)M.set("fit",B)}if(g.blur!==void 0){let C=Math.max(0,Math.min(250,g.blur));if(C>0)M.set("blur",C.toString())}if(g.dpr!==void 0&&typeof g.dpr==="number"){let C=Math.max(1,Math.min(5,g.dpr));M.set("dpr",C.toString())}return`/_onreza/image?${M.toString()}`}function H(x={}){return{getImage:(N,g)=>{return{url:G(N,x,g)}},name:"onreza"}}function I(x={}){return H(x)}export{G as generateOnrezaImageURL,I as default,H as createOnrezaImageProvider};
1
+ var w=Object.defineProperty;var B=(g,x)=>{for(var z in x)w(g,z,{get:x[z],enumerable:!0,configurable:!0,set:(n)=>x[z]=()=>n})};function Z(g,x){if(g<1||g>8192)return console.warn(`[onreza:image] ${x} ${g} is out of range (1-8192). Clamping.`),Math.max(1,Math.min(8192,g));return g}function A(g){if(!g)return;return{contain:"contain",cover:"cover",fill:"fill",inside:"contain",outside:"cover"}[g]}function h(g,x,z){let n=x.quality??75;if(g.startsWith("http://")||g.startsWith("https://")||g.startsWith("//"))console.warn(`[onreza:image] External URL detected: "${g}". Platform will validate against allowed domains at runtime.`);if(g.includes("..")||g.includes("%2e")||g.includes("%2E"))throw Error(`[onreza:image] Path traversal detected in src: "${g}"`);let N=new URLSearchParams;if(N.set("url",g),z.width!==void 0)N.set("w",Z(z.width,"Width").toString());if(z.height!==void 0)N.set("h",Z(z.height,"Height").toString());let I=z.quality??n;if(I<1||I>100)console.warn(`[onreza:image] Quality ${I} is out of range (1-100). Using default: ${n}`),I=n;if(N.set("q",I.toString()),z.format!==void 0){if(!["webp","avif","jpg","jpeg","png","gif"].includes(z.format))console.warn(`[onreza:image] Format "${z.format}" may not be supported. Using as-is.`);N.set("f",z.format)}let M=A(z.fit);if(M!==void 0)N.set("fit",M);if(z.position!==void 0&&!z.fit){let R={bottom:"cover",center:"cover",entropy:"cover",left:"cover",right:"cover",top:"cover"}[z.position];if(R)N.set("fit",R)}if(z.blur!==void 0){let C=Math.max(0,Math.min(250,z.blur));if(C>0)N.set("blur",C.toString())}if(z.dpr!==void 0&&typeof z.dpr==="number"){let C=Math.max(1,Math.min(5,z.dpr));N.set("dpr",C.toString())}return`/_onreza/image?${N.toString()}`}function j(g={}){return{getImage:(x,z)=>{return{url:h(x,g,z)}},name:"onreza"}}function k(g={}){return j(g)}export{h as generateOnrezaImageURL,k as default,j as createOnrezaImageProvider};
@@ -15,8 +15,6 @@
15
15
  * onreza: {
16
16
  * provider: '@onreza/adapter-nitro/image',
17
17
  * options: {
18
- * // Optional: restrict sizes
19
- * sizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
20
18
  * // Optional: default quality
21
19
  * quality: 75,
22
20
  * }
@@ -33,8 +31,6 @@
33
31
  * Provider configuration options
34
32
  */
35
33
  export interface OnrezaImageProviderOptions {
36
- /** Allowed image widths (defaults to platform preset) */
37
- sizes?: number[];
38
34
  /** Default quality (1-100, default: 75) */
39
35
  quality?: number;
40
36
  }