atproto explorer pdsls.dev
atproto tool
1import tailwindcss from "@tailwindcss/vite"; 2import { defineConfig } from "vite"; 3import solidPlugin from "vite-plugin-solid"; 4import metadata from "./public/oauth-client-metadata.json"; 5 6const SERVER_HOST = "127.0.0.1"; 7const SERVER_PORT = 13213; 8 9export default defineConfig({ 10 plugins: [ 11 tailwindcss(), 12 solidPlugin(), 13 // Injects OAuth-related variables 14 { 15 name: "oauth", 16 config(_conf, { command }) { 17 if (command === "build") { 18 process.env.VITE_OAUTH_CLIENT_ID = metadata.client_id; 19 process.env.VITE_OAUTH_REDIRECT_URL = metadata.redirect_uris[0]; 20 } else { 21 const redirectUri = ((): string => { 22 const url = new URL(metadata.redirect_uris[0]); 23 return `http://${SERVER_HOST}:${SERVER_PORT}${url.pathname}`; 24 })(); 25 26 const clientId = 27 `http://localhost` + 28 `?redirect_uri=${encodeURIComponent(redirectUri)}` + 29 `&scope=${encodeURIComponent(metadata.scope)}`; 30 31 process.env.VITE_DEV_SERVER_PORT = "" + SERVER_PORT; 32 process.env.VITE_OAUTH_CLIENT_ID = clientId; 33 process.env.VITE_OAUTH_REDIRECT_URL = redirectUri; 34 } 35 36 process.env.VITE_CLIENT_URI = metadata.client_uri; 37 process.env.VITE_OAUTH_SCOPE = metadata.scope; 38 }, 39 }, 40 ], 41 server: { 42 host: SERVER_HOST, 43 port: SERVER_PORT, 44 }, 45 build: { 46 target: "esnext", 47 }, 48});