HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode-jobs/node_modules/minifier/src/utils.js
module.exports =
	{ stripUTF8ByteOrder: stripUTF8ByteOrder
	, generateOutputName: generateOutputName
	}

var format = require('util').format
var hogan = require('hogan.js')
var digest = require('crypto').createHash
var path = require('path')

function generateOutputName(input, options) {
	if(!options) options = {}
	var extractedInput =
		{ md5: generate.bind(null, 'md5')
		, sha: generate.bind(null, 'sha256')
		}
	var dir = path.dirname(input)
	path.basename(input).replace(/^(.*)\.([^.]+)$/, function(match, file, ext) {
		extractedInput.ext = ext
		extractedInput.filename = file
		return ''
	})

	var output = hogan.compile(options.template || '{{filename}}.min.{{ext}}').render(extractedInput)

	output = path.join(dir, output)

	if(options.regex) return new RegExp(output.replace(/\.([^*])/g, '\\.$1'))
	return output

	function generate(algorithm) {
		if(options.regex) return '.*'
		if(options.glob) return '*'
		if(!options.content) throw new Error('Content is required for producing ' + algorithm)
		var digester = digest(algorithm)
		digester.update(options.content, 'utf8')
		return digester.digest('hex')
	}
}

function stripUTF8ByteOrder(data) {
	var content = data.toString()
	if(content[0] === '\uFEFF') {
		content = content.substring(1)
	}
	return content
}