UNPKG

cdkdx

Version:

Zero-config CLI for aws cdk development

102 lines 13.1 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 (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProjectInfo = void 0; const path = __importStar(require("path")); const fs = __importStar(require("fs-extra")); const globby_1 = __importDefault(require("globby")); class ProjectInfo { constructor(cwd) { var _a, _b, _c; this.cwd = cwd; this.pkgJson = fs.readJSONSync(path.join(cwd, 'package.json')); if (!this.pkgJson.name) { throw new Error('Property "name" is missing in package.json'); } this.name = this.pkgJson.name; this.private = (_a = this.pkgJson.private) !== null && _a !== void 0 ? _a : false; this.isJsii = this.pkgJson.jsii !== undefined; this.isConstructLib = !fs.existsSync(this.resolve('cdk.json')); this.externals = (_b = this.pkgJson.externals) !== null && _b !== void 0 ? _b : []; this.nodeModules = (_c = this.pkgJson.nodeModules) !== null && _c !== void 0 ? _c : []; this.peerDependencies = this.pkgJson.peerDependencies; this.dependencies = this.pkgJson.dependencies; this.devDependencies = this.pkgJson.devDependencies; this.typescriptIncludes = ['src']; this.typescriptExcludes = ['src/lambdas', 'src/**/__tests__']; this.cdkdxConfigPath = this.resolve('cdkdx.config.js'); this.root = this.resolve('.'); this.srcPath = this.resolve('src'); this.distPath = this.resolve('dist'); this.libPath = this.resolve('lib'); this.lambdasSrcPath = this.resolve('src/lambdas'); this.lambdasOutPath = this.resolve('lib/lambdas'); this.layersSrcPath = this.resolve('src/layers'); this.layersOutPath = this.resolve('lib/layers'); } get workspaces() { if (!this.pkgJson.workspaces) return; return Array.isArray(this.pkgJson.workspaces) ? this.pkgJson.workspaces : this.pkgJson.workspaces.packages; } async getWorkspaceProjectInfos() { if (!this.workspaces) return; const infos = []; for (const ws of this.workspaces) { const pattern = `${this.cwd}/${ws}`; if (pattern.indexOf('*') === -1) { infos.push(new ProjectInfo(pattern)); } else { const paths = await (0, globby_1.default)(pattern, { onlyDirectories: true, }); paths.forEach((path) => { infos.push(new ProjectInfo(path)); }); } } return infos; } async syncPkgJson() { await fs.writeJSON(this.resolve('package.json'), this.pkgJson, { spaces: 2, }); } async hasLambdaSrc() { return fs.pathExists(this.lambdasSrcPath); } resolve(relativePath) { return path.resolve(this.cwd, relativePath); } } exports.ProjectInfo = ProjectInfo; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1pbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb2plY3QtaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0Isb0RBQTRCO0FBUTVCLE1BQWEsV0FBVztJQTRCdEIsWUFBNkIsR0FBVzs7UUFBWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQ2hCLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUMvRDtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxtQ0FBSSxLQUFLLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsbUNBQUksRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsbUNBQUksRUFBRSxDQUFDO1FBRWxELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMs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QUMsWUFBWTtRQUN2QixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxPQUFPLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBMUdELGtDQTBHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFja2FnZUpzb24gYXMgVHlwZUZlc3RQYWNrYWdlSnNvbiB9IGZyb20gJ3R5cGUtZmVzdCc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IGdsb2JieSBmcm9tICdnbG9iYnknO1xuXG5leHBvcnQgdHlwZSBQYWNrYWdlSnNvbiA9IFR5cGVGZXN0UGFja2FnZUpzb24gJiB7XG4gIGV4dGVybmFscz86IHN0cmluZ1tdO1xuICBub2RlTW9kdWxlcz86IHN0cmluZ1tdO1xuICBqc2lpPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgY2xhc3MgUHJvamVjdEluZm8ge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJpdmF0ZTogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGlzSnNpaTogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGlzQ29uc3RydWN0TGliOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgZXh0ZXJuYWxzOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IG5vZGVNb2R1bGVzOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IHBlZXJEZXBlbmRlbmNpZXM6IFBhY2thZ2VKc29uWydwZWVyRGVwZW5kZW5jaWVzJ107XG4gIHB1YmxpYyByZWFkb25seSBkZXBlbmRlbmNpZXM6IFBhY2thZ2VKc29uWydkZXBlbmRlbmNpZXMnXTtcbiAgcHVibGljIHJlYWRvbmx5IGRldkRlcGVuZGVuY2llczogUGFja2FnZUpzb25bJ2RldkRlcGVuZGVuY2llcyddO1xuXG4gIC8vdHMtY29uZmlnXG4gIHB1YmxpYyByZWFkb25seSB0eXBlc2NyaXB0SW5jbHVkZXM6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZXNjcmlwdEV4Y2x1ZGVzOiBzdHJpbmdbXTtcblxuICAvL3BhdGhzXG4gIHB1YmxpYyByZWFkb25seSBjZGtkeENvbmZpZ1BhdGg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHJvb3Q6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHNyY1BhdGg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRpc3RQYXRoOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsaWJQYXRoOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFzU3JjUGF0aDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbGFtYmRhc091dFBhdGg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGxheWVyc1NyY1BhdGg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGxheWVyc091dFBhdGg6IHN0cmluZztcblxuICBwcml2YXRlIHBrZ0pzb246IFBhY2thZ2VKc29uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY3dkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBrZ0pzb24gPSBmcy5yZWFkSlNPTlN5bmMoXG4gICAgICBwYXRoLmpvaW4oY3dkLCAncGFja2FnZS5qc29uJyksXG4gICAgKSBhcyBQYWNrYWdlSnNvbjtcblxuICAgIGlmICghdGhpcy5wa2dKc29uLm5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJvcGVydHkgXCJuYW1lXCIgaXMgbWlzc2luZyBpbiBwYWNrYWdlLmpzb24nKTtcbiAgICB9XG5cbiAgICB0aGlzLm5hbWUgPSB0aGlzLnBrZ0pzb24ubmFtZTtcbiAgICB0aGlzLnByaXZhdGUgPSB0aGlzLnBrZ0pzb24ucHJpdmF0ZSA/PyBmYWxzZTtcbiAgICB0aGlzLmlzSnNpaSA9IHRoaXMucGtnSnNvbi5qc2lpICE9PSB1bmRlZmluZWQ7XG4gICAgdGhpcy5pc0NvbnN0cnVjdExpYiA9ICFmcy5leGlzdHNTeW5jKHRoaXMucmVzb2x2ZSgnY2RrLmpzb24nKSk7XG5cbiAgICB0aGlzLmV4dGVybmFscyA9IHRoaXMucGtnSnNvbi5leHRlcm5hbHMgPz8gW107XG4gICAgdGhpcy5ub2RlTW9kdWxlcyA9IHRoaXMucGtnSnNvbi5ub2RlTW9kdWxlcyA/PyBbXTtcblxuICAgIHRoaXMucGVlckRlcGVuZGVuY2llcyA9IHRoaXMucGtnSnNvbi5wZWVyRGVwZW5kZW5jaWVzO1xuICAgIHRoaXMuZGVwZW5kZW5jaWVzID0gdGhpcy5wa2dKc29uLmRlcGVuZGVuY2llcztcbiAgICB0aGlzLmRldkRlcGVuZGVuY2llcyA9IHRoaXMucGtnSnNvbi5kZXZEZXBlbmRlbmNpZXM7XG5cbiAgICB0aGlzLnR5cGVzY3JpcHRJbmNsdWRlcyA9IFsnc3JjJ107XG4gICAgdGhpcy50eXBlc2NyaXB0RXhjbHVkZXMgPSBbJ3NyYy9sYW1iZGFzJywgJ3NyYy8qKi9fX3Rlc3RzX18nXTtcblxuICAgIHRoaXMuY2RrZHhDb25maWdQYXRoID0gdGhpcy5yZXNvbHZlKCdjZGtkeC5jb25maWcuanMnKTtcbiAgICB0aGlzLnJvb3QgPSB0aGlzLnJlc29sdmUoJy4nKTtcbiAgICB0aGlzLnNyY1BhdGggPSB0aGlzLnJlc29sdmUoJ3NyYycpO1xuICAgIHRoaXMuZGlzdFBhdGggPSB0aGlzLnJlc29sdmUoJ2Rpc3QnKTtcbiAgICB0aGlzLmxpYlBhdGggPSB0aGlzLnJlc29sdmUoJ2xpYicpO1xuICAgIHRoaXMubGFtYmRhc1NyY1BhdGggPSB0aGlzLnJlc29sdmUoJ3NyYy9sYW1iZGFzJyk7XG4gICAgdGhpcy5sYW1iZGFzT3V0UGF0aCA9IHRoaXMucmVzb2x2ZSgnbGliL2xhbWJkYXMnKTtcbiAgICB0aGlzLmxheWVyc1NyY1BhdGggPSB0aGlzLnJlc29sdmUoJ3NyYy9sYXllcnMnKTtcbiAgICB0aGlzLmxheWVyc091dFBhdGggPSB0aGlzLnJlc29sdmUoJ2xpYi9sYXllcnMnKTtcbiAgfVxuXG4gIGdldCB3b3Jrc3BhY2VzKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMucGtnSnNvbi53b3Jrc3BhY2VzKSByZXR1cm47XG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnBrZ0pzb24ud29ya3NwYWNlcylcbiAgICAgID8gdGhpcy5wa2dKc29uLndvcmtzcGFjZXNcbiAgICAgIDogdGhpcy5wa2dKc29uLndvcmtzcGFjZXMucGFja2FnZXM7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0V29ya3NwYWNlUHJvamVjdEluZm9zKCk6IFByb21pc2U8UHJvamVjdEluZm9bXSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICghdGhpcy53b3Jrc3BhY2VzKSByZXR1cm47XG4gICAgY29uc3QgaW5mb3M6IFByb2plY3RJbmZvW10gPSBbXTtcblxuICAgIGZvciAoY29uc3Qgd3Mgb2YgdGhpcy53b3Jrc3BhY2VzKSB7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gYCR7dGhpcy5jd2R9LyR7d3N9YDtcbiAgICAgIGlmIChwYXR0ZXJuLmluZGV4T2YoJyonKSA9PT0gLTEpIHtcbiAgICAgICAgaW5mb3MucHVzaChuZXcgUHJvamVjdEluZm8ocGF0dGVybikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcGF0aHMgPSBhd2FpdCBnbG9iYnkocGF0dGVybiwge1xuICAgICAgICAgIG9ubHlEaXJlY3RvcmllczogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgIGluZm9zLnB1c2gobmV3IFByb2plY3RJbmZvKHBhdGgpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZm9zO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN5bmNQa2dKc29uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGZzLndyaXRlSlNPTih0aGlzLnJlc29sdmUoJ3BhY2thZ2UuanNvbicpLCB0aGlzLnBrZ0pzb24sIHtcbiAgICAgIHNwYWNlczogMixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYXNMYW1iZGFTcmMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGZzLnBhdGhFeGlzdHModGhpcy5sYW1iZGFzU3JjUGF0aCk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmUocmVsYXRpdmVQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLnJlc29sdmUodGhpcy5jd2QsIHJlbGF0aXZlUGF0aCk7XG4gIH1cbn1cbiJdfQ==