50 lines
1.4 KiB
TypeScript
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",
|
|
},
|
|
});
|