mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-04 10:19:35 +02:00
space optimizations for node_modules
and client stats removal
- replace sharp with lighter jimp alternative - remove stats in builds fixes #2807
This commit is contained in:
parent
b84d4c809f
commit
e6dfa58689
7 changed files with 497 additions and 197 deletions
|
@ -1,7 +1,7 @@
|
|||
import 'multer'
|
||||
import * as sharp from 'sharp'
|
||||
import { readFile, remove } from 'fs-extra'
|
||||
import { logger } from './logger'
|
||||
const Jimp = require('jimp')
|
||||
|
||||
async function processImage (
|
||||
path: string,
|
||||
|
@ -10,20 +10,21 @@ async function processImage (
|
|||
keepOriginal = false
|
||||
) {
|
||||
if (path === destination) {
|
||||
throw new Error('Sharp needs an input path different that the output path.')
|
||||
throw new Error('Jimp needs an input path different that the output path.')
|
||||
}
|
||||
|
||||
logger.debug('Processing image %s to %s.', path, destination)
|
||||
|
||||
// Avoid sharp cache
|
||||
const buf = await readFile(path)
|
||||
const sharpInstance = sharp(buf)
|
||||
const jimpInstance = await Jimp.read(buf)
|
||||
|
||||
await remove(destination)
|
||||
|
||||
await sharpInstance
|
||||
await jimpInstance
|
||||
.resize(newSize.width, newSize.height)
|
||||
.toFile(destination)
|
||||
.quality(80)
|
||||
.writeAsync(destination)
|
||||
|
||||
if (keepOriginal !== true) await remove(path)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue