UNPKG

@featurevisor/core

Version:

Core package of Featurevisor for Node.js usage

43 lines (31 loc) 1.47 kB
import * as fs from "fs"; import * as path from "path"; import { generateHistory } from "./generateHistory"; import { getRepoDetails } from "./getRepoDetails"; import { generateSiteSearchIndex } from "./generateSiteSearchIndex"; import { Dependencies } from "../dependencies"; export async function exportSite(deps: Dependencies) { const { projectConfig } = deps; const hasError = false; fs.mkdirSync(projectConfig.siteExportDirectoryPath, { recursive: true }); const sitePackagePath = path.dirname(require.resolve("@featurevisor/site/package.json")); // copy site dist const siteDistPath = path.join(sitePackagePath, "dist"); fs.cpSync(siteDistPath, projectConfig.siteExportDirectoryPath, { recursive: true }); console.log("Site dist copied to:", projectConfig.siteExportDirectoryPath); // generate history const fullHistory = await generateHistory(deps); // site search index const repoDetails = getRepoDetails(); const searchIndex = await generateSiteSearchIndex(deps, fullHistory, repoDetails); const searchIndexFilePath = path.join(projectConfig.siteExportDirectoryPath, "search-index.json"); fs.writeFileSync(searchIndexFilePath, JSON.stringify(searchIndex)); console.log(`Site search index written at: ${searchIndexFilePath}`); // copy datafiles fs.cpSync( projectConfig.datafilesDirectoryPath, path.join(projectConfig.siteExportDirectoryPath, "datafiles"), { recursive: true }, ); return hasError; }