Unfollow tool for Bluesky
at main 1.4 kB view raw
1import tailwindcss from "@tailwindcss/vite"; 2import { defineConfig } from "vite"; 3import solidPlugin from "vite-plugin-solid"; 4 5import metadata from "./public/client-metadata.json"; 6 7const SERVER_HOST = "127.0.0.1"; 8const SERVER_PORT = 13213; 9 10export default defineConfig({ 11 plugins: [ 12 tailwindcss(), 13 solidPlugin(), 14 15 // Injects OAuth-related variables 16 { 17 name: "oauth", 18 config(_conf, { command }) { 19 if (command === "build") { 20 process.env.VITE_OAUTH_CLIENT_ID = metadata.client_id; 21 process.env.VITE_OAUTH_REDIRECT_URL = metadata.redirect_uris[0]; 22 } else { 23 const redirectUri = ((): string => { 24 const url = new URL(metadata.redirect_uris[0]); 25 return `http://${SERVER_HOST}:${SERVER_PORT}${url.pathname}`; 26 })(); 27 28 const clientId = 29 `http://localhost` + 30 `?redirect_uri=${encodeURIComponent(redirectUri)}` + 31 `&scope=${encodeURIComponent(metadata.scope)}`; 32 33 process.env.VITE_DEV_SERVER_PORT = "" + SERVER_PORT; 34 process.env.VITE_OAUTH_CLIENT_ID = clientId; 35 process.env.VITE_OAUTH_REDIRECT_URL = 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});