diff --git a/src/utils/scripts/optimizeLogo.js b/src/utils/scripts/optimizeLogo.js new file mode 100644 index 0000000..ed48aac --- /dev/null +++ b/src/utils/scripts/optimizeLogo.js @@ -0,0 +1,30 @@ +import sharp from 'sharp' +import * as fs from 'fs' +import * as path from 'path' +import { consola } from 'consola' +;(async () => { + try { + const dirPath = path.resolve('../../../public') + const webpImage = 'src/assets/images/optimized/logo.webp' + const avifImage = 'src/assets/images/optimized/logo.avif' + const inputSrc = 'src/assets/images/logo.png' + + const avifBuffer = await sharp(inputSrc).avif({ quality: 60 }).resize(props.size).toBuffer() + await sharp(avifBuffer).toFile(avifImage) + + const webpBuffer = await sharp(inputSrc).webp({ quality: 75 }).resize(props.size).toBuffer() + await sharp(webpBuffer).toFile(webpImage) + + if (fs.existsSync(dirPath)) { + const inputSrc = '../../assets/images/logo.png' + const favicon = dirPath + '/favicon.png' + const faviconBuffer = await sharp(inputSrc).png({ quality: 90 }).resize(50).toBuffer() + await sharp(faviconBuffer).toFile(favicon) + consola.success('Favicon generated successfully') + } else { + consola.error('Directory does not exist:', dirPath) + } + } catch (error) { + consola.error('Error generating favicon:', error) + } +})()