UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

75 lines 7.27 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 }); const child_process = __importStar(require("child_process")); const fs = __importStar(require("fs-extra")); let argv = process.argv.slice(2); // eslint-disable-next-line no-console console.log('fake npm'); if (argv[0] === 'install') { if (!process.env.REPO_PACKAGE_MAP) { throw new Error('REPO_PACKAGE_MAP not set'); } const repoPackageMap = fs.readJsonSync(process.env.REPO_PACKAGE_MAP, { encoding: 'utf-8' }); // Replace paths in the 'package.json' in the current directory if (fs.pathExistsSync('package.json')) { const packageJson = fs.readJsonSync('package.json', { encoding: 'utf-8' }); for (const deps of [packageJson.dependencies ?? {}, packageJson.devDependencies ?? {}]) { for (const [name, version] of Object.entries(deps)) { deps[name] = repoPackageMap[name] ?? version; } } fs.writeJsonSync('package.json', packageJson, { encoding: 'utf-8' }); } // Replace package names on the command line argv = argv.map(x => repoPackageMap[x] ?? x); } //////////////////////////////////////////////////////////////////////// // Shell out to original npm const child = child_process.spawn('node', [require.resolve('npm'), ...argv], { shell: false, stdio: ['ignore', 'inherit', 'inherit'], }); child.once('error', e => { // eslint-disable-next-line no-console console.error(e); process.exitCode = 1; }); child.once('close', code => { if (code) { process.exitCode = code; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibnBtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQStDO0FBQy9DLDZDQUErQjtBQUUvQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVqQyxzQ0FBc0M7QUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUV4QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztJQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFNUYsK0RBQStEO0lBQy9ELElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0UsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLElBQUksRUFBRSxFQUFFLFdBQVcsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2RixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELHdFQUF3RTtBQUN4RSw2QkFBNkI7QUFFN0IsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUU7SUFDM0UsS0FBSyxFQUFFLEtBQUs7SUFDWixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQztDQUN4QyxDQUFDLENBQUM7QUFFSCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRTtJQUN0QixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQztBQUVILEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFO0lBQ3pCLElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZF9wcm9jZXNzIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuXG5sZXQgYXJndiA9IHByb2Nlc3MuYXJndi5zbGljZSgyKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbmNvbnNvbGUubG9nKCdmYWtlIG5wbScpO1xuXG5pZiAoYXJndlswXSA9PT0gJ2luc3RhbGwnKSB7XG4gIGlmICghcHJvY2Vzcy5lbnYuUkVQT19QQUNLQUdFX01BUCkge1xuICAgIHRocm93IG5ldyBFcnJvcignUkVQT19QQUNLQUdFX01BUCBub3Qgc2V0Jyk7XG4gIH1cbiAgY29uc3QgcmVwb1BhY2thZ2VNYXAgPSBmcy5yZWFkSnNvblN5bmMocHJvY2Vzcy5lbnYuUkVQT19QQUNLQUdFX01BUCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcblxuICAvLyBSZXBsYWNlIHBhdGhzIGluIHRoZSAncGFja2FnZS5qc29uJyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiAgaWYgKGZzLnBhdGhFeGlzdHNTeW5jKCdwYWNrYWdlLmpzb24nKSkge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gZnMucmVhZEpzb25TeW5jKCdwYWNrYWdlLmpzb24nLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuICAgIGZvciAoY29uc3QgZGVwcyBvZiBbcGFja2FnZUpzb24uZGVwZW5kZW5jaWVzID8/IHt9LCBwYWNrYWdlSnNvbi5kZXZEZXBlbmRlbmNpZXMgPz8ge31dKSB7XG4gICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2ZXJzaW9uXSBvZiBPYmplY3QuZW50cmllcyhkZXBzKSkge1xuICAgICAgICBkZXBzW25hbWVdID0gcmVwb1BhY2thZ2VNYXBbbmFtZV0gPz8gdmVyc2lvbjtcbiAgICAgIH1cbiAgICB9XG4gICAgZnMud3JpdGVKc29uU3luYygncGFja2FnZS5qc29uJywgcGFja2FnZUpzb24sIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gIH1cblxuICAvLyBSZXBsYWNlIHBhY2thZ2UgbmFtZXMgb24gdGhlIGNvbW1hbmQgbGluZVxuICBhcmd2ID0gYXJndi5tYXAoeCA9PiByZXBvUGFja2FnZU1hcFt4XSA/PyB4KTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgU2hlbGwgb3V0IHRvIG9yaWdpbmFsIG5wbVxuXG5jb25zdCBjaGlsZCA9IGNoaWxkX3Byb2Nlc3Muc3Bhd24oJ25vZGUnLCBbcmVxdWlyZS5yZXNvbHZlKCducG0nKSwgLi4uYXJndl0sIHtcbiAgc2hlbGw6IGZhbHNlLFxuICBzdGRpbzogWydpZ25vcmUnLCAnaW5oZXJpdCcsICdpbmhlcml0J10sXG59KTtcblxuY2hpbGQub25jZSgnZXJyb3InLCBlID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcblxuY2hpbGQub25jZSgnY2xvc2UnLCBjb2RlID0+IHtcbiAgaWYgKGNvZGUpIHtcbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gY29kZTtcbiAgfVxufSk7XG4iXX0=