Comparing version 4.2.0 to 5.0.0
# Changelog | ||
## 5.0.0 (July 14, 2024) | ||
* Added `hbitdepth`, `miniswhite` options to `heif` command. | ||
* Added `lineArt` option to `trim` command. | ||
* Updated `sharp` dependency (requiring dependency to bump Node to 18.17+). | ||
* Updated dependencies. | ||
## 4.2.0 (November 25, 2023) | ||
@@ -4,0 +10,0 @@ * Exit process when there are no input files ([#83](https://github.com/vseventer/sharp-cli/issues/83)). |
@@ -69,3 +69,3 @@ /*! | ||
defaultDescription: 'lanczos3', | ||
desc: 'The kernel to use for image reduction' | ||
desc: 'The kernel to use for image reduction and the inferred interpolator to use for upsampling' | ||
}, | ||
@@ -72,0 +72,0 @@ position: { |
@@ -46,2 +46,7 @@ /*! | ||
type: 'string' | ||
}, | ||
lineArt: { | ||
default: false, | ||
desc: 'Does the input more closely resemble line art rather than being photographic', | ||
type: 'boolean' | ||
} | ||
@@ -68,3 +73,3 @@ } | ||
return queue.push(['trim', (sharp) => { | ||
return sharp.trim({ background: args.background, threshold: args.threshold }) | ||
return sharp.trim({ background: args.background, lineArt: args.lineArt, threshold: args.threshold }) | ||
}]) | ||
@@ -71,0 +76,0 @@ } |
@@ -235,3 +235,3 @@ /*! | ||
defaultDescription: 8, | ||
desc: 'Squash 8-bit images down to 1, 2, or 4 bit', | ||
desc: 'Reduce bitdepth to 1, 2, or 4 bit', | ||
group: optimize | ||
@@ -296,2 +296,10 @@ }, | ||
// @see https://sharp.pixelplumbing.com/api-output#heif | ||
hbitdepth: { | ||
choices: [8, 10, 12], | ||
defaultDescription: 8, | ||
desc: 'Set bitdepth to 8, 10, or 12 bit', | ||
group: optimize | ||
}, | ||
// @see https://sharp.pixelplumbing.com/api-output#heif | ||
hcompression: { | ||
@@ -334,2 +342,9 @@ choices: constants.HEIF_COMPRESSION, | ||
// @see https://sharp.pixelplumbing.com/api-output#tiff | ||
miniswhite: { | ||
desc: 'Write 1-bit images as miniswhite', | ||
group: optimize, | ||
type: 'boolean' | ||
}, | ||
// @see https://sharp.pixelplumbing.com/api-output#webp | ||
@@ -609,3 +624,3 @@ minSize: { | ||
if (argv.format) { | ||
queue.unshift(['format', (sharp) => sharp.toFormat(argv.format)]) | ||
queue.unshift(['format', (sharp) => sharp.toFormat(argv.format, { compression: argv.hcompression })]) | ||
} | ||
@@ -622,5 +637,7 @@ | ||
// Ensure libheif is installed before applying generic options. | ||
(heif.input && heif.input.file && (argv.effort || argv.lossless || argv.quality))) { | ||
(heif.input && heif.input.file && | ||
(argv.effort || argv.hbitdepth || argv.lossless || argv.quality))) { | ||
queue.unshift(['heif', (sharp) => { | ||
return sharp.heif({ | ||
bitdepth: argv.hbitdepth, | ||
compression: argv.hcompression, | ||
@@ -717,4 +734,4 @@ effort: argv.effort, | ||
argv.predictor !== optimizationOptions.predictor.default || | ||
argv.pyramid || argv.quality || argv.resolutionUnit || argv.tileBackground || | ||
argv.tileHeight || argv.tileWidth || argv.xres || argv.yres) { | ||
argv.miniswhite || argv.pyramid || argv.quality || argv.resolutionUnit || | ||
argv.tileBackground || argv.tileHeight || argv.tileWidth || argv.xres || argv.yres) { | ||
queue.unshift(['tiff', (sharp) => { | ||
@@ -726,2 +743,3 @@ return sharp.tiff({ | ||
force: false, | ||
miniswhite: argv.miniswhite, | ||
predictor: argv.predictor, | ||
@@ -728,0 +746,0 @@ pyramid: argv.pyramid, |
@@ -33,3 +33,3 @@ /*! | ||
const bubbleError = require('bubble-stream-error') | ||
const glob = require('glob') | ||
const { globSync } = require('glob') | ||
const isDirectory = require('is-directory') | ||
@@ -59,3 +59,3 @@ const sharp = require('sharp') | ||
const files = input.reduce((list, input) => { | ||
return list.concat(glob.sync(input, { absolute: true })) | ||
return list.concat(globSync(input, { absolute: true })) | ||
}, []) | ||
@@ -62,0 +62,0 @@ |
{ | ||
"name": "sharp-cli", | ||
"version": "4.2.0", | ||
"version": "5.0.0", | ||
"description": "CLI for sharp.", | ||
@@ -30,21 +30,21 @@ "keywords": [ | ||
"bubble-stream-error": "1.0.x", | ||
"glob": "8.0.x", | ||
"glob": "11.0.x", | ||
"is-directory": "0.3.x", | ||
"lodash.pick": "^4.4.0", | ||
"sharp": "0.32.6", | ||
"lodash.pick": "3.1.x", | ||
"sharp": "0.33.4", | ||
"yargs": "^17.6.2" | ||
}, | ||
"devDependencies": { | ||
"fs-extra": "11.1.x", | ||
"mocha": "10.1.x", | ||
"fs-extra": "11.2.x", | ||
"mocha": "10.6.x", | ||
"must": "0.13.x", | ||
"nyc": "15.1.x", | ||
"sinon": "15.0.x", | ||
"nyc": "17.0.x", | ||
"sinon": "18.0.x", | ||
"snazzy": "9.0.x", | ||
"standard": "17.0.x", | ||
"standard": "17.1.x", | ||
"tempy": "1.0.x" | ||
}, | ||
"engines": { | ||
"node": ">=14.15" | ||
"node": ">=18.17" | ||
} | ||
} |
@@ -109,3 +109,3 @@ # sharp-cli | ||
--alphaQuality Quality of alpha layer [number] [default: 80] | ||
--bitdepth Squash 8-bit images down to 1, 2, or 4 bit | ||
--bitdepth Reduce bitdepth to 1, 2, or 4 bit | ||
[choices: 1, 2, 4, 8] [default: 8] | ||
@@ -125,2 +125,4 @@ --chromaSubsampling Set to "4:4:4" to prevent chroma subsampling when | ||
[number] [default: 7 (GIF, PNG) / 4] | ||
--hbitdepth Set bitdepth to 8, 10, or 12 bit | ||
[choices: 8, 10, 12] [default: 8] | ||
--hcompression Compression format | ||
@@ -133,2 +135,3 @@ [choices: "hevc", "av1"] [default: "av1"] | ||
--lossless Use lossless compression mode [boolean] | ||
--miniswhite Write 1-bit images as miniswhite [boolean] | ||
--minSize Prevent use of animation key frames to minimize file | ||
@@ -135,0 +138,0 @@ size [boolean] |
154828
3325
229
+ Added@emnapi/runtime@1.3.1(transitive)
+ Added@img/sharp-darwin-arm64@0.33.4(transitive)
+ Added@img/sharp-darwin-x64@0.33.4(transitive)
+ Added@img/sharp-libvips-darwin-arm64@1.0.2(transitive)
+ Added@img/sharp-libvips-darwin-x64@1.0.2(transitive)
+ Added@img/sharp-libvips-linux-arm@1.0.2(transitive)
+ Added@img/sharp-libvips-linux-arm64@1.0.2(transitive)
+ Added@img/sharp-libvips-linux-s390x@1.0.2(transitive)
+ Added@img/sharp-libvips-linux-x64@1.0.2(transitive)
+ Added@img/sharp-libvips-linuxmusl-arm64@1.0.2(transitive)
+ Added@img/sharp-libvips-linuxmusl-x64@1.0.2(transitive)
+ Added@img/sharp-linux-arm@0.33.4(transitive)
+ Added@img/sharp-linux-arm64@0.33.4(transitive)
+ Added@img/sharp-linux-s390x@0.33.4(transitive)
+ Added@img/sharp-linux-x64@0.33.4(transitive)
+ Added@img/sharp-linuxmusl-arm64@0.33.4(transitive)
+ Added@img/sharp-linuxmusl-x64@0.33.4(transitive)
+ Added@img/sharp-wasm32@0.33.4(transitive)
+ Added@img/sharp-win32-ia32@0.33.4(transitive)
+ Added@img/sharp-win32-x64@0.33.4(transitive)
+ Added@isaacs/cliui@8.0.2(transitive)
+ Addedansi-regex@6.1.0(transitive)
+ Addedansi-styles@6.2.1(transitive)
+ Addedcross-spawn@7.0.6(transitive)
+ Addedeastasianwidth@0.2.0(transitive)
+ Addedemoji-regex@9.2.2(transitive)
+ Addedforeground-child@3.3.1(transitive)
+ Addedglob@11.0.1(transitive)
+ Addedisexe@2.0.0(transitive)
+ Addedjackspeak@4.1.0(transitive)
+ Addedlodash._baseflatten@3.1.4(transitive)
+ Addedlodash._basefor@3.0.3(transitive)
+ Addedlodash._bindcallback@3.0.1(transitive)
+ Addedlodash._pickbyarray@3.0.2(transitive)
+ Addedlodash._pickbycallback@3.0.0(transitive)
+ Addedlodash.isarguments@3.1.0(transitive)
+ Addedlodash.isarray@3.0.4(transitive)
+ Addedlodash.keysin@3.0.8(transitive)
+ Addedlodash.pick@3.1.0(transitive)
+ Addedlodash.restparam@3.6.1(transitive)
+ Addedlru-cache@11.0.2(transitive)
+ Addedminimatch@10.0.1(transitive)
+ Addedminipass@7.1.2(transitive)
+ Addedpackage-json-from-dist@1.0.1(transitive)
+ Addedpath-key@3.1.1(transitive)
+ Addedpath-scurry@2.0.0(transitive)
+ Addedsharp@0.33.4(transitive)
+ Addedshebang-command@2.0.0(transitive)
+ Addedshebang-regex@3.0.0(transitive)
+ Addedsignal-exit@4.1.0(transitive)
+ Addedstring-width@5.1.2(transitive)
+ Addedstrip-ansi@7.1.0(transitive)
+ Addedtslib@2.8.1(transitive)
+ Addedwhich@2.0.2(transitive)
+ Addedwrap-ansi@8.1.0(transitive)
- Removedb4a@1.6.7(transitive)
- Removedbare-events@2.5.4(transitive)
- Removedbare-fs@4.0.1(transitive)
- Removedbare-os@3.5.1(transitive)
- Removedbare-path@3.0.0(transitive)
- Removedbare-stream@2.6.5(transitive)
- Removedbase64-js@1.5.1(transitive)
- Removedbl@4.1.0(transitive)
- Removedbuffer@5.7.1(transitive)
- Removedchownr@1.1.4(transitive)
- Removeddecompress-response@6.0.0(transitive)
- Removeddeep-extend@0.6.0(transitive)
- Removedend-of-stream@1.4.4(transitive)
- Removedexpand-template@2.0.3(transitive)
- Removedfast-fifo@1.3.2(transitive)
- Removedfs-constants@1.0.0(transitive)
- Removedfs.realpath@1.0.0(transitive)
- Removedgithub-from-package@0.0.0(transitive)
- Removedglob@8.0.3(transitive)
- Removedieee754@1.2.1(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedini@1.3.8(transitive)
- Removedlodash.pick@4.4.0(transitive)
- Removedmimic-response@3.1.0(transitive)
- Removedminimatch@5.1.6(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp-classic@0.5.3(transitive)
- Removednapi-build-utils@2.0.0(transitive)
- Removednode-abi@3.74.0(transitive)
- Removednode-addon-api@6.1.0(transitive)
- Removedprebuild-install@7.1.3(transitive)
- Removedpump@3.0.2(transitive)
- Removedrc@1.2.8(transitive)
- Removedreadable-stream@3.6.2(transitive)
- Removedsafe-buffer@5.2.1(transitive)
- Removedsharp@0.32.6(transitive)
- Removedsimple-concat@1.0.1(transitive)
- Removedsimple-get@4.0.1(transitive)
- Removedstreamx@2.22.0(transitive)
- Removedstring_decoder@1.3.0(transitive)
- Removedstrip-json-comments@2.0.1(transitive)
- Removedtar-fs@2.1.23.0.8(transitive)
- Removedtar-stream@2.2.03.1.7(transitive)
- Removedtext-decoder@1.2.3(transitive)
- Removedtunnel-agent@0.6.0(transitive)
- Removedutil-deprecate@1.0.2(transitive)
Updatedglob@11.0.x
Updatedlodash.pick@3.1.x
Updatedsharp@0.33.4