celeborn/web/vite.config.ts
tiny-dust e78f63217a [CELEBORN-1302] Introduce overview module for dashboard frontend
### What changes were proposed in this pull request?

Introduce overview module for dashboard frontend:

![image](https://github.com/apache/incubator-celeborn/assets/49502875/61e6f75b-d1a9-4614-a06c-3c701a0f5f8d)

### Why are the changes needed?

Dashboard frontend should support overview page to display the overview details of Celeborn.

### Does this PR introduce _any_ user-facing change?

no.

### How was this patch tested?

Local test.

Closes #2361 from tiny-dust/CELEBORN-1302.

Authored-by: tiny-dust <idioticzhou@foxmail.com>
Signed-off-by: SteNicholas <programgeek@163.com>
2024-03-08 10:02:47 +08:00

72 lines
2.0 KiB
TypeScript

/*
* 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 { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
// TODO: Get the backend service address and then change this uri.
server: {
proxy: {
'/api': {
target: '',
changeOrigin: true,
rewrite(path) {
return path.replace(/^\/api/, '')
}
}
}
},
plugins: [
vue(),
vueJsx(),
AutoImport({
dts: './src/auto-imports.d.ts',
imports: [
'vue',
'vue-router',
'pinia',
{
'naive-ui': ['useDialog', 'useMessage', 'useNotification', 'useLoadingBar']
}
]
}),
Components({
dts: './src/components.d.ts',
resolvers: [NaiveUiResolver()]
})
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@import "@/assets/styles/base.scss";`
}
}
}
})