UNPKG

@paroicms/cli

Version:
42 lines 1.76 kB
import { createOrOpenMainConnection, createRegisteredSitesFromSingle, initializeMediaStorage, loadRegisteredSitesFromPacks, loadSiteSchema, populateRoutingDocuments, readAppConfSync, readCommonSchemaLibrary, } from "@paroicms/connector"; import { isAbsolute, join } from "node:path"; export async function generateDatabase(siteDir) { const appConf = readAppConfSync(siteDir); const logger = console; const regSites = appConf.kind === "multisite" ? await loadRegisteredSitesFromPacks(appConf) : await createRegisteredSitesFromSingle(appConf); const commonSchemaLib = await readCommonSchemaLibrary(); for (let regSite of regSites.values()) { if (siteDir) { regSite = { ...regSite, siteDir, }; } const dataDir = isAbsolute(regSite.dataDir) ? regSite.dataDir : join(regSite.siteDir, regSite.dataDir); const { siteSchema } = await loadSiteSchema({ logger, regSite, commonSchemaLib, commonPluginConfiguration: { googleRecaptchaSiteKey: appConf.googleRecaptcha?.siteKey, }, pluginConfs: appConf.plugins ?? {}, trusted: regSite.trusted, }); const { cn, isNewDatabase } = await createOrOpenMainConnection(dataDir, { canCreate: true, logger, }); if (isNewDatabase) { await populateRoutingDocuments(cn, siteSchema, logger); } const mediaStorage = await initializeMediaStorage({ logger, dataDir }, { canCreate: true }); await cn.destroy(); await mediaStorage.close(); } } //# sourceMappingURL=database-generator.js.map