-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvite.config.ts
30 lines (27 loc) · 919 Bytes
/
vite.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import svgr from "vite-plugin-svgr";
import Sitemap from "vite-plugin-sitemap";
import { visualizer } from "rollup-plugin-visualizer";
import blogIndex from "./public/blog/index.json";
const getRoute = (entry) => `/blog/${entry.id}`;
const getLastModified = (entry) => new Date(entry.modified);
const dynamicRoutes = blogIndex.map((entry) => getRoute(entry));
const lastmod = Object.fromEntries(
blogIndex.map((entry) => [getRoute(entry), getLastModified(entry)]),
);
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
svgr(),
Sitemap({
dynamicRoutes: dynamicRoutes,
hostname: "https://www.mtmilo.net/",
robots: [{ userAgent: "*", disallow: ["/interactive"] }],
lastmod: lastmod,
}),
visualizer(), // Must be last entry
],
assetsInclude: ["**/*.svg"],
});