@routineless/nx-aws-cdk
Version:
Nx plugin for AWS CDK
43 lines • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNodes = void 0;
const tslib_1 = require("tslib");
const inferrence_1 = tslib_1.__importDefault(require("./generators/aws-lambda/infra-generator/inferrence"));
const inferrence_2 = tslib_1.__importDefault(require("./generators/aws-lambda/runtime-generator/inferrence"));
const inferrence_3 = tslib_1.__importDefault(require("./generators/cdk-application/inferrence"));
const filePathToConfigurationMappings = [
inferrence_3.default,
inferrence_2.default,
inferrence_1.default,
];
exports.createNodes = [
'**/project.json',
async (projectConfigurationFilePath, opts, context) => {
const nodesResult = [];
for (const { predicate, createNodesFunction } of filePathToConfigurationMappings) {
if (predicate(projectConfigurationFilePath)) {
nodesResult.push(await createNodesFunction(projectConfigurationFilePath, opts, context));
}
}
return mergeCreateNodesResults(nodesResult);
},
];
const mergeCreateNodesResults = (createNodesResults) => {
const result = {};
for (const createNodesResult of createNodesResults) {
if (createNodesResult.projects) {
result.projects = result.projects ?? {};
for (const [key, value] of Object.entries(createNodesResult.projects)) {
const resolvedProject = result.projects[key];
if (!resolvedProject) {
result.projects[key] = value;
}
else {
resolvedProject.targets = { ...resolvedProject.targets, ...value.targets };
}
}
}
}
return result;
};
//# sourceMappingURL=index.js.map