GithubHelp home page GithubHelp logo

gaohaoyang / compress-pics Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 2.25 MB

A tool to compress pictures

Home Page: https://www.npmjs.com/package/compress-pics

License: MIT License

TypeScript 86.92% JavaScript 13.08%
compress-images tinypng

compress-pics's Introduction

Compress Pics Logo

GitHub License npm GitHub issues GitHub pull requests

A command-line tool that uses the tinyPNG API to compress images. It simplifies the process of batch compressing images with tinyPNG in any directory of your project.

Of course, you need to apply a tinyPNG API Key first, it's free and convenient.

Install

npm i compress-pics -D

or

yarn add compress-pics -D

or

pnpm i compress-pics -D

Usage

In your package.json file, add the following script:

{
  "scripts": {
    "compress-pics": "compress-pics"
  }
}

Then run in your project directory:

npm run compress-pics

or

yarn compress-pics

Then, you will see the following prompt:

   ____                                                ____   _
  / ___| ___   _ __ ___   _ __   _ __  ___  ___  ___  |  _ \ (_)  ___  ___
 | |    / _ \ | '_ ` _ \ | '_ \ | '__|/ _ \/ __|/ __| | |_) || | / __|/ __|
 | |___| (_) || | | | | || |_) || |  |  __/\__ \\__ \ |  __/ | || (__ \__ \
  \____|\___/ |_| |_| |_|| .__/ |_|   \___||___/|___/ |_|    |_| \___||___/
                         |_|

? Select your images directory: (Use arrow keys or type to search)
❯ ./
  assets
  bin
  dist
  src

After selecting the image directory, you will see the following prompt:

? Select your images directory: assets
Your images directory is: assets
┌────────────────────────────┬───────┬──────────┬─────────────┐
│                            │ Count │ Size(MB) │ Size(Bytes) │
├────────────────────────────┼───────┼──────────┼─────────────┤
│ canBeCompressedPicFiles    │ 2     │ 0.19     │ 202319      │
├────────────────────────────┼───────┼──────────┼─────────────┤
│ cannotBeCompressedPicFiles │ 0     │ 0.00     │ 0           │
└────────────────────────────┴───────┴──────────┴─────────────┘
Notice: Gif and svg files cannot be compressed.
Total size(MB): 0.19MB
Total size(Bytes): 202319
? Please input a valid tinypng api key to continue ( You can find it at https://tinify.com/dashboard/api ):

After entering the tinyPNG API Key, the compression will start automatically.

? Please input a valid tinypng api key to continue ( You can find it at https://tinify.com/dashboard/api ):  YOUR_API_KEY_HERE
processing:  1 / 2 assets/continue.png
processing:  2 / 2 assets/logo.png
  _____  _         _       _                _
 |  ___|(_) _ __  (_) ___ | |__    ___   __| |
 | |_   | || '_ \ | |/ __|| '_ \  / _ \ / _` |
 |  _|  | || | | || |\__ \| | | ||  __/| (_| |
 |_|    |_||_| |_||_||___/|_| |_| \___| \__,_|

┌────────────────────────────┬───────┬──────────┬─────────────┐
│                            │ Count │ Size(MB) │ Size(Bytes) │
├────────────────────────────┼───────┼──────────┼─────────────┤
│ canBeCompressedPicFiles    │ 2     │ 0.06     │ 59916       │
├────────────────────────────┼───────┼──────────┼─────────────┤
│ cannotBeCompressedPicFiles │ 0     │ 0.00     │ 0           │
└────────────────────────────┴───────┴──────────┴─────────────┘
Notice: Gif and svg files cannot be compressed.
Total size(MB): 0.06MB
Total size(Bytes): 59916
================================================================================
The total size has decreased by 70.39% after compression.

Additional information

What if it show an error while compressing?

Most of the time, it's because you have exceeded the monthly limit of tinyPNG. You can use another API Key to continue. Like below:

processing:  72 / 123 src/images/payWays/master.png
processing:  73 / 123 src/images/payWays/p30_promo_banner_en.png
The error message is: Your monthly limit has been exceeded. (HTTP 429/TooManyRequests)
? Please input a valid tinypng api key to continue ( You can find at https://tinify.com/dashboard/api ):  YOUR_ANOTHER_API_KEY_HERE
processing:  73 / 123 src/images/payWays/p30_promo_banner_en.png
processing:  74 / 123 src/images/payWays/p30_promo_banner_zh.png

Contribution

If you have any questions or suggestions, please feel free to open an issue or pull request.

Enjoy it! 😄

Have a nice day!

compress-pics's People

Contributors

gaohaoyang avatar

Stargazers

Zhazha_JiaYiZhen avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.