UNPKG

gatsby-plugin-zopfli

Version:

Gatsby plugin for preparing zopfli-compressed versions of assets

25 lines (18 loc) 645 B
'use strict' const path = require('path') const util = require('util') const fs = require('fs') const mkdirp = require('mkdirp') const zopfli = require('@gfx/zopfli') const readFileAsync = util.promisify(fs.readFile) const writeFileAsync = util.promisify(fs.writeFile) async function zopfliCompressFile (from, to, options) { const toDir = path.dirname(to) await mkdirp(toDir) const content = await readFileAsync(from) const compressed = await zopfli.gzipAsync(content, options) await writeFileAsync(to, compressed) } module.exports = async function ({ from, to, options = {} }) { return zopfliCompressFile(from, to, options) }