custom static method

Future<Library> custom({
  1. required String packageName,
  2. required String path,
  3. required String packageRoot,
})

Resolve a Library defined in a separate package, obtaining packageConfig from that package's package_config.json.

Implementation

static Future<Library> custom({
  required String packageName,
  required String path,
  required String packageRoot,
}) async {
  final packageConfigFile =
      File(_path.join(packageRoot, '.dart_tool', 'package_config.json'));
  final packageConfig = PackageConfig.parseString(
    packageConfigFile.readAsStringSync(),
    packageConfigFile.absolute.uri,
  );

  return Library(
    packageName: packageName,
    path: _path.normalize(path).replaceAll(r'\', '/'),
    packageConfig: packageConfig,
  );
}