Skip to content

Commit

Permalink
Allow for no root package.json
Browse files Browse the repository at this point in the history
  • Loading branch information
NicholasLYang committed Apr 28, 2023
1 parent 7586b64 commit 567bd41
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
7 changes: 5 additions & 2 deletions crates/turborepo-lib/src/execution_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,11 @@ impl<'a> TryFrom<&'a CommandBase> for ExecutionState<'a> {
fn try_from(base: &'a CommandBase) -> Result<Self, Self::Error> {
let root_package_json = PackageJson::load(&AbsoluteSystemPathBuf::new(
base.repo_root.join("package.json"),
)?)?;
let package_manager = PackageManager::get_package_manager(base, &root_package_json)?;
)?)
.ok();

let package_manager =
PackageManager::get_package_manager(base, root_package_json.as_ref())?;

let repo_config = base.repo_config()?;
let user_config = base.user_config()?;
Expand Down
8 changes: 5 additions & 3 deletions crates/turborepo-lib/src/package_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,13 @@ impl PackageManager {
}))
}

pub fn get_package_manager(base: &CommandBase, pkg: &PackageJson) -> Result<Self> {
pub fn get_package_manager(base: &CommandBase, pkg: Option<&PackageJson>) -> Result<Self> {
// We don't surface errors for `read_package_manager` as we can fall back to
// `detect_package_manager`
if let Ok(Some(package_manager)) = Self::read_package_manager(pkg) {
return Ok(package_manager);
if let Some(package_json) = pkg {
if let Ok(Some(package_manager)) = Self::read_package_manager(package_json) {
return Ok(package_manager);
}
}

Self::detect_package_manager(base)
Expand Down

0 comments on commit 567bd41

Please sign in to comment.