UNPKG

aws-cdk

Version:

AWS CDK CLI, the command line tool for CDK apps

75 lines 6.17 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.withTelemetryState = withTelemetryState; exports.loadTelemetryState = loadTelemetryState; exports.writeTelemetryState = writeTelemetryState; const fs = __importStar(require("fs/promises")); const path = __importStar(require("path")); const installation_id_1 = require("./installation-id"); const util_1 = require("../../util"); /** * Run a function that can modify the given telemetry state. */ async function withTelemetryState(block) { const state = await loadTelemetryState(); const oldState = JSON.stringify(state); const ret = block(state); // Only write a file if the contents changed. if (JSON.stringify(ret) !== oldState) { await writeTelemetryState(state); } return ret; } /** * Load telemetry state */ async function loadTelemetryState() { try { return JSON.parse(await fs.readFile(TELEMETRY_STATE_PATH, 'utf-8')); } catch (e) { if (e.code === 'ENOENT') { return {}; } throw e; } } async function writeTelemetryState(state) { await (0, installation_id_1.ensureCacheDir)(); await fs.writeFile(TELEMETRY_STATE_PATH, JSON.stringify(state, undefined, 2), 'utf-8'); } const TELEMETRY_STATE_PATH = path.join((0, util_1.cdkCacheDir)(), 'telemetry-state.json'); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVsZW1ldHJ5LXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBLGdEQVlDO0FBS0QsZ0RBU0M7QUFFRCxrREFJQztBQWxERCxnREFBa0M7QUFDbEMsMkNBQTZCO0FBQzdCLHVEQUFtRDtBQUNuRCxxQ0FBeUM7QUFZekM7O0dBRUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQUksS0FBK0I7SUFDekUsTUFBTSxLQUFLLEdBQUcsTUFBTSxrQkFBa0IsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdkMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXpCLDZDQUE2QztJQUM3QyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDckMsTUFBTSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCO0lBQ3RDLElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUM7SUFDVixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxLQUFxQjtJQUM3RCxNQUFNLElBQUEsZ0NBQWMsR0FBRSxDQUFDO0lBRXZCLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFBLGtCQUFXLEdBQUUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGVuc3VyZUNhY2hlRGlyIH0gZnJvbSAnLi9pbnN0YWxsYXRpb24taWQnO1xuaW1wb3J0IHsgY2RrQ2FjaGVEaXIgfSBmcm9tICcuLi8uLi91dGlsJztcblxuLyoqXG4gKiBUZWxlbWV0cnkgc3RhdGUgYWNyb3NzIENMSSBpbnZvY2F0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbGVtZXRyeVN0YXRlIHtcbiAgLyoqXG4gICAqIEhvdyBtYW55IGRlcGxveW1lbnQgZmFpbHVyZXMgd2UndmUgc2VlbiBzaW5jZSB0aGUgbGFzdCBzdWNjZXNzLlxuICAgKi9cbiAgc2VxdWVudGlhbERlcGxveW1lbnRGYWlsdXJlcz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSdW4gYSBmdW5jdGlvbiB0aGF0IGNhbiBtb2RpZnkgdGhlIGdpdmVuIHRlbGVtZXRyeSBzdGF0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdpdGhUZWxlbWV0cnlTdGF0ZTxBPihibG9jazogKHg6IFRlbGVtZXRyeVN0YXRlKSA9PiBBKTogUHJvbWlzZTxBPiB7XG4gIGNvbnN0IHN0YXRlID0gYXdhaXQgbG9hZFRlbGVtZXRyeVN0YXRlKCk7XG4gIGNvbnN0IG9sZFN0YXRlID0gSlNPTi5zdHJpbmdpZnkoc3RhdGUpO1xuXG4gIGNvbnN0IHJldCA9IGJsb2NrKHN0YXRlKTtcblxuICAvLyBPbmx5IHdyaXRlIGEgZmlsZSBpZiB0aGUgY29udGVudHMgY2hhbmdlZC5cbiAgaWYgKEpTT04uc3RyaW5naWZ5KHJldCkgIT09IG9sZFN0YXRlKSB7XG4gICAgYXdhaXQgd3JpdGVUZWxlbWV0cnlTdGF0ZShzdGF0ZSk7XG4gIH1cblxuICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIExvYWQgdGVsZW1ldHJ5IHN0YXRlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkVGVsZW1ldHJ5U3RhdGUoKTogUHJvbWlzZTxUZWxlbWV0cnlTdGF0ZT4ge1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKFRFTEVNRVRSWV9TVEFURV9QQVRILCAndXRmLTgnKSk7XG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIGlmIChlLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlVGVsZW1ldHJ5U3RhdGUoc3RhdGU6IFRlbGVtZXRyeVN0YXRlKSB7XG4gIGF3YWl0IGVuc3VyZUNhY2hlRGlyKCk7XG5cbiAgYXdhaXQgZnMud3JpdGVGaWxlKFRFTEVNRVRSWV9TVEFURV9QQVRILCBKU09OLnN0cmluZ2lmeShzdGF0ZSwgdW5kZWZpbmVkLCAyKSwgJ3V0Zi04Jyk7XG59XG5cbmNvbnN0IFRFTEVNRVRSWV9TVEFURV9QQVRIID0gcGF0aC5qb2luKGNka0NhY2hlRGlyKCksICd0ZWxlbWV0cnktc3RhdGUuanNvbicpO1xuIl19