UNPKG

nx

Version:

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

35 lines (34 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = setProjectName; const to_project_name_1 = require("../../config/to-project-name"); const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available"); const json_1 = require("../../generators/utils/json"); const project_configuration_1 = require("../../generators/utils/project-configuration"); async function setProjectName(tree) { // We are explicitly looking for project.json files here, so getProjects is fine. const projects = (0, project_configuration_1.getProjects)(tree); for (const { root } of projects.values()) { const projectJsonPath = `${root}/project.json`; const packageJsonPath = `${root}/package.json`; // If either of these files doesn't exist, theres no behavioral difference if (!tree.exists(projectJsonPath) || !tree.exists(packageJsonPath)) { continue; } const projectJson = (0, json_1.readJson)(tree, projectJsonPath); // In Nx 19.1+, the way the project name is inferred is different. // For existing projects, if the name is not set, we can inline it // based on the existing logic. This makes sure folks aren't caught // off guard by the new behavior. if (!projectJson.name) { const siblingPackageJson = (0, json_1.readJson)(tree, packageJsonPath); const newName = siblingPackageJson.nx?.name ?? siblingPackageJson.name; const oldName = (0, to_project_name_1.toProjectName)(projectJsonPath); if (newName && oldName !== newName) { projectJson.name = oldName; (0, json_1.writeJson)(tree, projectJsonPath, projectJson); } } } await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree); }