Fix output of transitive dev_dependencies (#2427)
In the case we have a transitive dev_dependency in current, and a newer
exists it will have a 'latest' entry.
diff --git a/lib/src/command/outdated.dart b/lib/src/command/outdated.dart
index afa44b6..99ba8f1 100644
--- a/lib/src/command/outdated.dart
+++ b/lib/src/command/outdated.dart
@@ -376,26 +376,28 @@
.toList(),
[if (directRows.isEmpty) _raw('all up-to-date')],
...await Future.wait(directRows.map(marker)),
- if (includeDevDependencies)
+ if (includeDevDependencies) ...[
[
devRows.isEmpty
? _raw('\ndev_dependencies: all up-to-date')
: _format('\ndev_dependencies', log.bold),
],
- ...await Future.wait(devRows.map(marker)),
+ ...await Future.wait(devRows.map(marker)),
+ ],
[
transitiveRows.isEmpty
? _raw('\ntransitive dependencies: all up-to-date')
: _format('\ntransitive dependencies', log.bold)
],
...await Future.wait(transitiveRows.map(marker)),
- if (includeDevDependencies)
+ if (includeDevDependencies) ...[
[
devTransitiveRows.isEmpty
? _raw('\ntransitive dev_dependencies: all up-to-date')
: _format('\ntransitive dev_dependencies', log.bold)
],
- ...await Future.wait(devTransitiveRows.map(marker)),
+ ...await Future.wait(devTransitiveRows.map(marker)),
+ ],
];
final columnWidths = <int, int>{};
diff --git a/test/outdated/goldens/newer_versions.txt b/test/outdated/goldens/newer_versions.txt
index 8f43ef0..32216b7 100644
--- a/test/outdated/goldens/newer_versions.txt
+++ b/test/outdated/goldens/newer_versions.txt
@@ -58,6 +58,19 @@
}
},
{
+ "package": "dev_trans",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": null,
+ "resolvable": {
+ "version": "1.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
"package": "transitive3",
"current": null,
"upgradable": null,
@@ -83,12 +96,13 @@
transitive2 - - 1.0.0 1.0.0
transitive dev_dependencies
+dev_trans *1.0.0 - *1.0.0 2.0.0
transitive3 - - 1.0.0 1.0.0
3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.
-2 dependencies are constrained to versions that are older than a resolvable version.
+3 dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.
$ pub outdated --no-color --mark=none
@@ -103,12 +117,13 @@
transitive2 - - 1.0.0 1.0.0
transitive dev_dependencies
+dev_trans 1.0.0 - 1.0.0 2.0.0
transitive3 - - 1.0.0 1.0.0
3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.
-2 dependencies are constrained to versions that are older than a resolvable version.
+3 dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.
$ pub outdated --no-color --up-to-date
@@ -125,12 +140,13 @@
transitive2 - - 1.0.0 1.0.0
transitive dev_dependencies
+dev_trans *1.0.0 - *1.0.0 2.0.0
transitive3 - - 1.0.0 1.0.0
3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.
-2 dependencies are constrained to versions that are older than a resolvable version.
+3 dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.
$ pub outdated --no-color --pre-releases
@@ -145,12 +161,13 @@
transitive2 - - 1.0.0 1.0.0
transitive dev_dependencies
+dev_trans *1.0.0 - *1.0.0 2.0.0
transitive3 - - 1.0.0 1.0.0
3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.
-2 dependencies are constrained to versions that are older than a resolvable version.
+3 dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.
$ pub outdated --no-color --no-dev-dependencies
@@ -178,11 +195,12 @@
transitive2 - - 1.0.0 1.0.0
transitive dev_dependencies
+dev_trans *1.0.0 - *1.0.0 2.0.0
transitive3 - - 1.0.0 1.0.0
3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.
-2 dependencies are constrained to versions that are older than a resolvable version.
+3 dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.
diff --git a/test/outdated/outdated_test.dart b/test/outdated/outdated_test.dart
index 55e9692..1d3f222 100644
--- a/test/outdated/outdated_test.dart
+++ b/test/outdated/outdated_test.dart
@@ -46,8 +46,12 @@
await servePackages((builder) => builder
..serve('foo', '1.2.3', deps: {'transitive': '^1.0.0'})
..serve('bar', '1.0.0')
- ..serve('builder', '1.2.3', deps: {'transitive': '^1.0.0'})
- ..serve('transitive', '1.2.3'));
+ ..serve('builder', '1.2.3', deps: {
+ 'transitive': '^1.0.0',
+ 'dev_trans': '^1.0.0',
+ })
+ ..serve('transitive', '1.2.3')
+ ..serve('dev_trans', '1.0.0'));
await d.dir('local_package', [
d.libDir('local_package'),
@@ -72,13 +76,17 @@
deps: {'transitive': '>=1.0.0<3.0.0', 'transitive2': '^1.0.0'})
..serve('foo', '3.0.0', deps: {'transitive': '^2.0.0'})
..serve('builder', '1.3.0', deps: {'transitive': '^1.0.0'})
- ..serve('builder', '2.0.0',
- deps: {'transitive': '^1.0.0', 'transitive3': '^1.0.0'})
+ ..serve('builder', '2.0.0', deps: {
+ 'transitive': '^1.0.0',
+ 'transitive3': '^1.0.0',
+ 'dev_trans': '^1.0.0'
+ })
..serve('builder', '3.0.0-alpha', deps: {'transitive': '^1.0.0'})
..serve('transitive', '1.3.0')
..serve('transitive', '2.0.0')
..serve('transitive2', '1.0.0')
- ..serve('transitive3', '1.0.0'));
+ ..serve('transitive3', '1.0.0')
+ ..serve('dev_trans', '2.0.0'));
await variations('newer_versions');
});