@axway/amplify-config
Version:
Configuration helper for the Axway CLI.
82 lines (60 loc) • 7.27 kB
JavaScript
;
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