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.
35 lines
865 B
35 lines
865 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' = 'none', |
|
deleteOriginFile = false |
|
): PluginOption | PluginOption[] { |
|
const compressList = compress.split(',') |
|
|
|
const plugins: PluginOption[] = [] |
|
|
|
if (compressList.includes('gzip')) { |
|
plugins.push( |
|
compressPlugin({ |
|
ext: '.gz', |
|
deleteOriginFile |
|
}) |
|
) |
|
} |
|
|
|
if (compressList.includes('brotli')) { |
|
plugins.push( |
|
compressPlugin({ |
|
ext: '.br', |
|
algorithm: 'brotliCompress', |
|
deleteOriginFile |
|
}) |
|
) |
|
} |
|
return plugins |
|
}
|
|
|