import { defineConfig, splitVendorChunkPlugin } from "vite"; import vue from "@vitejs/plugin-vue"; import liveReload from "vite-plugin-live-reload"; import path from "path"; import fs from "fs"; import basicSsl from "@vitejs/plugin-basic-ssl"; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue({ template: { transformAssetUrls: { base: "plugins/gamutable", includeAbsolute: false, }, }, }), liveReload([__dirname + "/**/*.php", __dirname + "/**/*.html"]), splitVendorChunkPlugin(), // basicSsl(), ], // config root: "src", base: process.env.APP_ENV === "development" ? "/" : "/dist/", build: { outDir: "../dist", emptyOutDir: true, manifest: true, rollupOptions: { input: path.resolve(__dirname, "src/gamutable.js"), }, }, server: { strictPort: true, port: 5134, https: { key: fs.readFileSync("certs/vite.key.pem"), cert: fs.readFileSync("certs/vite.crt.pem"), }, cors: true, }, // required for in-browser template compilation // https://vuejs.org/guide/scaling-up/tooling.html#note-on-in-browser-template-compilation resolve: { alias: { vue: "vue/dist/vue.esm-bundler.js", }, }, });