UNPKG

conflutora

Version:

Provider to convert and publish Antora documentation on Confluence

48 lines 2.14 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const node_path_1 = __importDefault(require("node:path")); const provider_service_1 = require("./services/provider.service"); const Logger_1 = require("./utils/Logger"); const config_service_1 = require("./config/config.service"); module.exports = async (destConfig, files, playbook) => { const logger = new Logger_1.Logger(config_service_1.configService.get('application.name')); // Check if publishing to Confluence should be skipped if (config_service_1.configService.get('confluence.skipPublish')) { logger.info('Skip publishing to Confluence, because SKIP_CONFLUENCE was set'); return; } // Prepare files data const filesData = []; for await (const file of files) { filesData.push({ base: node_path_1.default.join(file.base, playbook.output.dir), path: file.path }); } // Filter out files that should not be published const filteredFiles = filesData.filter((file) => !file.path.startsWith('_')); if (filteredFiles.length === 0) { logger.info('No files to publish to Confluence'); return; } // Set config based on destConfig if (destConfig.confluenceUrl) config_service_1.configService.set('confluence.url', destConfig.confluenceUrl); if (destConfig.confluenceSpaceKey) config_service_1.configService.set('confluence.spaceKey', destConfig.confluenceSpaceKey); if (destConfig.confluenceAncestorId) config_service_1.configService.set('confluence.ancestorId', destConfig.confluenceAncestorId); // Log and publish logger.info(`Publishing "${playbook.site.title}" to Confluence`); try { await new provider_service_1.ProviderService().handle(filteredFiles); } catch (error) { // eslint-disable-next-line no-console console.error('Provider processing failed:', error.message); } }; //# sourceMappingURL=index.js.map