blob: 12e741b10d21d3f2a07d15984eaeab2f59782b05 [file]
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:io';
import 'package:pubspec_parse/pubspec_parse.dart';
void main() {
const yaml = '''
name: my_package
version: 1.2.3
environment:
sdk: ^3.8.0
dependencies:
collection: ^1.19.0
path:
path: ../path
''';
final pubspec = Pubspec.parse(yaml);
print(pubspec.name); // my_package
print(pubspec.version); // 1.2.3
final collection = pubspec.dependencies['collection'];
if (collection is HostedDependency) {
print(collection.version); // ^1.19.0
}
final path = pubspec.dependencies['path'];
if (path is PathDependency) {
print(path.path); // ../path
}
final fromFile = File('pubspec.yaml').readAsStringSync();
final parsedFile = Pubspec.parse(
fromFile,
sourceUrl: Uri.file('pubspec.yaml'),
);
print('${parsedFile.name} ${parsedFile.version}');
}