import { $fetch } from 'ohmyfetch' import type { AppInfo } from '~/types' export const registeredApps: Record = {} const runtimeConfig = useRuntimeConfig() const promise = $fetch(runtimeConfig.registedAppsUrl, { responseType: 'json' }) .then((r) => { Object.assign(registeredApps, r) // eslint-disable-next-line no-console console.log(`\n${Object.keys(registeredApps).length} registered apps loaded from ${runtimeConfig.registedAppsUrl.split(/\/+/g)[1]}`) // eslint-disable-next-line no-console console.log(`${Object.keys(registeredApps).map(i => ` - ${i}`).join('\n')}\n`) }) .catch((e) => { if (process.dev) console.error('Failed to fetch registered apps,\nyou may need to run `nr register-apps` first') else console.error('Failed to fetch registered apps') console.error(e) }) export async function getApp(server: string) { await promise return registeredApps[server] }