pub fn read_or_detect_package_manager(
        package_json: &PackageJson,
        repo_root: &AbsoluteSystemPath,
    ) -> Result<Self, Error> {
        Self::get_package_manager(repo_root, package_json)
            .or_else(|_| Self::detect_package_manager(repo_root))
    }
Try to extract package manager from package.json, otherwise detect based
on configuration files and binaries installed on the system
crates/turborepo-repository/src/package_manager/mod.rs