npm.io
0.1.0 • Published 4 months ago

@betttercms/image-url

Licence
—
Version
0.1.0
Deps
0
Size
25 kB
Vulns
0
Weekly
0
DeprecatedThis package is deprecated

@betttercms/image-url

Chainable, immutable builder for optimized BetterCMS image URLs — the @sanity/image-url of BetterCMS. Zero runtime dependencies; assembles URLs against the media transform endpoint (GET /media/:id?w&h&format&quality&fit&dpr).

Install

npm install @betttercms/image-url

Usage

import imageUrlBuilder from "@betttercms/image-url";

const urlFor = imageUrlBuilder({ baseUrl: "https://media.bettercms.ai" });

// From an asset id, a MediaAsset object, or an existing media URL:
urlFor(asset).width(800).format("webp").quality(80).url();
// → https://media.bettercms.ai/media/<id>?w=800&format=webp&quality=80

One-shot helper:

import { imageUrl } from "@betttercms/image-url";
imageUrl(asset).size(400, 300).fit("cover").dpr(2).url();

Builder methods

Method Param → query
.width(n) / .height(n) w / h (rounded)
.size(w, h) w + h
.format(f) format (webp|jpeg|png|avif; jpg→jpeg)
.quality(q) quality (clamped 1–100)
.fit(f) fit (cover|contain|fill|inside|outside)
.dpr(d) dpr (clamped 1–3; omitted when 1)
.url() / .toString() render

baseUrl defaults to https://media.bettercms.ai. Every method returns a new builder, so chains are safe to fork.