mf-examples
Version:
examples entry page
55 lines (51 loc) • 1.28 kB
text/typescript
import { defineConfig } from "vite";
import { compression } from "vite-plugin-compression2";
import { extractFromPackage } from "npm-pkgbuild";
export default defineConfig(async ({ command, mode }) => {
const res = extractFromPackage(
{
dir: new URL("./", import.meta.url).pathname,
mode
},
process.env
);
const first = await res.next();
const pkg = first.value;
const properties = pkg.properties;
const base = properties["http.path"];
const production = mode === "production";
process.env["VITE_NAME"] = properties.name;
process.env["VITE_DESCRIPTION"] = properties.description;
process.env["VITE_VERSION"] = properties.version;
return {
base,
root: "src",
server: { host: true },
plugins: [
compression({
algorithm: "brotliCompress",
exclude: [
/\.(map)$/,
/\.(br)$/,
/\.(gz)$/,
/\.(png)$/,
/\.(jpg)$/,
/\.(gif)$/,
/\.(webp)$/,
/\.(heic)$/,
/\.(avif)$/,
/\.(jxl)$/,
/\.(pdf)$/,
/\.(docx)$/
],
threshold: 500
})
],
build: {
outDir: "../build",
emptyOutDir: true,
minify: production,
sourcemap: true
}
};
});