0.0.37 • Published 7 months ago

images-folder-optimizer v0.0.37

Weekly downloads
-
License
ISC
Repository
github
Last release
7 months ago

images-folder-optimizer

A high performance package that uses sharp.js to recursively optimize, transform and convert images from a folder to smaller, web-friendly JPEG, PNG, WebP, GIF and AVIF images. It is also possible to add watermark to the output images controlling opacity and positioning.

GITHUB VERSION NPM VERSION NPM Downloads NPM License Twitter

FEATURES

  • PROCCESS ALL IMAGE FILES IN A FOLDER AT ONCE
  • SIGNIFICANT REDUCTION IN IMAGE SIZE
  • SCAN FOR IMAGE FILES RECURSIVELY ON ALL SUBFOLDERS
  • CONVERSION BETWEEN IMAGE FORMATS, CHOOSING BOTH INPUT AND OUTPUT FORMATS
  • IMAGE RESIZING
  • IMAGE TRANSFORMATIONS (ONLY BLUR FOR NOW)
  • POSSIBILITY TO OVERLAP A WATERMARK IMAGE CONTROLLING ITS OPACITY
  • FULL TYPESCRIPT SUPPORT
  • FULL CONTROL FOR SHARP.JS PARAMETERS

HOW TO USE IN YOUR PROJECT

  • INSTALL THE PACKAGE:

    npm install -D images-folder-optimizer
  • CREATE A JAVASCRIPT (OR TYPESCRIPT) FILE, AS example.js:

    import { functionOptimizeImages } from 'images-folder-optimizer';
    
    functionOptimizeImages({
        stringOriginFolder: 'static/images/originals',
        stringDestinationFolder: 'static/images/optimized',
        arrayOriginFormats: ['jpg', 'png'],
        arrayDestinationFormats: ['webp', 'avif'],
    }).then((results) => {
        console.table(results);
    });
  • RUN THE FILE:

    node example.js
  • CHECK THE NEW IMAGES IN static/images/optimized.

BUILT-IN EXAMPLES

YOU CAN FIND BUILT-IN EXAMPLES IN src/examples/ [LINK]. LET'S TRY ONE OF THEM:

npx tsc
node dist/examples/exampleFormatConversion.js

PARAMETERS AND TYPING

  • PARAMETERS FOR functionOptimizeImages:
PARAMETERDESCRIPTIONTYPEREQUIREDDEFAULT
stringOriginFolderTHE FOLDER WITH THE ORIGINAL IMAGESstringYES-
stringDestinationFolderTHE FOLDER WHERE THE OPTIMIZED IMAGES ARE GOING TO BE SAVEDstringYES-
arrayOriginFormatsFORMATS OF THE ORIGINAL IMAGESARRAY WITH ELEMENTS BEEING 'webp' OR 'avif' OR 'png' OR 'jpg' OR 'tiff' OR 'gif'YES-
arrayDestinationFormatsFORMATS FOR THE NEW IMAGESARRAY WITH ELEMENTS BEEING 'webp' OR 'avif' OR 'png' OR 'jpg' OR 'tiff' OR 'gif' OR 'svg'YES-
stringFileNameSuffixSUFIX FOR THE NEW FILE NAMES. EVERY ORIGINAL FILE NAME WITH THIS SUFIX IS GOING TO BE IGNOREDNO-
objectResizeOptionsSHARP.JS OPTIONS FOR IMAGE RESIZINGCHECK IT HERENO-
objectPngOptionsSHARP.JS OPTIONS FOR PNG TRANSFORMATIONSCHECK IT HERENO-
objectJpegOptionsSHARP.JS OPTIONS FOR JPG TRANSFORMATIONSCHECK IT HERENO-
objectWebpOptionsSHARP.JS OPTIONS FOR WEBP TRANSFORMATIONSCHECK IT HERENO-
objectAvifOptionsSHARP.JS OPTIONS FOR AVIF TRANSFORMATIONSCHECK IT HERENO-
objectAvifOptionsSHARP.JS OPTIONS FOR AVIF TRANSFORMATIONSCHECK IT HERENO-
objectTiffOptionsSHARP.JS OPTIONS FOR TIFF TRANSFORMATIONSCHECK IT HERENO-
objectGifOptionsSHARP.JS OPTIONS FOR GIF TRANSFORMATIONSCHECK IT HERENO-
objectBlurOptionsSHARP.JS OPTIONS FOR BLUR TRANSFORMATIONSCHECK IT HERENO-
objectWatermarkOptionsOBJECT WITH OPTIONS FOR WATERMARK INSERTIONtypeWatermarkOptions DESCRIBED BELLOWNO-
  • typeWatermarkOptions TYPE:
KEYDESCRIPTIONTYPEREQUIREDDEFAULT
stringWatermarkFilePATH OF THE IMAGE TO USE AS WATERMARKstringYES-
numberOpacityWATERMARK OPACITYnumber BETWEEN 0 AND 1YES-
objectResizeOptionsSHARP.JS OPTIONS FOR RESIZING THE WATERMARK IMAGECHECK IT HERENO-
stringGravityWATERMARK POSITION'centre' OR 'northwest' OR 'northeast' OR 'southeast' OR 'southwest'NOcentre
0.0.37

7 months ago

0.0.36

7 months ago

0.0.35

7 months ago

0.0.34

7 months ago

0.0.33

7 months ago

0.0.32

7 months ago

0.0.31

7 months ago

0.0.30

7 months ago

0.0.29

7 months ago

0.0.28

7 months ago

0.0.27

7 months ago

0.0.26

7 months ago

0.0.25

7 months ago

0.0.24

7 months ago

0.0.23

7 months ago

0.0.22

7 months ago

0.0.21

7 months ago

0.0.20

7 months ago

0.0.19

7 months ago

0.0.18

7 months ago

0.0.17

7 months ago

0.0.16

7 months ago

0.0.15

8 months ago

0.0.14

8 months ago

0.0.13

8 months ago

0.0.12

8 months ago

0.0.11

8 months ago

0.0.10

8 months ago

0.0.9

8 months ago

0.0.8

8 months ago

0.0.7

8 months ago

0.0.6

8 months ago

0.0.5

8 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago