Something went wrong. Try again.
A Bsky-like frontend using the atprotocol natively.
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738import type { Plugin } from 'vite';import { readFileSync, writeFileSync } from 'fs';import { resolve } from 'path';
export function replaceDomain(): Plugin { let domain: string | undefined;
return { name: 'foxsky-replace-domain',
config(config) { domain = process.env.OAUTH_DOMAIN; if (domain) { config.define = config.define ?? {};
config.define['__OAUTH_DOMAIN__'] = JSON.stringify(domain); config.define['__DEEP_LINK_HOST__'] = JSON.stringify(domain); } },
closeBundle() { if (!domain) return;
const metadataPath = resolve(process.cwd(), 'dist', 'client-metadata.json'); try { let content = readFileSync(metadataPath, 'utf-8'); content = content.replace(/__DOMAIN__/g, domain); writeFileSync(metadataPath, content, 'utf-8'); } catch { } }, };}