/** * 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-compression2'; export function configCompressPlugin(compress: 'gzip' | 'brotli' | 'none', deleteOriginalAssets = false): PluginOption | PluginOption[] { const compressList = compress.split(','); const plugins: PluginOption[] = []; if (compressList.includes('gzip')) { plugins.push( compressPlugin({ filename: '[path][base].gz', deleteOriginalAssets, }) ); } if (compressList.includes('brotli')) { plugins.push( compressPlugin({ filename: '[path][base].br', algorithm: 'brotliCompress', deleteOriginalAssets, }) ); } return plugins; }