UNPKG

@serwist/webpack-plugin

Version:

A plugin for your webpack build process, helping you generate a manifest of local files that should be precached.

29 lines (25 loc) 1.14 kB
import { basePartial, injectPartial as baseInjectPartial, optionalSwDestPartial } from "@serwist/build/schema"; import { z } from "zod"; export const webpackPartial = z .object({ chunks: z.array(z.string()).optional(), exclude: z .array(z.union([z.string(), z.instanceof(RegExp), z.function(z.tuple([z.any()]), z.boolean())])) .default([/\.map$/, /^manifest.*\.js$/]), excludeChunks: z.array(z.string()).optional(), include: z.array(z.union([z.string(), z.instanceof(RegExp), z.function(z.tuple([z.any()]), z.boolean())])).optional(), }) .strict("Do not pass invalid properties to WebpackPartial!"); export const injectPartial = z .object({ compileSrc: z.boolean().default(true), swDest: z.string().optional(), webpackCompilationPlugins: z.array(z.any()).optional(), }) .strict("Do not pass invalid properties to WebpackInjectManifestPartial!"); export const injectManifestOptions = basePartial .merge(webpackPartial) .merge(baseInjectPartial) .merge(optionalSwDestPartial) .merge(injectPartial) .strict("Do not pass invalid properties to WebpackInjectManifestOptions!");