Initial commit

This commit is contained in:
Developer
2025-04-21 16:03:20 +02:00
commit 2832896157
22874 changed files with 3092801 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
'use strict';
const path = require('path');
const BinWrapper = require('bin-wrapper');
const pkg = require('../package.json');
const url = `https://raw.github.com/imagemin/pngquant-bin/v${pkg.version}/vendor/`;
module.exports = new BinWrapper()
.src(`${url}macos/pngquant`, 'darwin')
.src(`${url}linux/x86/pngquant`, 'linux', 'x86')
.src(`${url}linux/x64/pngquant`, 'linux', 'x64')
.src(`${url}freebsd/x64/pngquant`, 'freebsd', 'x64')
.src(`${url}win/pngquant.exe`, 'win32')
.dest(path.resolve(__dirname, '../vendor'))
.use(process.platform === 'win32' ? 'pngquant.exe' : 'pngquant');

View File

@@ -0,0 +1,32 @@
'use strict';
const binBuild = require('bin-build');
const logalot = require('logalot');
const bin = require('.');
bin.run(['--version'], err => {
if (err) {
logalot.warn(err.message);
logalot.warn('pngquant pre-build test failed');
logalot.info('compiling from source');
const libpng = process.platform === 'darwin' ? 'libpng' : 'libpng-dev';
binBuild.url('http://pngquant.org/pngquant-2.10.1-src.tar.gz', [
'rm ./INSTALL',
`./configure --prefix="${bin.dest()}"`,
`make install BINPREFIX="${bin.dest()}"`
])
.then(() => {
logalot.success('pngquant built successfully');
})
.catch(err => {
err.message = `pngquant failed to build, make sure that ${libpng} is installed`;
logalot.error(err.stack);
// eslint-disable-next-line unicorn/no-process-exit
process.exit(1);
});
}
logalot.success('pngquant pre-build test passed successfully');
});