fromConfig static method

Future<MelosWorkspace> fromConfig(
  1. MelosWorkspaceConfig workspaceConfig, {
  2. GlobalOptions? global,
  3. PackageFilter? filter,
  4. required MelosLogger logger,
})

Build a MelosWorkspace from a workspace configuration.

Implementation

static Future<MelosWorkspace> fromConfig(
  MelosWorkspaceConfig workspaceConfig, {
  GlobalOptions? global,
  PackageFilter? filter,
  required MelosLogger logger,
}) async {
  final allPackages = await PackageMap.resolvePackages(
    workspacePath: workspaceConfig.path,
    packages: workspaceConfig.packages,
    ignore: workspaceConfig.ignore,
    logger: logger,
  );

  final filteredPackages = await allPackages.applyFilter(filter);

  return MelosWorkspace(
    name: workspaceConfig.name,
    path: workspaceConfig.path,
    config: workspaceConfig,
    allPackages: allPackages,
    logger: logger,
    filteredPackages: filteredPackages,
    sdkPath: resolveSdkPath(
      configSdkPath: workspaceConfig.sdkPath,
      envSdkPath: currentPlatform.environment[utils.envKeyMelosSdkPath],
      commandSdkPath: global?.sdkPath,
      workspacePath: workspaceConfig.path,
    ),
  );
}