@rxap/plugin-utilities
Version:
Provides utility functions for Nx plugins, such as retrieving project dependencies, determining output paths, and interacting with package.json files. It simplifies common tasks within Nx executors and generators. This package helps streamline plugin deve
29 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetDependentProjectsForProject = GetDependentProjectsForProject;
function GetDependentProjectsForProject(context, projectName = context.projectName, resolved = []) {
const { projectGraph } = context;
if (!projectGraph) {
throw new Error('The projectGraph is undefined. Ensure the projectGraph is passed into the executor context.');
}
if (!projectName) {
throw new Error('The projectName is undefined. Ensure the projectName is passed into the executor context.');
}
const directDependencies = projectGraph.dependencies[projectName];
if (!directDependencies) {
throw new Error(`The project "${projectName}" does not exists in the project graph.`);
}
// Get the list of project dependencies that are not already resolved
const projectDependencies = directDependencies
.map(dep => dep.target)
.filter(name => !name.startsWith('npm:'))
.filter(name => !resolved.includes(name));
// Add the current direct dependencies to the list of resolved dependencies
resolved = [...resolved, ...projectDependencies];
for (const project of projectDependencies) {
// Proceed recursively with the extended list of resolved dependencies
resolved = GetDependentProjectsForProject(context, project, resolved);
}
return resolved;
}
//# sourceMappingURL=get-dependent-projects-for-project.js.map