UNPKG

@serwist/build

Version:

A module that integrates into your build process, helping you generate a manifest of local files that should be precached.

30 lines (23 loc) 831 B
/* Copyright 2018 Google LLC Use of this source code is governed by an MIT-style license that can be found in the LICENSE file or at https://opensource.org/licenses/MIT. */ import prettyBytes from "pretty-bytes"; import type { ManifestTransform } from "../types.js"; export function maximumSizeTransform(maximumFileSizeToCacheInBytes: number): ManifestTransform { return (originalManifest) => { const warnings: string[] = []; const manifest = originalManifest.filter((entry) => { if (entry.size <= maximumFileSizeToCacheInBytes) { return true; } warnings.push( `${entry.url} is ${prettyBytes(entry.size)}, and won't be precached. Configure maximumFileSizeToCacheInBytes to change this limit.`, ); return false; }); return { manifest, warnings }; }; }