From d962c0e9cde14db19bc3385b21273ba20282640e Mon Sep 17 00:00:00 2001 From: syui Date: Tue, 18 Mar 2025 08:23:38 +0900 Subject: [PATCH] fix --- repos_extra/pdsls/vite.config.ts | 49 ++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 9 deletions(-) diff --git a/repos_extra/pdsls/vite.config.ts b/repos_extra/pdsls/vite.config.ts index a37a465..27a096c 100644 --- a/repos_extra/pdsls/vite.config.ts +++ b/repos_extra/pdsls/vite.config.ts @@ -1,18 +1,49 @@ import { defineConfig } from "vite"; import solidPlugin from "vite-plugin-solid"; import UnoCSS from "unocss/vite"; +import metadata from "./public/client-metadata.json"; const SERVER_HOST = "0.0.0.0"; const SERVER_PORT = 13213; export default defineConfig({ - plugins: [UnoCSS(), solidPlugin()], - server: { - host: SERVER_HOST, - port: SERVER_PORT, - allowedHosts: ['pds.syu.is'], - }, - build: { - target: "esnext", - }, + plugins: [ + UnoCSS(), + solidPlugin(), + // Injects OAuth-related variables + { + name: "oauth", + config(_conf, { command }) { + if (command === "build") { + process.env.VITE_OAUTH_CLIENT_ID = metadata.client_id; + process.env.VITE_OAUTH_REDIRECT_URL = metadata.redirect_uris[0]; + } else { + const redirectUri = ((): string => { + const url = new URL(metadata.redirect_uris[0]); + return `http://${SERVER_HOST}:${SERVER_PORT}${url.pathname}`; + })(); + + const clientId = + `http://localhost` + + `?redirect_uri=${encodeURIComponent(redirectUri)}` + + `&scope=${encodeURIComponent(metadata.scope)}`; + + process.env.VITE_DEV_SERVER_PORT = "" + SERVER_PORT; + process.env.VITE_OAUTH_CLIENT_ID = clientId; + process.env.VITE_OAUTH_REDIRECT_URL = redirectUri; + } + + process.env.VITE_CLIENT_URI = metadata.client_uri; + process.env.VITE_OAUTH_SCOPE = metadata.scope; + }, + }, + ], + server: { + host: SERVER_HOST, + port: SERVER_PORT, + allowedHosts: ['pds.syu.is'], + }, + build: { + target: "esnext", + }, });