UNPKG

@axway/amplify-cli-utils

Version:

Common utils for Axway CLI packages

142 lines (113 loc) 12.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addCrash = addCrash; exports.addEvent = addEvent; exports.init = init; exports.isEnabled = isEnabled; exports.nukeData = nukeData; var _fsExtra = _interopRequireDefault(require("fs-extra")); var _amplifyConfig = _interopRequireDefault(require("@axway/amplify-config")); var _path = _interopRequireDefault(require("path")); var _snooplogg = _interopRequireDefault(require("snooplogg")); var _request = require("./request.js"); var _amplifySdk = require("@axway/amplify-sdk"); var environments = _interopRequireWildcard(require("./environments.js")); var locations = _interopRequireWildcard(require("./locations.js")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const { warn } = (0, _snooplogg.default)('amplify-cli-utils:telemetry'); const telemetryCacheDir = _path.default.join(locations.axwayHome, 'axway-cli', 'telemetry'); let telemetryInst = null; /** * If telemetry is enabled, writes the anonymous event data to disk where it will eventually be * sent to the Axway platform. * * @param {Object} payload - the telemetry event payload. * @param {Object} [opts] - Various options to pass into the `Telemetry` instance. */ async function addEvent(payload, opts) { // eslint-disable-next-line no-unused-expressions const initialize = await init(opts); initialize === null || initialize === void 0 ? void 0 : initialize.addEvent(payload); } /** * If telemetry is enabled, writes the anonymous crash event to disk where it will eventually be * sent to the Axway platform. * * @param {Object} payload - the telemetry event payload. * @param {Object} [opts] - Various options to pass into the `Telemetry` instance. */ async function addCrash(payload, opts) { // eslint-disable-next-line no-unused-expressions const initialize = await init(opts); initialize === null || initialize === void 0 ? void 0 : initialize.addCrash(payload); } /** * Checks if telemetry is enabled, then if it is, creates the telemetry instance and registers the * send handler. * * @param {Object} [opts] - Various options. * @param {String} [opts.appGuid] - The platform registered app guid. * @param {String} [opts.appVersion] - The app version. * @param {Config} [opts.config] - The Axway CLI config object. * @param {String} [opts.env] - The environment name. * @param {String} [opts.url] - The platform analytics endpoint URL. * @returns {Telemetry} */ async function init(opts = {}) { try { if (telemetryInst) { return telemetryInst; } const config = opts.config || (await (0, _amplifyConfig.default)()); if (!(await config.get('telemetry.enabled'))) { return; } if (!opts.appGuid || typeof opts.appGuid !== 'string') { throw new Error('Expected telemetry app guid to be a non-empty string'); } const env = environments.resolve(opts.env || (await config.get('env'))); telemetryInst = new _amplifySdk.Telemetry({ appGuid: opts.appGuid, appVersion: opts.appVersion, cacheDir: telemetryCacheDir, environment: env === 'staging' ? 'preproduction' : 'production', requestOptions: (0, _request.createRequestOptions)(config), url: opts.url }); process.on('exit', () => { try { telemetryInst.send({ wait: true }); } catch (err) { warn(err); } }); return telemetryInst; } catch (err) { telemetryInst = null; warn(err); } } /** * Checks if telemetry is enabled. * * @returns {Boolean} */ async function isEnabled() { const config = await (0, _amplifyConfig.default)(); return !!(await config.get('telemetry.enabled')); } /** * Nukes the telemetry data directory, if exists. */ function nukeData() { _fsExtra.default.removeSync(telemetryCacheDir); } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmpzIiwibmFtZXMiOlsid2FybiIsInRlbGVtZXRyeUNhY2hlRGlyIiwicGF0aCIsImpvaW4iLCJsb2NhdGlvbnMiLCJheHdheUhvbWUiLCJ0ZWxlbWV0cnlJbnN0IiwiYWRkRXZlbnQiLCJwYXlsb2FkIiwib3B0cyIsImluaXRpYWxpemUiLCJpbml0IiwiYWRkQ3Jhc2giLCJjb25maWciLCJnZXQiLCJhcHBHdWlkIiwiRXJyb3IiLCJlbnYiLCJlbnZpcm9ubWVudHMiLCJyZXNvbHZlIiwiVGVsZW1ldHJ5IiwiYXBwVmVyc2lvbiIsImNhY2hlRGlyIiwiZW52aXJvbm1lbnQiLCJyZXF1ZXN0T3B0aW9ucyIsInVybCIsInByb2Nlc3MiLCJvbiIsInNlbmQiLCJ3YWl0IiwiZXJyIiwiaXNFbmFibGVkIiwibnVrZURhdGEiLCJmcyIsInJlbW92ZVN5bmMiXSwic291cmNlcyI6WyJ0ZWxlbWV0cnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBsb2FkQ29uZmlnIGZyb20gJ0BheHdheS9hbXBsaWZ5LWNvbmZpZyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzbm9vcGxvZ2cgZnJvbSAnc25vb3Bsb2dnJztcbmltcG9ydCB7IGNyZWF0ZVJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9yZXF1ZXN0LmpzJztcbmltcG9ydCB7IFRlbGVtZXRyeSB9IGZyb20gJ0BheHdheS9hbXBsaWZ5LXNkayc7XG5pbXBvcnQgKiBhcyBlbnZpcm9ubWVudHMgZnJvbSAnLi9lbnZpcm9ubWVudHMuanMnO1xuaW1wb3J0ICogYXMgbG9jYXRpb25zIGZyb20gJy4vbG9jYXRpb25zLmpzJztcblxuY29uc3QgeyB3YXJuIH0gPSBzbm9vcGxvZ2coJ2FtcGxpZnktY2xpLXV0aWxzOnRlbGVtZXRyeScpO1xuY29uc3QgdGVsZW1ldHJ5Q2FjaGVEaXIgPSBwYXRoLmpvaW4obG9jYXRpb25zLmF4d2F5SG9tZSwgJ2F4d2F5LWNsaScsICd0ZWxlbWV0cnknKTtcbmxldCB0ZWxlbWV0cnlJbnN0ID0gbnVsbDtcblxuLyoqXG4gKiBJZiB0ZWxlbWV0cnkgaXMgZW5hYmxlZCwgd3JpdGVzIHRoZSBhbm9ueW1vdXMgZXZlbnQgZGF0YSB0byBkaXNrIHdoZXJlIGl0IHdpbGwgZXZlbnR1YWxseSBiZVxuICogc2VudCB0byB0aGUgQXh3YXkgcGxhdGZvcm0uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBheWxvYWQgLSB0aGUgdGVsZW1ldHJ5IGV2ZW50IHBheWxvYWQuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdHNdIC0gVmFyaW91cyBvcHRpb25zIHRvIHBhc3MgaW50byB0aGUgYFRlbGVtZXRyeWAgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRFdmVudChwYXlsb2FkLCBvcHRzKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcblx0Y29uc3QgaW5pdGlhbGl6ZSA9IGF3YWl0IGluaXQob3B0cyk7XG5cdGluaXRpYWxpemU/LmFkZEV2ZW50KHBheWxvYWQpO1xufVxuXG4vKipcbiAqIElmIHRlbGVtZXRyeSBpcyBlbmFibGVkLCB3cml0ZXMgdGhlIGFub255bW91cyBjcmFzaCBldmVudCB0byBkaXNrIHdoZXJlIGl0IHdpbGwgZXZlbnR1YWxseSBiZVxuICogc2VudCB0byB0aGUgQXh3YXkgcGxhdGZvcm0uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHBheWxvYWQgLSB0aGUgdGVsZW1ldHJ5IGV2ZW50IHBheWxvYWQuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdHNdIC0gVmFyaW91cyBvcHRpb25zIHRvIHBhc3MgaW50byB0aGUgYFRlbGVtZXRyeWAgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRDcmFzaChwYXlsb2FkLCBvcHRzKSB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtZXhwcmVzc2lvbnNcblx0Y29uc3QgaW5pdGlhbGl6ZSA9IGF3YWl0IGluaXQob3B0cyk7XG5cdGluaXRpYWxpemU/LmFkZENyYXNoKHBheWxvYWQpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0ZWxlbWV0cnkgaXMgZW5hYmxlZCwgdGhlbiBpZiBpdCBpcywgY3JlYXRlcyB0aGUgdGVsZW1ldHJ5IGluc3RhbmNlIGFuZCByZWdpc3RlcnMgdGhlXG4gKiBzZW5kIGhhbmRsZXIuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIFZhcmlvdXMgb3B0aW9ucy5cbiAqIEBwYXJhbSB7U3RyaW5nfSBbb3B0cy5hcHBHdWlkXSAtIFRoZSBwbGF0Zm9ybSByZWdpc3RlcmVkIGFwcCBndWlkLlxuICogQHBhcmFtIHtTdHJpbmd9IFtvcHRzLmFwcFZlcnNpb25dIC0gVGhlIGFwcCB2ZXJzaW9uLlxuICogQHBhcmFtIHtDb25maWd9IFtvcHRzLmNvbmZpZ10gLSBUaGUgQXh3YXkgQ0xJIGNvbmZpZyBvYmplY3QuXG4gKiBAcGFyYW0ge1N0cmluZ30gW29wdHMuZW52XSAtIFRoZSBlbnZpcm9ubWVudCBuYW1lLlxuICogQHBhcmFtIHtTdHJpbmd9IFtvcHRzLnVybF0gLSBUaGUgcGxhdGZvcm0gYW5hbHl0aWNzIGVuZHBvaW50IFVSTC5cbiAqIEByZXR1cm5zIHtUZWxlbWV0cnl9XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbml0KG9wdHMgPSB7fSkge1xuXHR0cnkge1xuXHRcdGlmICh0ZWxlbWV0cnlJbnN0KSB7XG5cdFx0XHRyZXR1cm4gdGVsZW1ldHJ5SW5zdDtcblx0XHR9XG5cblx0XHRjb25zdCBjb25maWcgPSBvcHRzLmNvbmZpZyB8fCBhd2FpdCBsb2FkQ29uZmlnKCk7XG5cdFx0aWYgKCFhd2FpdCBjb25maWcuZ2V0KCd0ZWxlbWV0cnkuZW5hYmxlZCcpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKCFvcHRzLmFwcEd1aWQgfHwgdHlwZW9mIG9wdHMuYXBwR3VpZCAhPT0gJ3N0cmluZycpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdGVsZW1ldHJ5IGFwcCBndWlkIHRvIGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGVudiA9IGVudmlyb25tZW50cy5yZXNvbHZlKG9wdHMuZW52IHx8IGF3YWl0IGNvbmZpZy5nZXQoJ2VudicpKTtcblxuXHRcdHRlbGVtZXRyeUluc3QgPSBuZXcgVGVsZW1ldHJ5KHtcblx0XHRcdGFwcEd1aWQ6ICAgICAgICBvcHRzLmFwcEd1aWQsXG5cdFx0XHRhcHBWZXJzaW9uOiAgICAgb3B0cy5hcHBWZXJzaW9uLFxuXHRcdFx0Y2FjaGVEaXI6ICAgICAgIHRlbGVtZXRyeUNhY2hlRGlyLFxuXHRcdFx0ZW52aXJvbm1lbnQ6ICAgIGVudiA9PT0gJ3N0YWdpbmcnID8gJ3ByZXByb2R1Y3Rpb24nIDogJ3Byb2R1Y3Rpb24nLFxuXHRcdFx0cmVxdWVzdE9wdGlvbnM6IGNyZWF0ZVJlcXVlc3RPcHRpb25zKGNvbmZpZyksXG5cdFx0XHR1cmw6ICAgICAgICAgICAgb3B0cy51cmxcblx0XHR9KTtcblxuXHRcdHByb2Nlc3Mub24oJ2V4aXQnLCAoKSA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHR0ZWxlbWV0cnlJbnN0LnNlbmQoeyB3YWl0OiB0cnVlIH0pO1xuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdHdhcm4oZXJyKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdHJldHVybiB0ZWxlbWV0cnlJbnN0O1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHR0ZWxlbWV0cnlJbnN0ID0gbnVsbDtcblx0XHR3YXJuKGVycik7XG5cdH1cbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGVsZW1ldHJ5IGlzIGVuYWJsZWQuXG4gKlxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpc0VuYWJsZWQoKSB7XG5cdGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcoKTtcblx0cmV0dXJuICEhYXdhaXQgY29uZmlnLmdldCgndGVsZW1ldHJ5LmVuYWJsZWQnKTtcbn1cblxuLyoqXG4gKiBOdWtlcyB0aGUgdGVsZW1ldHJ5IGRhdGEgZGlyZWN0b3J5LCBpZiBleGlzdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBudWtlRGF0YSgpIHtcblx0ZnMucmVtb3ZlU3luYyh0ZWxlbWV0cnlDYWNoZURpcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsTUFBTTtFQUFFQTtBQUFGLElBQVcsd0JBQVUsNkJBQVYsQ0FBakI7O0FBQ0EsTUFBTUMsaUJBQWlCLEdBQUdDLGNBQUtDLElBQUwsQ0FBVUMsU0FBUyxDQUFDQyxTQUFwQixFQUErQixXQUEvQixFQUE0QyxXQUE1QyxDQUExQjs7QUFDQSxJQUFJQyxhQUFhLEdBQUcsSUFBcEI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDTyxlQUFlQyxRQUFmLENBQXdCQyxPQUF4QixFQUFpQ0MsSUFBakMsRUFBdUM7RUFDN0M7RUFDQSxNQUFNQyxVQUFVLEdBQUcsTUFBTUMsSUFBSSxDQUFDRixJQUFELENBQTdCO0VBQ0FDLFVBQVUsU0FBVixJQUFBQSxVQUFVLFdBQVYsWUFBQUEsVUFBVSxDQUFFSCxRQUFaLENBQXFCQyxPQUFyQjtBQUNBO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLGVBQWVJLFFBQWYsQ0FBd0JKLE9BQXhCLEVBQWlDQyxJQUFqQyxFQUF1QztFQUM3QztFQUNBLE1BQU1DLFVBQVUsR0FBRyxNQUFNQyxJQUFJLENBQUNGLElBQUQsQ0FBN0I7RUFDQUMsVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixZQUFBQSxVQUFVLENBQUVFLFFBQVosQ0FBcUJKLE9BQXJCO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLGVBQWVHLElBQWYsQ0FBb0JGLElBQUksR0FBRyxFQUEzQixFQUErQjtFQUNyQyxJQUFJO0lBQ0gsSUFBSUgsYUFBSixFQUFtQjtNQUNsQixPQUFPQSxhQUFQO0lBQ0E7O0lBRUQsTUFBTU8sTUFBTSxHQUFHSixJQUFJLENBQUNJLE1BQUwsS0FBZSxNQUFNLDZCQUFyQixDQUFmOztJQUNBLElBQUksRUFBQyxNQUFNQSxNQUFNLENBQUNDLEdBQVAsQ0FBVyxtQkFBWCxDQUFQLENBQUosRUFBNEM7TUFDM0M7SUFDQTs7SUFFRCxJQUFJLENBQUNMLElBQUksQ0FBQ00sT0FBTixJQUFpQixPQUFPTixJQUFJLENBQUNNLE9BQVosS0FBd0IsUUFBN0MsRUFBdUQ7TUFDdEQsTUFBTSxJQUFJQyxLQUFKLENBQVUsc0RBQVYsQ0FBTjtJQUNBOztJQUVELE1BQU1DLEdBQUcsR0FBR0MsWUFBWSxDQUFDQyxPQUFiLENBQXFCVixJQUFJLENBQUNRLEdBQUwsS0FBWSxNQUFNSixNQUFNLENBQUNDLEdBQVAsQ0FBVyxLQUFYLENBQWxCLENBQXJCLENBQVo7SUFFQVIsYUFBYSxHQUFHLElBQUljLHFCQUFKLENBQWM7TUFDN0JMLE9BQU8sRUFBU04sSUFBSSxDQUFDTSxPQURRO01BRTdCTSxVQUFVLEVBQU1aLElBQUksQ0FBQ1ksVUFGUTtNQUc3QkMsUUFBUSxFQUFRckIsaUJBSGE7TUFJN0JzQixXQUFXLEVBQUtOLEdBQUcsS0FBSyxTQUFSLEdBQW9CLGVBQXBCLEdBQXNDLFlBSnpCO01BSzdCTyxjQUFjLEVBQUUsbUNBQXFCWCxNQUFyQixDQUxhO01BTTdCWSxHQUFHLEVBQWFoQixJQUFJLENBQUNnQjtJQU5RLENBQWQsQ0FBaEI7SUFTQUMsT0FBTyxDQUFDQyxFQUFSLENBQVcsTUFBWCxFQUFtQixNQUFNO01BQ3hCLElBQUk7UUFDSHJCLGFBQWEsQ0FBQ3NCLElBQWQsQ0FBbUI7VUFBRUMsSUFBSSxFQUFFO1FBQVIsQ0FBbkI7TUFDQSxDQUZELENBRUUsT0FBT0MsR0FBUCxFQUFZO1FBQ2I5QixJQUFJLENBQUM4QixHQUFELENBQUo7TUFDQTtJQUNELENBTkQ7SUFRQSxPQUFPeEIsYUFBUDtFQUNBLENBbENELENBa0NFLE9BQU93QixHQUFQLEVBQVk7SUFDYnhCLGFBQWEsR0FBRyxJQUFoQjtJQUNBTixJQUFJLENBQUM4QixHQUFELENBQUo7RUFDQTtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sZUFBZUMsU0FBZixHQUEyQjtFQUNqQyxNQUFNbEIsTUFBTSxHQUFHLE1BQU0sNkJBQXJCO0VBQ0EsT0FBTyxDQUFDLEVBQUMsTUFBTUEsTUFBTSxDQUFDQyxHQUFQLENBQVcsbUJBQVgsQ0FBUCxDQUFSO0FBQ0E7QUFFRDtBQUNBO0FBQ0E7OztBQUNPLFNBQVNrQixRQUFULEdBQW9CO0VBQzFCQyxpQkFBR0MsVUFBSCxDQUFjakMsaUJBQWQ7QUFDQSJ9