in packages/just-scripts-utils/src/rush.ts [36:61]
export function rushAddPackage(packageName: string, rootPath: string): void {
const rushJsonPath = path.join(rootPath, 'rush.json');
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const oldContents = _justReadRushJson(rushJsonPath)!;
const rushJson = _parseRushJson(oldContents);
if (!rushJson) {
logger.error(`Couldn't read rush.json under ${rootPath}. Not adding package.`);
return;
}
if (!rushJson.projects) {
rushJson.projects = [];
}
rushJson.projects.push({
packageName,
projectFolder: `packages/${packageName}`,
});
try {
const newContents = jju.update(oldContents, rushJson, { mode: 'cjson', indent: 2 });
fs.writeFileSync(rushJsonPath, newContents);
} catch (ex) {
logger.error(`Couldn't update rush.json under ${rootPath}. Not adding package.`);
logger.error('Error:', ex);
}
}