@featurevisor/core
Version:
Core package of Featurevisor for Node.js usage
30 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.exportSite = exportSite;
const fs = require("fs");
const path = require("path");
const generateHistory_1 = require("./generateHistory");
const getRepoDetails_1 = require("./getRepoDetails");
const generateSiteSearchIndex_1 = require("./generateSiteSearchIndex");
async function exportSite(deps) {
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 (0, generateHistory_1.generateHistory)(deps);
// site search index
const repoDetails = (0, getRepoDetails_1.getRepoDetails)();
const searchIndex = await (0, generateSiteSearchIndex_1.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;
}
//# sourceMappingURL=exportSite.js.map