UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

44 lines (42 loc) 1.55 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const fancy_log_1 = tslib_1.__importDefault(require("fancy-log")); const plugin_error_1 = tslib_1.__importDefault(require("plugin-error")); const through2_1 = tslib_1.__importDefault(require("through2")); const util = tslib_1.__importStar(require("../utilities")); const jsonMerge = tslib_1.__importStar(require("./json-merge")); const PLUGIN_NAME = 'gulp-merge-json-in-folders'; function gulpMergeJsonInFolders(options) { // override options settings if not specified. options = Object.assign({ src: './src/assets/strings' }, options || {}); const externalSources = []; return through2_1.default.obj( /** * Transform */ function (file, encoding, callback) { if (file.isDirectory()) { externalSources.push(file.path); } callback(); }, /** * Flush */ function (callback) { try { const merge = new jsonMerge.JsonMerge(); const files = merge.mergeJsonInFolders(options.src, externalSources); files.forEach(file => this.push(file)); } catch (e) { const error = (!e.plugin || (e.plugin !== PLUGIN_NAME)) ? util.extendError(new plugin_error_1.default({ plugin: PLUGIN_NAME, message: e.message }), e) : e; fancy_log_1.default.error(error); } callback(); }); } module.exports = gulpMergeJsonInFolders; //# sourceMappingURL=index.js.map