@nx/js
Version:
40 lines (39 loc) • 1.6 kB
JavaScript
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;
}
;