createWorkspace method
Future<MelosWorkspace>
createWorkspace({
- GlobalOptions? global,
- PackageFilters? packageFilters,
inherited
Implementation
Future<MelosWorkspace> createWorkspace({
GlobalOptions? global,
PackageFilters? packageFilters,
}) async {
var filterWithEnv = packageFilters;
if (currentPlatform.environment
.containsKey(EnvironmentVariableKey.melosPackages)) {
// MELOS_PACKAGES environment variable is a comma delimited list of
// package names - used to scope the `packageFilters` if it is present.
// This can be user defined or can come from package selection in
// `melos run`.
final filteredPackagesScopeFromEnv =
currentPlatform.environment[EnvironmentVariableKey.melosPackages]!
.split(',')
.map(
(e) => createGlob(e, currentDirectoryPath: config.path),
)
.toList();
filterWithEnv = packageFilters == null
? PackageFilters(scope: filteredPackagesScopeFromEnv)
: packageFilters.copyWith(scope: filteredPackagesScopeFromEnv);
}
return (await MelosWorkspace.fromConfig(
config,
global: global,
packageFilters: filterWithEnv,
logger: logger,
))
..validate();
}