Add dependency kind information to `outdated --json` (#3714)
diff --git a/lib/src/command/outdated.dart b/lib/src/command/outdated.dart index e35fa9c..5bad745 100644 --- a/lib/src/command/outdated.dart +++ b/lib/src/command/outdated.dart
@@ -392,6 +392,15 @@ element.kind == _DependencyKind.devTransitive, ); } + + String kindString(_DependencyKind kind) { + return { + _DependencyKind.direct: 'direct', + _DependencyKind.dev: 'dev', + }[kind] ?? + 'transitive'; + } + log.message( JsonEncoder.withIndent(' ').convert( { @@ -399,6 +408,7 @@ ...(rows..sort((a, b) => a.name.compareTo(b.name))) .map((packageDetails) => { 'package': packageDetails.name, + 'kind': kindString(packageDetails.kind), 'isDiscontinued': packageDetails.isDiscontinued, 'current': markedRows[packageDetails]![0].toJson(), 'upgradable': markedRows[packageDetails]![1].toJson(),
diff --git a/test/testdata/goldens/outdated/outdated_test/Handles SDK dependencies.txt b/test/testdata/goldens/outdated/outdated_test/Handles SDK dependencies.txt index 5a9578a..f2f0a22 100644 --- a/test/testdata/goldens/outdated/outdated_test/Handles SDK dependencies.txt +++ b/test/testdata/goldens/outdated/outdated_test/Handles SDK dependencies.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.1.0" @@ -190,6 +191,7 @@ "packages": [ { "package": "flutter_test", + "kind": "dev", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -210,6 +212,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.1.0", @@ -239,6 +242,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.1.0"
diff --git a/test/testdata/goldens/outdated/outdated_test/circular dependency on root.txt b/test/testdata/goldens/outdated/outdated_test/circular dependency on root.txt index a277dff..af8ad58 100644 --- a/test/testdata/goldens/outdated/outdated_test/circular dependency on root.txt +++ b/test/testdata/goldens/outdated/outdated_test/circular dependency on root.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.2.3" @@ -159,6 +160,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.2.3"
diff --git a/test/testdata/goldens/outdated/outdated_test/latest version reported while locked on a prerelease can be a prerelease.txt b/test/testdata/goldens/outdated/outdated_test/latest version reported while locked on a prerelease can be a prerelease.txt index 0f108cc..657222a 100644 --- a/test/testdata/goldens/outdated/outdated_test/latest version reported while locked on a prerelease can be a prerelease.txt +++ b/test/testdata/goldens/outdated/outdated_test/latest version reported while locked on a prerelease can be a prerelease.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0-dev.1" @@ -22,6 +23,7 @@ }, { "package": "mop", + "kind": "direct", "isDiscontinued": false, "current": { "version": "0.10.0-dev" @@ -183,6 +185,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0-dev.1" @@ -199,6 +202,7 @@ }, { "package": "mop", + "kind": "direct", "isDiscontinued": false, "current": { "version": "0.10.0-dev"
diff --git a/test/testdata/goldens/outdated/outdated_test/mutually incompatible newer versions.txt b/test/testdata/goldens/outdated/outdated_test/mutually incompatible newer versions.txt index cba0e58..4e0b4ad 100644 --- a/test/testdata/goldens/outdated/outdated_test/mutually incompatible newer versions.txt +++ b/test/testdata/goldens/outdated/outdated_test/mutually incompatible newer versions.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -22,6 +23,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -175,6 +177,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -191,6 +194,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0"
diff --git a/test/testdata/goldens/outdated/outdated_test/newer versions available.txt b/test/testdata/goldens/outdated/outdated_test/newer versions available.txt index f3a984f..c5e17c1 100644 --- a/test/testdata/goldens/outdated/outdated_test/newer versions available.txt +++ b/test/testdata/goldens/outdated/outdated_test/newer versions available.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "builder", + "kind": "dev", "isDiscontinued": false, "current": { "version": "1.2.3" @@ -22,6 +23,7 @@ }, { "package": "dev_trans", + "kind": "transitive", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -36,6 +38,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.2.3" @@ -52,6 +55,7 @@ }, { "package": "transitive", + "kind": "transitive", "isDiscontinued": false, "current": { "version": "1.2.3" @@ -68,6 +72,7 @@ }, { "package": "transitive2", + "kind": "transitive", "isDiscontinued": false, "current": null, "upgradable": null, @@ -80,6 +85,7 @@ }, { "package": "transitive3", + "kind": "transitive", "isDiscontinued": false, "current": null, "upgradable": null, @@ -312,6 +318,7 @@ "packages": [ { "package": "transitive2", + "kind": "transitive", "isDiscontinued": false, "current": null, "upgradable": null, @@ -326,6 +333,7 @@ }, { "package": "transitive3", + "kind": "transitive", "isDiscontinued": false, "current": null, "upgradable": null, @@ -349,6 +357,7 @@ "packages": [ { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.2.3" @@ -365,6 +374,7 @@ }, { "package": "transitive", + "kind": "transitive", "isDiscontinued": false, "current": { "version": "1.2.3"
diff --git a/test/testdata/goldens/outdated/outdated_test/no lockfile.txt b/test/testdata/goldens/outdated/outdated_test/no lockfile.txt index defe659..f6b5f62 100644 --- a/test/testdata/goldens/outdated/outdated_test/no lockfile.txt +++ b/test/testdata/goldens/outdated/outdated_test/no lockfile.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": null, "upgradable": { @@ -20,6 +21,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": null, "upgradable": { @@ -217,6 +219,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": null, "upgradable": { @@ -234,6 +237,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": null, "upgradable": { @@ -260,6 +264,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": null, "upgradable": { @@ -274,6 +279,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": null, "upgradable": {
diff --git a/test/testdata/goldens/outdated/outdated_test/null safety compliance.txt b/test/testdata/goldens/outdated/outdated_test/null safety compliance.txt index 507d194..aadad45 100644 --- a/test/testdata/goldens/outdated/outdated_test/null safety compliance.txt +++ b/test/testdata/goldens/outdated/outdated_test/null safety compliance.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -22,6 +23,7 @@ }, { "package": "fails_analysis", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -38,6 +40,7 @@ }, { "package": "fails_analysis_in_dependency", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -54,6 +57,7 @@ }, { "package": "file_in_dependency_opts_out", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -70,6 +74,7 @@ }, { "package": "file_opts_out", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -86,6 +91,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -282,6 +288,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -302,6 +309,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -331,6 +339,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -347,6 +356,7 @@ }, { "package": "fails_analysis", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -363,6 +373,7 @@ }, { "package": "fails_analysis_in_dependency", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -379,6 +390,7 @@ }, { "package": "file_in_dependency_opts_out", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -395,6 +407,7 @@ }, { "package": "file_opts_out", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0" @@ -411,6 +424,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0"
diff --git a/test/testdata/goldens/outdated/outdated_test/null-safety already migrated.txt b/test/testdata/goldens/outdated/outdated_test/null-safety already migrated.txt index 5d3cf9b..f7116b2 100644 --- a/test/testdata/goldens/outdated/outdated_test/null-safety already migrated.txt +++ b/test/testdata/goldens/outdated/outdated_test/null-safety already migrated.txt
@@ -127,6 +127,7 @@ "packages": [ { "package": "devTransitive", + "kind": "transitive", "isDiscontinued": false, "current": { "version": "1.0.0",
diff --git a/test/testdata/goldens/outdated/outdated_test/null-safety no resolution.txt b/test/testdata/goldens/outdated/outdated_test/null-safety no resolution.txt index bc19cb6..ccaa3bd 100644 --- a/test/testdata/goldens/outdated/outdated_test/null-safety no resolution.txt +++ b/test/testdata/goldens/outdated/outdated_test/null-safety no resolution.txt
@@ -125,6 +125,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -142,6 +143,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0",
diff --git a/test/testdata/goldens/outdated/outdated_test/overridden dependencies - no resolution.txt b/test/testdata/goldens/outdated/outdated_test/overridden dependencies - no resolution.txt index c5825d7..78d9b51 100644 --- a/test/testdata/goldens/outdated/outdated_test/overridden dependencies - no resolution.txt +++ b/test/testdata/goldens/outdated/outdated_test/overridden dependencies - no resolution.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -25,6 +26,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -180,6 +182,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0", @@ -199,6 +202,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.0",
diff --git a/test/testdata/goldens/outdated/outdated_test/overridden dependencies.txt b/test/testdata/goldens/outdated/outdated_test/overridden dependencies.txt index 75437a3..f32a4b0 100644 --- a/test/testdata/goldens/outdated/outdated_test/overridden dependencies.txt +++ b/test/testdata/goldens/outdated/outdated_test/overridden dependencies.txt
@@ -6,6 +6,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.1", @@ -25,6 +26,7 @@ }, { "package": "baz", + "kind": "direct", "isDiscontinued": false, "current": { "version": "2.0.0", @@ -44,6 +46,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.1", @@ -210,6 +213,7 @@ "packages": [ { "package": "bar", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.1", @@ -229,6 +233,7 @@ }, { "package": "baz", + "kind": "direct", "isDiscontinued": false, "current": { "version": "2.0.0", @@ -248,6 +253,7 @@ }, { "package": "foo", + "kind": "direct", "isDiscontinued": false, "current": { "version": "1.0.1",