/** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { UserConfig, ConfigEnv } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path"; import { loadEnv } from "vite"; import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; // import monacoEditorPlugin from "vite-plugin-monaco-editor"; const OUTPUT_DIR = 'dist'; // https://vitejs.dev/config/ export default ({ command, mode }: ConfigEnv): UserConfig => { const root = process.cwd(); return { plugins: [ vue(), // monacoEditorPlugin(null), AutoImport({ imports: ["vue"], resolvers: [ ElementPlusResolver(), ], dts: "./src/types/auto-imports.d.ts", }), Components({ resolvers: [ElementPlusResolver()], dts: "./src/types/components.d.ts", }), ], resolve: { extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], alias: { "@": path.resolve(__dirname, "./src"), "vue-i18n": "vue-i18n/dist/vue-i18n.cjs.js", }, preserveSymlinks: true, }, server: { host: true, proxy: { "/graphql": { target: `${loadEnv(mode, process.cwd()).VITE_SW_PROXY_TARGET || "http://127.0.0.1:12800"}`, changeOrigin: true, }, }, }, build: { target: "es2015", outDir: OUTPUT_DIR, terserOptions: { compress: { keep_infinity: true, drop_console: true, }, }, chunkSizeWarningLimit: 2000, }, } }