@aws-cdk/integ-tests-alpha
Version:
CDK Integration Testing Constructs
29 lines • 3.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IntegManifestWriter = void 0;
/* eslint-disable @cdklabs/no-throw-default-error */
const fs = require("fs");
const path = require("path");
const cloud_assembly_schema_1 = require("aws-cdk-lib/cloud-assembly-schema");
class IntegManifestWriter {
static DEFAULT_FILENAME = 'integ.json';
static write(manifest, filePath) {
cloud_assembly_schema_1.Manifest.saveIntegManifest(manifest, getFinalLocation(filePath));
}
}
exports.IntegManifestWriter = IntegManifestWriter;
function getFinalLocation(filePath) {
try {
const st = fs.statSync(filePath);
return st.isDirectory()
? path.join(filePath, IntegManifestWriter.DEFAULT_FILENAME)
: filePath;
}
catch (e) {
if (e.code === 'ENOENT') {
return filePath;
}
throw new Error(`Cannot write integ manifest to '${filePath}': ${e.message}`);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3Qtd3JpdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWFuaWZlc3Qtd3JpdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFvRDtBQUNwRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRTdCLDZFQUE2RDtBQUU3RCxNQUFhLG1CQUFtQjtJQUN2QixNQUFNLENBQVUsZ0JBQWdCLEdBQUcsWUFBWSxDQUFDO0lBRWhELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBdUIsRUFBRSxRQUFnQjtRQUMzRCxnQ0FBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQ2xFOztBQUxILGtEQU1DO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxRQUFnQjtJQUN4QyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUM7WUFDM0QsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNmLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsUUFBUSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGNka2xhYnMvbm8tdGhyb3ctZGVmYXVsdC1lcnJvciAqL1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgSW50ZWdNYW5pZmVzdCB9IGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBNYW5pZmVzdCB9IGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5cbmV4cG9ydCBjbGFzcyBJbnRlZ01hbmlmZXN0V3JpdGVyIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0ZJTEVOQU1FID0gJ2ludGVnLmpzb24nO1xuXG4gIHB1YmxpYyBzdGF0aWMgd3JpdGUobWFuaWZlc3Q6IEludGVnTWFuaWZlc3QsIGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICBNYW5pZmVzdC5zYXZlSW50ZWdNYW5pZmVzdChtYW5pZmVzdCwgZ2V0RmluYWxMb2NhdGlvbihmaWxlUGF0aCkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEZpbmFsTG9jYXRpb24oZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgY29uc3Qgc3QgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgcmV0dXJuIHN0LmlzRGlyZWN0b3J5KClcbiAgICAgID8gcGF0aC5qb2luKGZpbGVQYXRoLCBJbnRlZ01hbmlmZXN0V3JpdGVyLkRFRkFVTFRfRklMRU5BTUUpXG4gICAgICA6IGZpbGVQYXRoO1xuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgcmV0dXJuIGZpbGVQYXRoO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB3cml0ZSBpbnRlZyBtYW5pZmVzdCB0byAnJHtmaWxlUGF0aH0nOiAke2UubWVzc2FnZX1gKTtcbiAgfVxufVxuIl19