pubspec_lock_copy 3.0.2  pubspec_lock_copy: ^3.0.2 copied to clipboard
pubspec_lock_copy: ^3.0.2 copied to clipboard
Dart library to access and manipulate content of pubpec.lock files
example/main.dart
import 'dart:io';
import 'package:pubspec_lock_copy/pubspec_lock_copy.dart';
// ignore_for_file: avoid_print
void main() {
  final file = File('pubspec.lock');
  final pubspecLock = file.readAsStringSync().loadPubspecLockFromYaml();
  print('Loaded pubspec.lock with '
      '${pubspecLock.packages.length} package dependencies:');
  final depsNotHostedByPubDev = [
    for (final package in pubspecLock.packages)
      if (!isHostedByPubDev(package)) package
  ];
  if (depsNotHostedByPubDev.isEmpty) {
    print('SUCCESS: All dependencies are hosted by pub.flutter-io.cn');
  } else {
    print('WARNING: Dependencies hosted outside of pub.flutter-io.cn:');
    depsNotHostedByPubDev.forEach(print);
  }
}
bool isHostedByPubDev(PackageDependency package) => package.iswitcho(
      hosted: (package) => package.url == 'https://pub.flutter-io.cn',
      otherwise: () => false,
    );