UNPKG

@serwist/build

Version:

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

59 lines (53 loc) 2.22 kB
import { z } from 'zod'; const manifestEntry = z.object({ integrity: z.string().optional(), revision: z.string().nullable().optional(), url: z.string() }).strict("Do not pass invalid properties to ManifestEntry!"); const manifestTransformResult = z.object({ manifest: z.array(manifestEntry.merge(z.object({ size: z.number() }))), warnings: z.array(z.string()).optional() }).strict("Do not pass invalid properties to ManifestTransformResult!"); const manifestTransform = z.function(z.tuple([ z.array(manifestEntry.merge(z.object({ size: z.number() }))), z.unknown().optional() ]), z.union([ z.promise(manifestTransformResult), manifestTransformResult ])); const basePartial = z.object({ additionalPrecacheEntries: z.array(z.union([ z.string(), manifestEntry ])).optional(), disablePrecacheManifest: z.boolean().default(false), dontCacheBustURLsMatching: z.instanceof(RegExp).optional(), manifestTransforms: z.array(manifestTransform).optional(), maximumFileSizeToCacheInBytes: z.number().default(2097152), modifyURLPrefix: z.record(z.string(), z.string()).optional() }).strict("Do not pass invalid properties to BasePartial!"); const globPartial = z.object({ globFollow: z.boolean().default(true), globIgnores: z.array(z.string()).default([ "**/node_modules/**/*" ]), globPatterns: z.array(z.string()).default([ "**/*.{js,css,html}" ]), globStrict: z.boolean().default(true), templatedURLs: z.record(z.string(), z.union([ z.string(), z.array(z.string()) ])).optional() }).strict("Do not pass invalid properties to GlobPartial!"); const optionalGlobDirectoryPartial = z.object({ globDirectory: z.string().optional() }).strict("Do not pass invalid properties to OptionalGlobDirectoryPartial!"); const requiredGlobDirectoryPartial = z.object({ globDirectory: z.string() }).strict("Do not pass invalid properties to RequiredGlobDirectoryPartial!"); export { manifestTransform as a, basePartial as b, manifestTransformResult as c, globPartial as g, manifestEntry as m, optionalGlobDirectoryPartial as o, requiredGlobDirectoryPartial as r };