The recipes.blue monorepo recipes.blue
recipes appview atproto
at main 1.6 kB view raw
1import { defineConfig } from 'vite' 2import react from '@vitejs/plugin-react' 3import { tanstackRouter } from '@tanstack/router-plugin/vite' 4import path from 'path' 5import metadata from "./public/oauth-client-metadata.json" with { type: 'json' }; 6 7const SERVER_HOST = "127.0.0.1"; 8const SERVER_PORT = 5173; 9 10// https://vite.dev/config/ 11export default defineConfig({ 12 plugins: [ 13 tanstackRouter(), 14 react({ babel: { plugins: ['babel-plugin-react-compiler'] } }), 15 { 16 name: '_config', 17 config(_conf, { command }) { 18 if (command === 'build') { 19 process.env.VITE_OAUTH_CLIENT_ID = metadata.client_id; 20 process.env.VITE_OAUTH_REDIRECT_URI = metadata.redirect_uris[0]; 21 } else { 22 const redirectUri = (() => { 23 const url = new URL(metadata.redirect_uris[0]); 24 return `http://${SERVER_HOST}:${SERVER_PORT}${url.pathname}`; 25 })(); 26 27 const clientId = 28 `http://localhost` + 29 `?redirect_uri=${encodeURIComponent(redirectUri)}` + 30 `&scope=${encodeURIComponent(metadata.scope)}`; 31 32 process.env.VITE_API_SERVICE = 'http://localhost:3000'; 33 process.env.VITE_DEV_SERVER_PORT = '' + SERVER_PORT; 34 process.env.VITE_OAUTH_CLIENT_ID = clientId; 35 process.env.VITE_OAUTH_REDIRECT_URI = redirectUri; 36 } 37 38 process.env.VITE_CLIENT_URI = metadata.client_uri; 39 process.env.VITE_OAUTH_SCOPE = metadata.scope; 40 }, 41 }, 42 ], 43 server: { 44 host: SERVER_HOST, 45 port: SERVER_PORT, 46 }, 47 build: { 48 target: "esnext", 49 }, 50 resolve: { 51 alias: { 52 '@': path.resolve(__dirname, './src'), 53 } 54 } 55})