48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { defineConfig, loadEnv } from 'vite'
|
||
import path from 'path'
|
||
import tailwindcss from '@tailwindcss/vite'
|
||
import react from '@vitejs/plugin-react'
|
||
import basicSsl from '@vitejs/plugin-basic-ssl'
|
||
|
||
export default defineConfig(({ mode }) => {
|
||
const env = loadEnv(mode, process.cwd(), '')
|
||
const apiPrefix = env.VITE_API_PREFIX || '/api'
|
||
const uploadsPrefix = env.VITE_UPLOADS_PREFIX || '/uploads'
|
||
|
||
return {
|
||
base: '/app_03/',
|
||
plugins: [
|
||
// The React and Tailwind plugins are both required for Make, even if
|
||
// Tailwind is not being actively used – do not remove them
|
||
react(),
|
||
tailwindcss(),
|
||
// basicSsl(), // disabled for cloudflare tunnel compatibility
|
||
],
|
||
resolve: {
|
||
alias: {
|
||
// Alias @ to the src directory
|
||
'@': path.resolve(__dirname, './src'),
|
||
},
|
||
},
|
||
|
||
// File types to support raw imports. Never add .css, .tsx, or .ts files to this.
|
||
assetsInclude: ['**/*.svg', '**/*.csv'],
|
||
|
||
server: {
|
||
host: '0.0.0.0',
|
||
allowedHosts: ['.trycloudflare.com', '.loca.lt'],
|
||
proxy: {
|
||
[apiPrefix]: {
|
||
target: 'http://localhost:8030',
|
||
changeOrigin: true,
|
||
rewrite: (path) => path.replace(/^\/app_03\/api/, '/api'),
|
||
},
|
||
[uploadsPrefix]: {
|
||
target: 'http://localhost:8030',
|
||
changeOrigin: true,
|
||
},
|
||
},
|
||
},
|
||
}
|
||
})
|