Skip to content

Image resizing, multi-format generation, and compression tool.

License

Notifications You must be signed in to change notification settings

ArcaneDigital/ReCompress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReCompress

Image resizing, multi-format generation, and compression tool. It will process gif, svg, png, jpeg|jpg, webp image types with the following default configuration...

  • gif, svg, webp : by default compress and output to the output path specificed
  • png, jpeg|jpg : by defaults creates 7 different sized images, compresses them, and also creates a webp version of the resized image

It will generate a .json manifest file for each image that multiple formats are created for which includes the sizes generated as well. This file will output alongside the images in the output folder.

API

recompress({ input, output [, sizes] [, compressOnly] })

input

Type: string|string[]

Files to be optimized. See supported globby patterns.

NOTE: File exclusions can be handled here, see above patterns.

output

Type: string

Output base path. Folder structure will be preserved when the images are output.

sizes

Type: int[]

If any sizes are specified it will override the default set, but will include 30 and 1920.

Defaults: [30, 1920, 480, 640, 768, 1024, 1366, 1600 ]

compressOnly

Type: string|string[]

Any file paths passed in here will trigger the system to only compress the images and generate a 30px wide thumbnail. You do not need to exclude the paths from the input param, these paths are merged with the input paths.

Files to be optimized. See supported globby patterns.

Installation

npm install recompress --save

Examples

Async/Await

const recompress = require('recompress');

(async () => {
    await recompress({
        input: ['src/images', '!src/images/exclude'],
        output: 'dist/images'
    });
    console.log('done');
})();

Promises

const recompress = require('recompress');

recompress({
   input: ['src/images', '!src/images/exclude'],
   output: 'dist/images'
})
    .then(() => {
        console.log('done');
    });

Maintainers

Copyright (c) 2018, Arcane & Jamieson Roberts.

About

Image resizing, multi-format generation, and compression tool.

Resources

License

Stars

Watchers

Forks

Packages

No packages published