UNPKG

infopack

Version:

Information package generator

45 lines (44 loc) 1.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = run; exports.step = step; var bluebird_1 = require("bluebird"); var fast_glob_1 = __importDefault(require("fast-glob")); var fs_1 = __importDefault(require("fs")); var path_1 = __importDefault(require("path")); var pipeline_1 = require("../pipeline"); function run(executor) { return bluebird_1.Promise .resolve() .then(function () { return (0, fast_glob_1.default)([executor.getInputPath('/**/*.meta-input.json')]); }) .then(function (paths) { return bluebird_1.Promise.mapSeries(paths, function (metaInputPath) { var filePath = metaInputPath.replace('.meta-input.json', ''); var metaInput; try { metaInput = JSON.parse(fs_1.default.readFileSync(metaInputPath).toString()); } catch (error) { throw new Error('Could not parse (bad JSON): ' + metaInputPath); } return { path: path_1.default.relative(executor.getInputPath(), filePath), metaInput: metaInput, data: fs_1.default.readFileSync(filePath) }; }); }) .then(function (files) { return bluebird_1.Promise.mapSeries(files, function (f) { return executor.toOutput({ path: f.path, data: f.data, title: f.metaInput.title, description: f.metaInput.description, labels: f.metaInput.labels }); }); }); } function step(settings) { return new pipeline_1.PipelineStep(run, settings); }