UNPKG

zopflipng-bin

Version:

`zopflipng` wrapper that makes it seamlessly available as a local dependency

33 lines (27 loc) 868 B
import process from 'node:process'; import {fileURLToPath} from 'node:url'; import binBuild from 'bin-build'; import bin from './index.js'; bin.run(['--help']).then(() => { console.log('zopflipng pre-build test passed successfully'); }).catch(async error => { console.warn(error.message); console.warn('zopflipng pre-build test failed'); console.info('compiling from source'); let makeBin = 'make'; let makeArgs = ''; if (process.platform === 'freebsd') { makeBin = 'gmake'; makeArgs = 'CC=cc CXX=c++'; } try { const source = fileURLToPath(new URL('../vendor/source/zopfli-1.0.3.tar.gz', import.meta.url)); await binBuild.file(source, [ `mkdir -p ${bin.dest()}`, `${makeBin} zopflipng ${makeArgs} && mv ./zopflipng ${bin.path()}`, ]); console.log('zopflipng built successfully'); } catch (error) { console.error(error.stack); } });