status-web/apps/web/vite.config.ts

40 lines
1.1 KiB
TypeScript

import { tamaguiPlugin } from '@tamagui/vite-plugin'
import react from '@vitejs/plugin-react-swc'
import path from 'path'
import { defineConfig, loadEnv } from 'vite'
import type { PluginOption } from 'vite'
const tamaguiConfig = {
components: ['@status-im/components'],
config: './tamagui.config.ts',
// useReactNativeWebLite: true,
}
// @see: https://vitejs.dev/config
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), '')
return {
resolve: {
// mainFields: ['module', 'jsnext:main', 'jsnext'],
alias: {
'@status-im/components/hooks': path.resolve(
'../../packages/components/hooks'
),
'@status-im/components': path.resolve('../../packages/components/src'),
},
},
define: {
// @see https://github.com/tamagui/tamagui/blob/a0d5fa0d05e6988a7cfa2a5e7823f295b82bae10/packages/tamagui/src/setup.ts#LL20C1-L20C28
global: 'globalThis',
'process.env.TAMAGUI_TARGET': JSON.stringify(env.TAMAGUI_TARGET),
},
plugins: [
react(),
tamaguiPlugin(tamaguiConfig) as PluginOption,
// tamaguiExtractPlugin(tamaguiConfig)
],
}
})