81 lines
1.7 KiB
TypeScript
81 lines
1.7 KiB
TypeScript
import { defineConfig } from "vite"
|
|
import vue from "@vitejs/plugin-vue"
|
|
import Icons from "unplugin-icons/vite"
|
|
import IconResolver from "unplugin-icons/resolver"
|
|
import Components from "unplugin-vue-components/vite"
|
|
import path from "path"
|
|
|
|
// @ts-expect-error process is a nodejs global
|
|
const host = process.env.TAURI_DEV_HOST
|
|
|
|
export default defineConfig(async () => ({
|
|
plugins: [
|
|
vue(),
|
|
Components({
|
|
dts: "./src/components.d.ts",
|
|
resolvers: [
|
|
IconResolver({
|
|
prefix: "icon",
|
|
}),
|
|
(compName: string) => {
|
|
if (compName.startsWith("Hopp"))
|
|
return { name: compName, from: "@hoppscotch/ui" }
|
|
return undefined
|
|
},
|
|
],
|
|
types: [
|
|
{
|
|
from: "vue-tippy",
|
|
names: ["Tippy"],
|
|
},
|
|
],
|
|
include: [/\.vue$/, /\.vue\?vue/],
|
|
dirs: ["src/components"],
|
|
}),
|
|
Icons({
|
|
compiler: "vue3",
|
|
}),
|
|
],
|
|
|
|
resolve: {
|
|
alias: {
|
|
"~": path.resolve(__dirname, "src"),
|
|
"~/": path.resolve(__dirname, "src/"),
|
|
"@hoppscotch/common": "@hoppscotch/common/src",
|
|
},
|
|
dedupe: ["vue"],
|
|
},
|
|
|
|
optimizeDeps: {
|
|
include: ['@hoppscotch/kernel']
|
|
},
|
|
|
|
build: {
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks: {
|
|
kernel: ['@hoppscotch/kernel'],
|
|
ui: ['@hoppscotch/ui'],
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
// Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
|
|
clearScreen: false,
|
|
server: {
|
|
port: 1420,
|
|
strictPort: true,
|
|
host: "127.0.0.1",
|
|
hmr: host
|
|
? {
|
|
protocol: "ws",
|
|
host,
|
|
port: 1421,
|
|
}
|
|
: undefined,
|
|
watch: {
|
|
ignored: ["**/src-tauri/**"],
|
|
},
|
|
},
|
|
}))
|