1
0
Fork 0
moritzruth.de/vite.config.ts
Moritz Ruth 6cf984df83
All checks were successful
Deploy / build (push) Successful in 52s
Add a plugin to pre-compress built assets
2025-02-26 19:49:02 +01:00

32 lines
834 B
TypeScript

import { defineConfig } from "vite"
import vuePlugin from "@vitejs/plugin-vue"
import windicssPlugin from "vite-plugin-windicss"
import pagesPlugin from "vite-plugin-pages"
import iconsPlugin from "unplugin-icons/vite"
import gzipPlugin from "rollup-plugin-gzip"
import { promisify } from "node:util"
import { brotliCompress as brotliCompressCallback } from "node:zlib"
const brotliCompress = promisify(brotliCompressCallback)
export default defineConfig({
plugins: [
vuePlugin(),
pagesPlugin(),
windicssPlugin(),
iconsPlugin(),
gzipPlugin({
minSize: 1501
}),
gzipPlugin({
minSize: 1501,
fileName: ".br",
customCompression: content => brotliCompress(Buffer.from(content))
})
],
// @ts-expect-error
ssgOptions: {
formatting: "minify",
dirStyle: "nested"
}
})