@grundstein/prepare-static-files
this is a cli tool that prepares directories of static files for hosting by optimizing them
using sharp, zopfli and ffmpeg.
it also generates alternative file formats for browser compatibility.
converts:
- image files automatically get duplicated as webp.
- non audio, non image and non video files get zopfli gzipped, if their size is more than 10% smaller or the savings are bigger than 512kb.
in our tests on older phones, those levels where the sweetspot compromise between decompression and download time.
- convert flac to mp4, mp3 and ogg. add missing file formats if one of those (mp4, mp3, ogg) exists, but no other versions.
install
npm i --save-dev @grundstein/prepare-static-files
now, node_modules/.bin/prepare-static-files exists.
usage
in package.json:
{
"scripts": {
"optimize": "prepare-static-files"
}
}
cli script:
if installed globally (npm i -g):
prepare-static-files --help
if installed locally, in your repository:
node_modules.bin/prepare-static-files --help
api
prepare-static-files also exposes a javascript api
import prepareStaticFiles from '@grundstein/prepare-static-files'
const buildFunction = async () => {
await prepareStaticFiles({ dirs: 'public' })
}
buildFunction()
Changelog
v0.0.1
first release