1.0.1 • Published 6 months ago

image-optimizer-plugin v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

Image Processor - Node.js

Automate image optimization by converting image files to WebP format with ease. This module provides real-time directory watching, metadata logging, and customizable settings, all powered by Node.js. Perfect for developers looking to streamline image processing for web projects.


Features

  • Convert to WebP: Automatically optimize images with customizable quality settings (default: 80).
  • Real-Time Monitoring: Watch directories for new images and process them instantly.
  • Metadata Display: Log image details like format, dimensions, and file size.
  • Comprehensive Logging: Track actions and errors in both the console and a log file.
  • Environment Variables: Fully customizable settings using a .env file.

Installation

  1. Install via NPM
    Run the following command:

    npm install image-processor
  2. Set Up Environment Variables
    Create a .env file in your project’s root directory to customize settings, such as image quality.
    Example .env file:

    IMAGE_QUALITY=90

Usage

1. Manual Execution

Run the image processor directly from the terminal:

node imageProcessor.js

This will:

  • Convert existing images in the public/images directory to WebP format.
  • Monitor the public/images directory for new images and process them automatically.

2. Importing as a Module

You can also import and use it in your own Node.js application:

const imageProcessor = require('image-processor');

// Start the processing and monitoring
imageProcessor.start();

Functions

  • start()

    • Converts existing images in the directory.
    • Starts monitoring the directory for new image files.
  • convertAndReplace(filePath)

    • Converts a single image to WebP format and replaces the original file.
  • processExistingFiles()

    • Processes all existing files in the directory.
  • startWatcher()

    • Watches the directory for new image files and processes them automatically.

Directory Structure

The default directory structure is:

/
├── public/
│   └── images/            # Directory containing the images to process
├── imageProcessor.js      # Main script
├── imageProcessor.log     # Log file
├── .env                   # Environment variables file
└── package.json           # Node.js project file

Logging

The module uses Winston for logging:

  • Logs are displayed in the console.
  • Logs are saved to a file named imageProcessor.log.

Troubleshooting

  • Ensure the public/images directory exists and contains images.
  • If you encounter permission issues, check the directory's file permissions.
  • If images aren’t being processed, try deleting node_modules and reinstalling:
    rm -rf node_modules
    npm install

License

This project is licensed under the MIT License.


Contributions

Contributions are welcome! Feel free to open issues or submit pull requests to improve the module.


Contact

For questions or suggestions, contact the development team at developers@cybersolin.com.


1.0.1

6 months ago

1.0.0

7 months ago