npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

xtinypng-cli

v0.1.2

Published

Handy command-line tool for shrinking PNG/JPG images using the TinyPNG API

Downloads

15

Readme

xTinyPNG CLI

Handy command-line (CLI) tool for shrinking PNG/JPEG images using the TinyPNG API

Installation

To get the last published version, install via npmjs

npm install -g xtinypng-cli

To install the latest code, in the event that the current repository is ahead of the published version

npm install -g mathieu-aubin/xtinypng-cli

Requirements

To use xTinyPNG CLI, a key for the TinyPNG API is required.Getting one is simple and quick, from TinyPNG's website.

Usage

xTinyPNG CLI supports the following three (3) different methods of passing your API key

Environment variables

The most convenient method, according to me, is to use environment variables. - XTINYPNG_KEY - TINYPNG_KEY - TINIFY_KEY (for compatibility with Tinify)

RC-type File

Save your API key into a file, within your $HOME directory, named either - .xtinypng - .tinypng

CLI Argument

Useful for scripting/automation purposes, provide the API key as a CLI argument with -k/--key flags

xtinypng -k E99a18c4f8cb3EL5f2l08u368_922e03 demo.png

Examples #### (limited see help)

To shrink all PNG/JPEG images within the current directory, you may run one of the following commands -- they do exactly the same.

xtinypng
xtinypng .

To shrink all PNG/JPEG images within the current directory, recursively, use the -r/--recursive flags

xtinypng . -r
xtinypng -r /somefolder/images

To shrink all PNG/JPEG images within a specific directory (assets/img in this case), you may run the following

xtinypng assets/img

You may also provide multiple directories.

xtinypng ./assets/img1/* assets/img2

To shrink a single PNG/JPEG image (assets/img/demo.png in this example), you may run the following command.

xtinypng assets/img/demo.png

You may also provide multiple single files

xtinypng assets/img/demo1.png ./assets/img/demo2.png

To resize images, use the --width and/or --height flags. Short versions of those also exist as -H and -W

xtinypng assets/img/demo.png --width 123
xtinypng assets/img/demo.png --height 123
xtinypng -W 123 --height 123 filename.jpg

A resize method is also available when resizing with --method or -m. Depending on the method WhichYouWish to perform, a different combination of either height/width will be required.

xtinypng --height 640 -m scale filename.png
xtinypng assets/img/demo.png -W 200 -H 140 -m fit

More about resizing and the available methods using --help or by visiting TinyPNG's website

Other informations

Please check the help --help for more informations and examples

Changelog

  • 0.1.0
    • Multiple comments

    • Uses env variables for keys (3)

    • Refactor help and add tinypng.com links

    • Sends DNT:1 headers with the requests

    • Sends A custom User-Agent header with the requests (-A/--user-agent)

    • Displays compression-count after each compressions

    • Allows to take full control over resizing with the API resizing methods options

    • Shows alot more informations on the command-line

    • Better error management (i guess)

    • Prevent empty files from being processed

    • Allows for dotfiles to match as source files (-M, --matchdots)

    • Replaces /usr/bin/tinypng if already installed

  • 0.0.9
    • Implement resizing methods
    • More code tinkering
  • 0.0.8
    • Some visual changes and code tinkering
  • 0.0.7 Fork of original source code