/** * Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated * https://github.com/anncwb/vite-plugin-compression */ import type { PluginOption } from 'vite'; import compressPlugin from 'vite-plugin-compression'; export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none', deleteOriginFile = false): PluginOption | PluginOption[] { const compressList = compress.split(','); const plugins: PluginOption[] = []; if (compressList.includes('gzip')) { plugins.push( compressPlugin({ verbose: true, disable: false, threshold: 10240, algorithm: 'gzip', ext: '.gz', deleteOriginFile, }) ); } if (compressList.includes('brotli')) { plugins.push( compressPlugin({ ext: '.br', algorithm: 'brotliCompress', deleteOriginFile, }) ); } return plugins; }