@genox/imagor-url-builder
v1.0.6
Published
A library for building URLs to use with imagor
Maintainers
Readme
Imagor URL Builder
A TypeScript library for building URLs to use with the Imagor image processing server.
Installation
# Using npm
npm install @genox/imagor-url-builder
# Using yarn
yarn add @genox/imagor-url-builderBasic Usage
import { imagorClient } from '@genox/imagor-url-builder';
// Initialize the client
const client = await imagorClient({
imagorServer: 'https://your-imagor-server.com',
imagorServerKey: 'your-optional-key' // Optional if your server doesn't use keys
});
// Build an image processing URL
const imageUrl = await client
.dimensions(300, 200) // Resize to 300x200
.format('webp') // Convert to WebP format
.quality(80) // Set quality to 80%
.stripMetadata() // Remove metadata
.src('https://example.com/original-image.jpg')
.getUrl();
// Use the URL with your <img> tag or fetch request
console.log(imageUrl);
// Output: https://your-imagor-server.com/hash_if_signed/300x200/filters:format(webp):quality(80):strip_exif():strip_icc()/https://example.com/original-image.jpgFeatures
- Type-safe API with TypeScript
- Fluent interface for method chaining
- Support for all Imagor operations:
- Resizing
- Cropping
- Format conversion
- Quality adjustment
- Metadata handling
- And more...
- Support for metadata retrieval
- Works with both signed and unsigned URLs
API Overview
Initialization
const client = await imagorClient({
imagorServer: 'https://your-imagor-server.com', // Required
imagorServerKey: 'your-key', // Optional
cacheTtl: 0 // Optional cache time in seconds
});Common Operations
// Resize
client.dimensions(width, height)
// Format conversion
client.format('webp') // Supports: webp, jpeg, png, etc.
// Quality
client.quality(80) // 0-100
// Metadata
client.stripMetadata() // Removes EXIF and ICC data
// Get metadata instead of image
client.meta().src('https://example.com/image.jpg').getUrl()
// Returns a URL that provides JSON metadata when requestedTesting
This project includes integration tests that verify the functionality with an actual Imagor server. To run the tests:
yarn testThe tests use Docker to spin up an Imagor server instance for testing.
License
MIT
