UNPKG

@xrengine/server-core

Version:

Shared components for XREngine server

52 lines (46 loc) 1.79 kB
import fs from 'fs' import path from 'path' import { ServicesSeedConfig } from '@xrengine/common/src/interfaces/ServicesSeedConfig' import { ProjectConfigInterface } from '@xrengine/projects/ProjectConfigInterface' import { analyticsSeeds } from './analytics/seeder-config' import { mediaSeeds } from './media/seeder-config' import { networkingSeeds } from './networking/seeder-config' import { paymentSeeds } from './payments/seeder-config' import { projectSeeds } from './projects/seeder-config' import { routeSeeds } from './route/seeder-config' import { scopeSeeds } from './scope/seeder-config' import { settingSeeds } from './setting/seeder-config' import { socialSeeds } from './social/seeder-config' import { userSeeds } from './user/seeder-config' const installedProjects = fs.existsSync(path.resolve(__dirname, '../../projects/projects')) ? fs .readdirSync(path.resolve(__dirname, '../../projects/projects'), { withFileTypes: true }) .filter((dirent) => dirent.isDirectory()) .map((dirent) => { try { const config: ProjectConfigInterface = require(`../../projects/projects/${dirent.name}/xrengine.config.ts`).default if (!config.databaseSeed) return null return path.join(dirent.name, config.databaseSeed) } catch (e) { // console.log(e) } }) .filter((hasServices) => !!hasServices) .map((seedDir) => require(`../../projects/projects/${seedDir}`).default) .flat() : [] export const seeds: Array<ServicesSeedConfig> = [ ...mediaSeeds, ...networkingSeeds, ...paymentSeeds, ...socialSeeds, ...userSeeds, ...scopeSeeds, ...settingSeeds, ...analyticsSeeds, ...projectSeeds, ...routeSeeds, ...installedProjects ] export default seeds