ai/at
ai/at
1
0
at/repos_extra/pdsls/vite.config.ts
2025-03-18 08:27:55 +09:00

50 lines
1.4 KiB
TypeScript

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(),
// 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",
},
});