UNPKG

@axway/amplify-config

Version:

Configuration helper for the Axway CLI.

82 lines (60 loc) 7.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return _configKit.Config; } }); exports.default = exports.configFile = void 0; exports.loadConfig = loadConfig; var _sourceMapSupport = _interopRequireDefault(require("source-map-support")); var _configKit = require("config-kit"); var _fsExtra = _interopRequireDefault(require("fs-extra")); var _os = _interopRequireDefault(require("os")); var _path = _interopRequireDefault(require("path")); var _amplifyUtils = require("@axway/amplify-utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* istanbul ignore if */ if (!Error.prepareStackTrace) { _sourceMapSupport.default.install(); } // const { expandPath, isFile, writeFileSync } = pkg; const axwayHome = _path.default.join(_os.default.homedir(), '.axway'); const configFile = _path.default.join(axwayHome, 'axway-cli', 'config.json'); /** * Load a users config, if no userConfig is given then the default Axway CLI config will be * loaded. * * @param {Object} [opts] - An object with various options. * @param {Object} [opts.config] - A object to initialize the config with. Note that if a * `configFile` is also specified, this `config` is applied AFTER the config file has been loaded. * @param {String} [opts.configFile] - The path to a .js or .json config file to load. * @returns {Config} */ exports.configFile = configFile; async function loadConfig(opts = {}) { // validate the config options if (opts.config && (typeof opts.config !== 'object' || Array.isArray(opts.config))) { throw new TypeError('Expected config to be an object'); } if (opts.configFile && typeof opts.configFile !== 'string') { throw new TypeError('Expected config file to be a string'); } // in v2.1.0, the config file was moved to keep the ~/.axway directory tidy as other Axway // CLI's are added const legacyConfigFile = _path.default.join(axwayHome, 'amplify-cli.json'); if (!(0, _amplifyUtils.isFile)(configFile) && (0, _amplifyUtils.isFile)(legacyConfigFile)) { const json = _fsExtra.default.readJsonSync(legacyConfigFile); json.extensions = {}; (0, _amplifyUtils.writeFileSync)(configFile, JSON.stringify(json, null, 2)); } return await new _configKit.Config().init({ data: opts.config, file: (0, _amplifyUtils.expandPath)(opts.configFile || configFile) }); } var _default = loadConfig; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6WyJFcnJvciIsInByZXBhcmVTdGFja1RyYWNlIiwic291cmNlTWFwU3VwcG9ydCIsImluc3RhbGwiLCJheHdheUhvbWUiLCJwYXRoIiwiam9pbiIsIm9zIiwiaG9tZWRpciIsImNvbmZpZ0ZpbGUiLCJsb2FkQ29uZmlnIiwib3B0cyIsImNvbmZpZyIsIkFycmF5IiwiaXNBcnJheSIsIlR5cGVFcnJvciIsImxlZ2FjeUNvbmZpZ0ZpbGUiLCJqc29uIiwiZnMiLCJyZWFkSnNvblN5bmMiLCJleHRlbnNpb25zIiwiSlNPTiIsInN0cmluZ2lmeSIsIkNvbmZpZyIsImluaXQiLCJkYXRhIiwiZmlsZSJdLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG4vKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbmlmICghRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UpIHtcblx0c291cmNlTWFwU3VwcG9ydC5pbnN0YWxsKCk7XG59XG5cbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJ2NvbmZpZy1raXQnO1xuaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBvcyBmcm9tICdvcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGV4cGFuZFBhdGgsIGlzRmlsZSwgd3JpdGVGaWxlU3luYyB9IGZyb20gJ0BheHdheS9hbXBsaWZ5LXV0aWxzJztcblxuLy8gY29uc3QgeyBleHBhbmRQYXRoLCBpc0ZpbGUsIHdyaXRlRmlsZVN5bmMgfSA9IHBrZztcbmNvbnN0IGF4d2F5SG9tZSA9IHBhdGguam9pbihvcy5ob21lZGlyKCksICcuYXh3YXknKTtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZ0ZpbGUgPSBwYXRoLmpvaW4oYXh3YXlIb21lLCAnYXh3YXktY2xpJywgJ2NvbmZpZy5qc29uJyk7XG5cbi8qKlxuICogTG9hZCBhIHVzZXJzIGNvbmZpZywgaWYgbm8gdXNlckNvbmZpZyBpcyBnaXZlbiB0aGVuIHRoZSBkZWZhdWx0IEF4d2F5IENMSSBjb25maWcgd2lsbCBiZVxuICogbG9hZGVkLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBBbiBvYmplY3Qgd2l0aCB2YXJpb3VzIG9wdGlvbnMuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdHMuY29uZmlnXSAtIEEgb2JqZWN0IHRvIGluaXRpYWxpemUgdGhlIGNvbmZpZyB3aXRoLiBOb3RlIHRoYXQgaWYgYVxuICogYGNvbmZpZ0ZpbGVgIGlzIGFsc28gc3BlY2lmaWVkLCB0aGlzIGBjb25maWdgIGlzIGFwcGxpZWQgQUZURVIgdGhlIGNvbmZpZyBmaWxlIGhhcyBiZWVuIGxvYWRlZC5cbiAqIEBwYXJhbSB7U3RyaW5nfSBbb3B0cy5jb25maWdGaWxlXSAtIFRoZSBwYXRoIHRvIGEgLmpzIG9yIC5qc29uIGNvbmZpZyBmaWxlIHRvIGxvYWQuXG4gKiBAcmV0dXJucyB7Q29uZmlnfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZENvbmZpZyhvcHRzID0ge30pIHtcblx0Ly8gdmFsaWRhdGUgdGhlIGNvbmZpZyBvcHRpb25zXG5cdGlmIChvcHRzLmNvbmZpZyAmJiAodHlwZW9mIG9wdHMuY29uZmlnICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KG9wdHMuY29uZmlnKSkpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBjb25maWcgdG8gYmUgYW4gb2JqZWN0Jyk7XG5cdH1cblxuXHRpZiAob3B0cy5jb25maWdGaWxlICYmIHR5cGVvZiBvcHRzLmNvbmZpZ0ZpbGUgIT09ICdzdHJpbmcnKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgY29uZmlnIGZpbGUgdG8gYmUgYSBzdHJpbmcnKTtcblx0fVxuXG5cdC8vIGluIHYyLjEuMCwgdGhlIGNvbmZpZyBmaWxlIHdhcyBtb3ZlZCB0byBrZWVwIHRoZSB+Ly5heHdheSBkaXJlY3RvcnkgdGlkeSBhcyBvdGhlciBBeHdheVxuXHQvLyBDTEkncyBhcmUgYWRkZWRcblx0Y29uc3QgbGVnYWN5Q29uZmlnRmlsZSA9IHBhdGguam9pbihheHdheUhvbWUsICdhbXBsaWZ5LWNsaS5qc29uJyk7XG5cdGlmICghaXNGaWxlKGNvbmZpZ0ZpbGUpICYmIGlzRmlsZShsZWdhY3lDb25maWdGaWxlKSkge1xuXHRcdGNvbnN0IGpzb24gPSBmcy5yZWFkSnNvblN5bmMobGVnYWN5Q29uZmlnRmlsZSk7XG5cdFx0anNvbi5leHRlbnNpb25zID0ge307XG5cdFx0d3JpdGVGaWxlU3luYyhjb25maWdGaWxlLCBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKSk7XG5cdH1cblx0cmV0dXJuIGF3YWl0IG5ldyBDb25maWcoKS5pbml0KHtcblx0XHRkYXRhOiBvcHRzLmNvbmZpZyxcblx0XHRmaWxlOiBleHBhbmRQYXRoKG9wdHMuY29uZmlnRmlsZSB8fCBjb25maWdGaWxlKVxuXHR9KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbG9hZENvbmZpZztcblxuZXhwb3J0IHsgQ29uZmlnIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFUQTtBQUNBLElBQUksQ0FBQ0EsS0FBSyxDQUFDQyxpQkFBWCxFQUE4QjtFQUM3QkMsMEJBQWlCQyxPQUFqQjtBQUNBOztBQVFEO0FBQ0EsTUFBTUMsU0FBUyxHQUFHQyxjQUFLQyxJQUFMLENBQVVDLFlBQUdDLE9BQUgsRUFBVixFQUF3QixRQUF4QixDQUFsQjs7QUFFTyxNQUFNQyxVQUFVLEdBQUdKLGNBQUtDLElBQUwsQ0FBVUYsU0FBVixFQUFxQixXQUFyQixFQUFrQyxhQUFsQyxDQUFuQjtBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLGVBQWVNLFVBQWYsQ0FBMEJDLElBQUksR0FBRyxFQUFqQyxFQUFxQztFQUMzQztFQUNBLElBQUlBLElBQUksQ0FBQ0MsTUFBTCxLQUFnQixPQUFPRCxJQUFJLENBQUNDLE1BQVosS0FBdUIsUUFBdkIsSUFBbUNDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSCxJQUFJLENBQUNDLE1BQW5CLENBQW5ELENBQUosRUFBb0Y7SUFDbkYsTUFBTSxJQUFJRyxTQUFKLENBQWMsaUNBQWQsQ0FBTjtFQUNBOztFQUVELElBQUlKLElBQUksQ0FBQ0YsVUFBTCxJQUFtQixPQUFPRSxJQUFJLENBQUNGLFVBQVosS0FBMkIsUUFBbEQsRUFBNEQ7SUFDM0QsTUFBTSxJQUFJTSxTQUFKLENBQWMscUNBQWQsQ0FBTjtFQUNBLENBUjBDLENBVTNDO0VBQ0E7OztFQUNBLE1BQU1DLGdCQUFnQixHQUFHWCxjQUFLQyxJQUFMLENBQVVGLFNBQVYsRUFBcUIsa0JBQXJCLENBQXpCOztFQUNBLElBQUksQ0FBQywwQkFBT0ssVUFBUCxDQUFELElBQXVCLDBCQUFPTyxnQkFBUCxDQUEzQixFQUFxRDtJQUNwRCxNQUFNQyxJQUFJLEdBQUdDLGlCQUFHQyxZQUFILENBQWdCSCxnQkFBaEIsQ0FBYjs7SUFDQUMsSUFBSSxDQUFDRyxVQUFMLEdBQWtCLEVBQWxCO0lBQ0EsaUNBQWNYLFVBQWQsRUFBMEJZLElBQUksQ0FBQ0MsU0FBTCxDQUFlTCxJQUFmLEVBQXFCLElBQXJCLEVBQTJCLENBQTNCLENBQTFCO0VBQ0E7O0VBQ0QsT0FBTyxNQUFNLElBQUlNLGlCQUFKLEdBQWFDLElBQWIsQ0FBa0I7SUFDOUJDLElBQUksRUFBRWQsSUFBSSxDQUFDQyxNQURtQjtJQUU5QmMsSUFBSSxFQUFFLDhCQUFXZixJQUFJLENBQUNGLFVBQUwsSUFBbUJBLFVBQTlCO0VBRndCLENBQWxCLENBQWI7QUFJQTs7ZUFFY0MsVSJ9