handy-img
TypeScript icon, indicating that this package has built-in type declarations

0.9.1 • Public • Published

handy-img

handy img tool and API

Build Status Coverage Status npm version npm downloads npm license

compress Features

  • [x] target mozjpeg / webp are supported. @squoosh/cli supports more format.
  • [x] Node.js native addon, better performance than squoosh WASM version.
  • [x] batch process, support --files glob or dir mode --dir
  • [x] parallel compress. set your UV_THREADPOOL_SIZE=64 (see this) and handy-img will use this as concurrency.

Install

$ pnpm add -g handy-img

or invoke without install

# pnpm, recommend
pnpm dlx handy-img
# or yarn 2
yarn dlx handy-img

# or npx/pnpx
npx handy-img
pnpx handy-img

cli

just type himg or handy-img

$ himg
himg <命令>

命令:
  himg compress <file>  compress file                               [aliases: c]
  himg info <file>      show info for file                          [aliases: i]

选项:
  --version  显示版本号                                                   [布尔]
  --help     显示帮助信息                                                 [布尔]

缺少 non-option 参数:传入了 0 个, 至少需要 1 个

himg compress or himg c

$ himg c -h
Compress img

$ handy-img compress

━━━ Options ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  -f,--files #0                files as input
  --ignore-case                ignore case for -f,--files, default true
  --glob-cwd #0                cwd used in glob
  -t,--tokens,--show-tokens    show available tokens
  -o,--output #0               output patterns
  --codec #0                   Allowed codec: `mozjpeg` or `webp`
  --metadata                   keep metadata(only available with --codec webp)
  -q,--quality #0              quality
  -d,--dir #0                  compress whole dir, and output to dir_compressed
  --dir-suffix #0              suffix to append to original dir name when using -d,--dir mode
  -y,--yes                     exec commands, default false(only preview commands, aka dry run)

flags

flag desc default remark
-f,--files specify input, glob supported, see globby & fast-glob
--ignore-case ignore case when glob input true
--glob-cwd cwd of -f,--files provided pwd
-t,--tokens,--show-tokens show available tokens help you to decide the -o,--output flag, see below
-o,--output output pattern
--codec Allowed codec: mozjpeg or webp or mozjpeg-raw mozjpeg
--metadata keep metadata(not available with --codec mozjpeg-raw) true keep exif data
-q,--quality quality 80 encode quality, 0-100
-d,--dir compress whole dir, and output to dir_compressed
--dir-suffix suffix to append to original dir name when using -d,--dir mode _compressed
-O,--other,--other-files how to handle other files in dir mode move or copy none img files to newly created dir
-y,--yes exec commands, default false(only preview commands, aka dry run) false

Usage

-d, use dir mode

himg c -d ./your-dir-here -y

glob all imgs in the dir you provided, and output to a new directory, which name is original name + dir suffix and img will keep same structure.

# example
himg c -d dir -q 85 -y

image

about -y,--yes

without this option, you will see what input will be processed and what file will be generated. but the compress action will not really execute. aka dry run.

--------------------------------------------------------------------------------
  current previewing commands. After comfirmed, append -y or --yes flag to execute
--------------------------------------------------------------------------------

it's like a safety guard for a gun

-f,--files, single or multiple files

use `-f,--files` if you have to

1.decide input

image

2.then use -t,--tokens,--show-tokens show available tokens

image

3.write your output pattern & preview

example pattern himg c -f './*.jpg' -t -o ':dir/:name_compressed.:ext' image

example pattern himg c -f './*.jpg' -t -o ':dir/compressed/:name.:ext' image

4.use -y,--yes to execute

Which codec & quality should I choose ?

See

Changelog

CHANGELOG.md

License

the MIT License http://magicdawn.mit-license.org

Package Sidebar

Install

npm i handy-img

Weekly Downloads

5

Version

0.9.1

License

MIT

Unpacked Size

46.2 kB

Total Files

9

Last publish

Collaborators

  • magicdawn