move on from custom image optim
This commit is contained in:
parent
59e015ddaa
commit
c0aaa3047c
1175
package-lock.json
generated
1175
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -47,7 +47,6 @@
|
|||||||
"rollup-plugin-svg": "^2.0.0",
|
"rollup-plugin-svg": "^2.0.0",
|
||||||
"rollup-plugin-terser": "^7.0.2",
|
"rollup-plugin-terser": "^7.0.2",
|
||||||
"sapper": "^0.28.10",
|
"sapper": "^0.28.10",
|
||||||
"sharp": "^0.26.1",
|
|
||||||
"svelte": "^3.30.1",
|
"svelte": "^3.30.1",
|
||||||
"svelte-check": "^1.1.17",
|
"svelte-check": "^1.1.17",
|
||||||
"svelte-preprocess": "^4.6.1",
|
"svelte-preprocess": "^4.6.1",
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
import path from 'path'
|
|
||||||
import sharp from 'sharp'
|
|
||||||
|
|
||||||
const outputOptions = {
|
|
||||||
jpeg: {
|
|
||||||
quality: 90,
|
|
||||||
mozjpeg: true,
|
|
||||||
},
|
|
||||||
png: {},
|
|
||||||
webp: {
|
|
||||||
quality: 90,
|
|
||||||
// lossless: true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Transform image into multiple optimized version for web browsing
|
|
||||||
* Create a optimized image of same filetype and extra `webp`
|
|
||||||
*/
|
|
||||||
export async function optimizeImage(imgPath: string) {
|
|
||||||
const imgPathProps = path.parse(imgPath)
|
|
||||||
const image = sharp(imgPath)
|
|
||||||
const metadata = await image.metadata()
|
|
||||||
|
|
||||||
const formats = [metadata.format, 'webp']
|
|
||||||
|
|
||||||
const results = await Promise.all(
|
|
||||||
formats.map((format) =>
|
|
||||||
image
|
|
||||||
.toFormat(format, outputOptions[format])
|
|
||||||
.resize({ width: 640, height: 640, fit: 'inside' })
|
|
||||||
.toFile(
|
|
||||||
`${path.join(imgPathProps.dir, 'optimized', imgPathProps.name)}.${
|
|
||||||
format === 'jpeg' ? 'jpg' : format
|
|
||||||
}`
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
console.log(results)
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Transform all uploaded images into optimized versions */
|
|
||||||
// TODO Optimize all uploaded images
|
|
||||||
// Think of a strategy which would be the best
|
|
||||||
// Upload 3MB images to git ?
|
|
||||||
// Have the script be run on the build? or be good person and upload optimized images by yourself?
|
|
||||||
// What about images smaller then 640? they should not be resized right?
|
|
@ -1,5 +0,0 @@
|
|||||||
import { optimizeImage } from './image-optimization'
|
|
||||||
|
|
||||||
const args = process.argv.slice(2)
|
|
||||||
|
|
||||||
args.forEach((file) => optimizeImage(file))
|
|
Loading…
Reference in New Issue
Block a user