UNPKG

@nx/js

Version:

The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects.

40 lines (39 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createWorkspaceWithPackageDependencies = createWorkspaceWithPackageDependencies; const devkit_1 = require("@nx/devkit"); function createWorkspaceWithPackageDependencies(tree, projectAndPackageData) { const projectGraph = { nodes: {}, dependencies: {}, }; for (const [projectName, data] of Object.entries(projectAndPackageData)) { const packageJsonContents = { name: data.packageName, version: data.version, }; for (const dependency of data.localDependencies) { const dependencyPackageName = projectAndPackageData[dependency.projectName].packageName; packageJsonContents[dependency.dependencyCollection] = { ...packageJsonContents[dependency.dependencyCollection], [dependencyPackageName]: dependency.version, }; } // add the project and its nx project level dependencies to the projectGraph projectGraph.nodes[projectName] = { name: projectName, type: 'lib', data: { root: data.projectRoot, }, }; projectGraph.dependencies[projectName] = data.localDependencies.map((dependency) => ({ source: projectName, target: dependency.projectName, type: 'static', })); // create the package.json in the tree (0, devkit_1.writeJson)(tree, data.packageJsonPath, packageJsonContents); } return projectGraph; }