Package Exports
- imagetools-core
- imagetools-core/dist/index.cjs
- imagetools-core/dist/index.mjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (imagetools-core) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
imagetools-core
A toolbox of import directives that can transform your image at compile-time. All of the image transformations are powered by sharp.
This package holds all transforms and core utility functions needed to integrate imagetools with any builtool,
or to create a standalone transformation server!
Table of Contents
Install
npm install imagetools-core
yarn add imagetools-core
Usage
import { loadImage, applyTransforms, builtins } from 'imagetools-core'
// loadImageFromDisk is a utility function that creates a sharp instances of the specified image
const image = loadImage('./example.jpg')
// our image configuration
const config = {
width: '400',
height: '300',
format: 'webp'
}
// This function takes our config and an array of transformFactories and creates an array of transforms
// the resulting array of transforms can be cached
const { transforms, warnings } = generateTransforms(config, builtins)
// apply the transforms and transform the given image
const { image: transformedImage, metadata } = await applyTransforms(transforms, image)
transformedImage // a sharp instance of the transformed image
metadata // the image metadata produced by the transforms
import { parseURL, resolveConfigs } from 'imagetools-core'
const src = new URL('file:///example.jpg?w=300;500;700&format=webp')
// parses the url query parameters into an array of entries
const parameters = parseURL(src)
// this function handles the ArgumentList logic
// and produces an array of config objects that can be passed to generateTransforms
const configs = resolveConfigs(parameters)
Contributing
Feel free to dive in! Open an issue or submit PRs! All information to get you started hacking on imagetools is in CONTRIBUTING.md!