1
0
mirror of https://github.com/MultiMote/niimblue synced 2026-01-19 19:37:11 +03:00
Files
niimblue/vite.config.ts

54 lines
1.6 KiB
TypeScript

import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";
const getDate = (): string => {
const date = new Date();
const fmt = (n: number) => (n > 9 ? n : `0${n}`);
return `${date.getFullYear()}-${fmt(date.getMonth() + 1)}-${fmt(date.getDate())}`;
};
// https://vitejs.dev/config/
export default defineConfig({
plugins: [svelte()],
define: {
__APP_VERSION__: JSON.stringify(process.env.npm_package_version),
__APP_COMMIT__: JSON.stringify(process.env.COMMIT_HASH),
__BUILD_DATE__: JSON.stringify(getDate()),
},
optimizeDeps: {
include: ["@mmote/niimbluelib"], // Fix browser error when using `npm link @mmote/niimbluelib`
},
resolve: {
preserveSymlinks: true, // Fix build error when using `npm link @mmote/niimbluelib`
},
build: {
rollupOptions: {
output: {
manualChunks: (id: string) => {
if (id.endsWith(".css") || id.endsWith(".scss")) {
return "style";
}
if (id.includes("node_modules")) {
if (id.includes("fabric")) {
return "lib.2.fabric";
} else if (id.includes("@capacitor/filesystem") || id.includes("@capacitor/share")) {
return "lib.2.cap";
} else if (id.includes("zod")) {
return "lib.2.zod";
} else if (id.includes("@mmote/niimbluelib")) {
return "lib.2.niim";
}
return "lib.1.other";
}
return null;
},
chunkFileNames: () => {
return "assets/[name].[hash].js";
},
},
},
},
});