UNPKG

nx

Version:

The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.

52 lines (51 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transformProjectGraphForRust = transformProjectGraphForRust; function transformProjectGraphForRust(graph) { const dependencies = {}; const nodes = {}; const externalNodes = {}; for (const [projectName, projectNode] of Object.entries(graph.nodes)) { const targets = {}; for (const [targetName, targetConfig] of Object.entries(projectNode.data.targets ?? {})) { targets[targetName] = { executor: targetConfig.executor, inputs: targetConfig.inputs, outputs: targetConfig.outputs, options: JSON.stringify(targetConfig.options), configurations: JSON.stringify(targetConfig.configurations), parallelism: targetConfig.parallelism, }; } nodes[projectName] = { root: projectNode.data.root, namedInputs: projectNode.data.namedInputs, targets, tags: projectNode.data.tags, }; if (graph.dependencies[projectName]) { dependencies[projectName] = []; for (const dep of graph.dependencies[projectName]) { dependencies[projectName].push(dep.target); } } } for (const [projectName, externalNode] of Object.entries(graph.externalNodes ?? {})) { externalNodes[projectName] = { packageName: externalNode.data.packageName, hash: externalNode.data.hash, version: externalNode.data.version, }; if (graph.dependencies[projectName]) { dependencies[projectName] = []; for (const dep of graph.dependencies[projectName]) { dependencies[projectName].push(dep.target); } } } return { nodes, externalNodes, dependencies, }; }