@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
JavaScript
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 };