/* eslint-disable no-unused-vars, */ // TODO: This file was created by bulk-decaffeinate. // Fix any style issues and re-enable lint. /* * decaffeinate suggestions: * DS102: Remove unnecessary code created because of implicit returns * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const { exec } = require('child_process') const logger = require('logger-sharelatex') const Settings = require('settings-sharelatex') module.exports = { compressPng(localPath, callback) { const startTime = new Date() logger.log({ localPath }, 'optimising png path') const args = `optipng ${localPath}` const opts = { timeout: 30 * 1000, killSignal: 'SIGKILL' } if (!Settings.enableConversions) { const error = new Error('Image conversions are disabled') return callback(error) } return exec(args, opts, function(err, stdout, stderr) { if (err != null && err.signal === 'SIGKILL') { logger.warn({ err, stderr, localPath }, 'optimiser timeout reached') err = null } else if (err != null) { logger.err( { err, stderr, localPath }, 'something went wrong converting compressPng' ) } else { logger.log({ localPath }, 'finished compressPng file') } return callback(err) }) } }