@@ -13,6 +13,7 @@ import { PackageJson } from 'type-fest'
13
13
import { loadConfig } from './lib/context.js'
14
14
import { getDominantPalette } from './lib/dominant.js'
15
15
import { generateFingerprint } from './lib/fingerprint.js'
16
+ import { optimiseImage } from './lib/optimise.js'
16
17
import { matchThumbnail , writeThumbnail } from './lib/thumbnail.js'
17
18
import type { ImageRecord , ImageThumbnails } from './types.js'
18
19
@@ -56,12 +57,12 @@ prog.command('add <src>')
56
57
let processed = 0
57
58
58
59
for await ( let source of sourceImages ) {
59
- let sourceImage : FileHandle
60
60
/**
61
61
* Check that source image exists.
62
62
*/
63
+ spinner . text = 'Checking image...'
64
+ let sourceImage : FileHandle
63
65
try {
64
- spinner . text = 'Checking image...'
65
66
sourceImage = await open ( source , 'r' )
66
67
await sourceImage . close ( )
67
68
} catch ( error : unknown ) {
@@ -89,10 +90,19 @@ prog.command('add <src>')
89
90
await mkdir ( `${ dir } /${ imageName } ` )
90
91
}
91
92
93
+ spinner . text = 'Optimising original image...'
94
+ let formats = { }
92
95
try {
93
- spinner . text = 'Optimising original image...'
94
- await sharpImage . withMetadata ( ) . toFile ( filename )
95
- spinner . succeed ( 'Optimised a copy of original image' )
96
+ formats = await oraPromise (
97
+ optimiseImage ( sharpImage , {
98
+ dir,
99
+ imageName,
100
+ fingerprint,
101
+ ext,
102
+ useFilenameDirectory,
103
+ } ) ,
104
+ { successText : 'Optimised a copy of original image' }
105
+ )
96
106
} catch ( error : unknown ) {
97
107
spinner . fail ( String ( error ) )
98
108
continue
@@ -153,6 +163,7 @@ prog.command('add <src>')
153
163
let entry : ImageRecord = {
154
164
path : filename ,
155
165
dimensions : { width, height } ,
166
+ formats,
156
167
colors : dominantPalette ,
157
168
thumbnails : entryThumbnails ,
158
169
}
0 commit comments