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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

36 lines
870 B

2 years ago
/**
* 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'
2 years ago
export function configCompressPlugin(
compress: 'gzip' | 'brotli' | 'none' = 'none',
deleteOriginFile = false,
2 years ago
): PluginOption | PluginOption[] {
2 years ago
const compressList = compress.split(',')
const plugins: PluginOption[] = []
if (compressList.includes('gzip')) {
plugins.push(
compressPlugin({
ext: '.gz',
deleteOriginFile,
}),
2 years ago
)
}
if (compressList.includes('brotli')) {
plugins.push(
compressPlugin({
ext: '.br',
algorithm: 'brotliCompress',
deleteOriginFile,
}),
2 years ago
)
}
return plugins
}