mirror of
https://github.com/uqbar-dao/nectar.git
synced 2024-12-24 09:06:10 +03:00
105 lines
3.9 KiB
TypeScript
105 lines
3.9 KiB
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import UnoCSS from 'unocss/vite'
|
|
import { transformerDirectives } from 'unocss'
|
|
import presetIcons from '@unocss/preset-icons'
|
|
import presetUno from '@unocss/preset-uno'
|
|
import presetWind from '@unocss/preset-wind'
|
|
|
|
/*
|
|
If you are developing a UI outside of a Kinode project,
|
|
comment out the following 2 lines:
|
|
*/
|
|
// import manifest from '../pkg/manifest.json'
|
|
// import metadata from '../pkg/metadata.json'
|
|
|
|
/*
|
|
IMPORTANT:
|
|
This must match the process name from pkg/manifest.json + pkg/metadata.json
|
|
The format is "/" + "process_name:package_name:publisher_node"
|
|
*/
|
|
const BASE_URL = `/main:app_store:sys`;
|
|
|
|
// This is the proxy URL, it must match the node you are developing against
|
|
const PROXY_URL = (process.env.VITE_NODE_URL || 'http://127.0.0.1:8080').replace('localhost', '127.0.0.1');
|
|
|
|
console.log('process.env.VITE_NODE_URL', process.env.VITE_NODE_URL, PROXY_URL);
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
UnoCSS({
|
|
presets: [presetUno(), presetWind(), presetIcons()],
|
|
shortcuts: [
|
|
{
|
|
'flex-center': 'flex justify-center items-center',
|
|
'flex-col-center': 'flex flex-col justify-center items-center',
|
|
},
|
|
],
|
|
rules: [
|
|
],
|
|
theme: {
|
|
colors: {
|
|
'white': '#FFF5D9',
|
|
'black': '#22211F',
|
|
'orange': '#F35422',
|
|
'transparent': 'transparent',
|
|
'gray': '#7E7E7E',
|
|
},
|
|
font: {
|
|
'sans': ['Barlow', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'],
|
|
'serif': ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times', 'serif'],
|
|
'mono': ['ui-monospace', 'SFMono-Regular', 'Menlo', 'Monaco', 'Consolas', '"Liberation Mono"', '"Courier New"', 'monospace'],
|
|
'heading': ['OpenSans', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'],
|
|
'display': ['Futura', 'ui-sans-serif', 'system-ui', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', 'Roboto', '"Helvetica Neue"', 'Arial', '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'],
|
|
},
|
|
},
|
|
transformers: [
|
|
transformerDirectives()
|
|
],
|
|
}),
|
|
react(),
|
|
],
|
|
base: BASE_URL,
|
|
build: {
|
|
rollupOptions: {
|
|
external: ['/our.js']
|
|
}
|
|
},
|
|
server: {
|
|
open: true,
|
|
proxy: {
|
|
'/our': {
|
|
target: PROXY_URL,
|
|
changeOrigin: true,
|
|
},
|
|
[`${BASE_URL}/our.js`]: {
|
|
target: PROXY_URL,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(BASE_URL, ''),
|
|
},
|
|
// This route will match all other HTTP requests to the backend
|
|
[`^${BASE_URL}/(?!(@vite/client|src/.*|node_modules/.*|@react-refresh|__uno.css|$))`]: {
|
|
target: PROXY_URL,
|
|
changeOrigin: true,
|
|
},
|
|
// '/example': {
|
|
// target: PROXY_URL,
|
|
// changeOrigin: true,
|
|
// rewrite: (path) => path.replace(BASE_URL, ''),
|
|
// // This is only for debugging purposes
|
|
// configure: (proxy, _options) => {
|
|
// proxy.on('error', (err, _req, _res) => {
|
|
// console.log('proxy error', err);
|
|
// });
|
|
// proxy.on('proxyReq', (proxyReq, req, _res) => {
|
|
// console.log('Sending Request to the Target:', req.method, req.url);
|
|
// });
|
|
// proxy.on('proxyRes', (proxyRes, req, _res) => {
|
|
// console.log('Received Response from the Target:', proxyRes.statusCode, req.url);
|
|
// });
|
|
// },
|
|
// },
|
|
}
|
|
}
|
|
});
|