You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
959 B
36 lines
959 B
/** |
|
* 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; |
|
}
|
|
|