Don't show entries for dev-dependencies in outdated --json --no-dev-dependencies (#2591)
diff --git a/lib/src/command/outdated.dart b/lib/src/command/outdated.dart
index f04c11f..9b33f60 100644
--- a/lib/src/command/outdated.dart
+++ b/lib/src/command/outdated.dart
@@ -206,7 +206,12 @@
}[argResults['mode']];
final showAll = argResults['show-all'] || argResults['up-to-date'];
if (argResults['json']) {
- await _outputJson(rows, mode, showAll: showAll);
+ await _outputJson(
+ rows,
+ mode,
+ showAll: showAll,
+ includeDevDependencies: includeDevDependencies,
+ );
} else {
if (argResults.wasParsed('color')) {
forceColors = argResults['color'];
@@ -386,12 +391,20 @@
List<_PackageDetails> rows,
Mode mode, {
@required bool showAll,
+ @required bool includeDevDependencies,
}) async {
final markedRows =
Map.fromIterables(rows, await mode.markVersionDetails(rows));
if (!showAll) {
rows.removeWhere((row) => markedRows[row][0].asDesired);
}
+ if (!includeDevDependencies) {
+ rows.removeWhere(
+ (element) =>
+ element.kind == _DependencyKind.dev ||
+ element.kind == _DependencyKind.devTransitive,
+ );
+ }
log.message(
JsonEncoder.withIndent(' ').convert(
{
diff --git a/pubspec.yaml b/pubspec.yaml
index 42bbd64..fcf8913 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -34,3 +34,4 @@
test: ^1.3.0
test_descriptor: ^1.0.0
test_process: ^1.0.0
+ protoc_plugin: <19.0.0
diff --git a/test/outdated/goldens/circular_dependencies.txt b/test/outdated/goldens/circular_dependencies.txt
index 6bbc4e7..49bb7a9 100644
--- a/test/outdated/goldens/circular_dependencies.txt
+++ b/test/outdated/goldens/circular_dependencies.txt
@@ -121,3 +121,24 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.2.3"
+ },
+ "upgradable": {
+ "version": "1.3.0"
+ },
+ "resolvable": {
+ "version": "1.3.0"
+ },
+ "latest": {
+ "version": "1.3.0"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/dependency_overrides.txt b/test/outdated/goldens/dependency_overrides.txt
index cd91a41..32d3234 100644
--- a/test/outdated/goldens/dependency_overrides.txt
+++ b/test/outdated/goldens/dependency_overrides.txt
@@ -222,3 +222,63 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "bar",
+ "current": {
+ "version": "1.0.1",
+ "overridden": true
+ },
+ "upgradable": {
+ "version": "1.0.1",
+ "overridden": true
+ },
+ "resolvable": {
+ "version": "1.0.1",
+ "overridden": true
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "baz",
+ "current": {
+ "version": "2.0.0",
+ "overridden": true
+ },
+ "upgradable": {
+ "version": "2.0.0",
+ "overridden": true
+ },
+ "resolvable": {
+ "version": "2.0.0",
+ "overridden": true
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.0.1",
+ "overridden": true
+ },
+ "upgradable": {
+ "version": "1.0.1",
+ "overridden": true
+ },
+ "resolvable": {
+ "version": "1.0.1",
+ "overridden": true
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/dependency_overrides_no_solution.txt b/test/outdated/goldens/dependency_overrides_no_solution.txt
index f8ec65a..18afa68 100644
--- a/test/outdated/goldens/dependency_overrides_no_solution.txt
+++ b/test/outdated/goldens/dependency_overrides_no_solution.txt
@@ -173,3 +173,45 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "bar",
+ "current": {
+ "version": "1.0.0",
+ "overridden": true
+ },
+ "upgradable": {
+ "version": "1.0.0",
+ "overridden": true
+ },
+ "resolvable": {
+ "version": "1.0.0",
+ "overridden": true
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.0.0",
+ "overridden": true
+ },
+ "upgradable": {
+ "version": "1.0.0",
+ "overridden": true
+ },
+ "resolvable": {
+ "version": "1.0.0",
+ "overridden": true
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/mutually_incompatible.txt b/test/outdated/goldens/mutually_incompatible.txt
index 13febb5..ba1e041 100644
--- a/test/outdated/goldens/mutually_incompatible.txt
+++ b/test/outdated/goldens/mutually_incompatible.txt
@@ -161,3 +161,39 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "bar",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "1.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "1.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/newer_versions.txt b/test/outdated/goldens/newer_versions.txt
index f69260f..65c2ea9 100644
--- a/test/outdated/goldens/newer_versions.txt
+++ b/test/outdated/goldens/newer_versions.txt
@@ -352,3 +352,39 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.2.3"
+ },
+ "upgradable": {
+ "version": "1.3.0"
+ },
+ "resolvable": {
+ "version": "3.0.0"
+ },
+ "latest": {
+ "version": "3.0.0"
+ }
+ },
+ {
+ "package": "transitive",
+ "current": {
+ "version": "1.2.3"
+ },
+ "upgradable": {
+ "version": "2.0.0"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/no_dependencies.txt b/test/outdated/goldens/no_dependencies.txt
index ccb0c3b..a01d0c1 100644
--- a/test/outdated/goldens/no_dependencies.txt
+++ b/test/outdated/goldens/no_dependencies.txt
@@ -29,3 +29,8 @@
"packages": []
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": []
+}
+
diff --git a/test/outdated/goldens/no_lockfile.txt b/test/outdated/goldens/no_lockfile.txt
index b49c5b1..187ae32 100644
--- a/test/outdated/goldens/no_lockfile.txt
+++ b/test/outdated/goldens/no_lockfile.txt
@@ -169,3 +169,35 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "bar",
+ "current": null,
+ "upgradable": {
+ "version": "1.2.3"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "foo",
+ "current": null,
+ "upgradable": {
+ "version": "1.2.3"
+ },
+ "resolvable": {
+ "version": "1.2.3"
+ },
+ "latest": {
+ "version": "1.2.3"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/null_safety.txt b/test/outdated/goldens/null_safety.txt
index 8f9a7ff..542c598 100644
--- a/test/outdated/goldens/null_safety.txt
+++ b/test/outdated/goldens/null_safety.txt
@@ -321,3 +321,99 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "bar",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "1.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "fails_analysis",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "fails_analysis_in_dependency",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "file_in_dependency_opts_out",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "file_opts_out",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ },
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.0.0"
+ },
+ "upgradable": {
+ "version": "1.0.0"
+ },
+ "resolvable": {
+ "version": "2.0.0"
+ },
+ "latest": {
+ "version": "2.0.0"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/goldens/prereleases.txt b/test/outdated/goldens/prereleases.txt
index e56cea0..8250fed 100644
--- a/test/outdated/goldens/prereleases.txt
+++ b/test/outdated/goldens/prereleases.txt
@@ -183,3 +183,39 @@
]
}
+$ pub outdated --json --no-dev-dependencies
+{
+ "packages": [
+ {
+ "package": "foo",
+ "current": {
+ "version": "1.0.0-dev.1"
+ },
+ "upgradable": {
+ "version": "1.0.0-dev.1"
+ },
+ "resolvable": {
+ "version": "0.9.0"
+ },
+ "latest": {
+ "version": "0.9.0"
+ }
+ },
+ {
+ "package": "mop",
+ "current": {
+ "version": "0.10.0-dev"
+ },
+ "upgradable": {
+ "version": "0.10.0-dev"
+ },
+ "resolvable": {
+ "version": "0.10.0"
+ },
+ "latest": {
+ "version": "1.0.0-dev"
+ }
+ }
+ ]
+}
+
diff --git a/test/outdated/outdated_test.dart b/test/outdated/outdated_test.dart
index 3795ad5..8c762d5 100644
--- a/test/outdated/outdated_test.dart
+++ b/test/outdated/outdated_test.dart
@@ -42,6 +42,7 @@
['--no-color', '--no-dependency-overrides'],
['--no-color', '--mode=null-safety'],
['--json', '--mode=null-safety'],
+ ['--json', '--no-dev-dependencies'],
]) {
await runPubOutdated(args, buffer, environment: environment);
}