JSPM

  • Created
  • Published
  • Downloads 86170
  • Score
    100M100P100Q159438F
  • License MIT

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

npm (tag) standard-readme compliant codecov

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!

Read the docs to learn more!

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!

License

MIT © Jonas Kruckenberg.