Don't show 'resolving' spinner for --json (#2421)

diff --git a/lib/src/command/outdated.dart b/lib/src/command/outdated.dart
index eaabc34..3ab8795 100644
--- a/lib/src/command/outdated.dart
+++ b/lib/src/command/outdated.dart
@@ -77,26 +77,28 @@
     List<PackageId> upgradablePackages;
     List<PackageId> resolvablePackages;
 
-    await log.warningsOnlyUnlessTerminal(
-      () => log.spinner(
-        'Resolving',
-        () async {
-          upgradablePackages = (await resolveVersions(
-            SolveType.UPGRADE,
-            cache,
-            Package.inMemory(upgradePubspec),
-          ))
-              .packages;
+    Future<void> resolve() async {
+      upgradablePackages = (await resolveVersions(
+        SolveType.UPGRADE,
+        cache,
+        Package.inMemory(upgradePubspec),
+      ))
+          .packages;
 
-          resolvablePackages = (await resolveVersions(
-            SolveType.UPGRADE,
-            cache,
-            Package.inMemory(resolvablePubspec),
-          ))
-              .packages;
-        },
-      ),
-    );
+      resolvablePackages = (await resolveVersions(
+        SolveType.UPGRADE,
+        cache,
+        Package.inMemory(resolvablePubspec),
+      ))
+          .packages;
+    }
+
+    final shouldShowSpinner = stdout.hasTerminal && !argResults['json'];
+    if (shouldShowSpinner) {
+      await log.spinner('Resolving', resolve);
+    } else {
+      await resolve();
+    }
 
     final currentPackages = entrypoint.lockFile.packages.values;
 
diff --git a/test/outdated/goldens/circular_dependencies.txt b/test/outdated/goldens/circular_dependencies.txt
index d8141b0..1571b06 100644
--- a/test/outdated/goldens/circular_dependencies.txt
+++ b/test/outdated/goldens/circular_dependencies.txt
@@ -1,5 +1,4 @@
 $ pub outdated --json
-Resolving...
 {
   "packages": [
     {
@@ -21,7 +20,6 @@
 }
 
 $ pub outdated --no-color
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           *1.2.3   1.3.0       1.3.0       1.3.0   
 
@@ -34,7 +32,6 @@
 To update it, use `pub upgrade`.
 
 $ pub outdated --no-color --mark=none
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           1.2.3    1.3.0       1.3.0       1.3.0   
 
@@ -47,7 +44,6 @@
 To update it, use `pub upgrade`.
 
 $ pub outdated --no-color --up-to-date
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           *1.2.3   1.3.0       1.3.0       1.3.0   
 
@@ -60,7 +56,6 @@
 To update it, use `pub upgrade`.
 
 $ pub outdated --no-color --pre-releases
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           *1.2.3   1.3.0       1.3.0       1.3.0   
 
@@ -73,7 +68,6 @@
 To update it, use `pub upgrade`.
 
 $ pub outdated --no-color --no-dev-dependencies
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           *1.2.3   1.3.0       1.3.0       1.3.0   
 
diff --git a/test/outdated/goldens/mutually_incompatible.txt b/test/outdated/goldens/mutually_incompatible.txt
index 5bc3119..1c93718 100644
--- a/test/outdated/goldens/mutually_incompatible.txt
+++ b/test/outdated/goldens/mutually_incompatible.txt
@@ -1,5 +1,4 @@
 $ pub outdated --json
-Resolving...
 {
   "packages": [
     {
@@ -36,7 +35,6 @@
 }
 
 $ pub outdated --no-color
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 bar           *1.0.0   *1.0.0      *1.0.0      2.0.0   
 foo           *1.0.0   *1.0.0      *1.0.0      2.0.0   
@@ -51,7 +49,6 @@
 Newer versions, while available, are not mutually compatible.
 
 $ pub outdated --no-color --mark=none
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 bar           1.0.0    1.0.0       1.0.0       2.0.0   
 foo           1.0.0    1.0.0       1.0.0       2.0.0   
@@ -66,7 +63,6 @@
 Newer versions, while available, are not mutually compatible.
 
 $ pub outdated --no-color --up-to-date
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 bar           *1.0.0   *1.0.0      *1.0.0      2.0.0   
 foo           *1.0.0   *1.0.0      *1.0.0      2.0.0   
@@ -81,7 +77,6 @@
 Newer versions, while available, are not mutually compatible.
 
 $ pub outdated --no-color --pre-releases
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 bar           *1.0.0   *1.0.0      *1.0.0      2.0.0   
 foo           *1.0.0   *1.0.0      *1.0.0      2.0.0   
@@ -96,7 +91,6 @@
 Newer versions, while available, are not mutually compatible.
 
 $ pub outdated --no-color --no-dev-dependencies
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 bar           *1.0.0   *1.0.0      *1.0.0      2.0.0   
 foo           *1.0.0   *1.0.0      *1.0.0      2.0.0   
diff --git a/test/outdated/goldens/newer_versions.txt b/test/outdated/goldens/newer_versions.txt
index 6a8b31d..b55af2d 100644
--- a/test/outdated/goldens/newer_versions.txt
+++ b/test/outdated/goldens/newer_versions.txt
@@ -1,5 +1,4 @@
 $ pub outdated --json
-Resolving...
 {
   "packages": [
     {
@@ -81,7 +80,6 @@
 }
 
 $ pub outdated --no-color
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           *1.2.3   *1.3.0      *2.0.0      3.0.0   
 
@@ -102,7 +100,6 @@
 To update these dependencies, edit pubspec.yaml.
 
 $ pub outdated --no-color --mark=none
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           1.2.3    1.3.0       2.0.0       3.0.0   
 
@@ -123,7 +120,6 @@
 To update these dependencies, edit pubspec.yaml.
 
 $ pub outdated --no-color --up-to-date
-Resolving...
 Dependencies   Current  Upgradable  Resolvable  Latest  
 bar            1.0.0    1.0.0       1.0.0       1.0.0   
 foo            *1.2.3   *1.3.0      *2.0.0      3.0.0   
@@ -146,7 +142,6 @@
 To update these dependencies, edit pubspec.yaml.
 
 $ pub outdated --no-color --pre-releases
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest       
 foo           *1.2.3   *1.3.0      *2.0.0      3.0.0        
 
@@ -167,7 +162,6 @@
 To update these dependencies, edit pubspec.yaml.
 
 $ pub outdated --no-color --no-dev-dependencies
-Resolving...
 Dependencies  Current  Upgradable  Resolvable  Latest  
 foo           *1.2.3   *1.3.0      3.0.0       3.0.0   
 
diff --git a/test/outdated/goldens/no_dependencies.txt b/test/outdated/goldens/no_dependencies.txt
index dd288c8..c27c6d5 100644
--- a/test/outdated/goldens/no_dependencies.txt
+++ b/test/outdated/goldens/no_dependencies.txt
@@ -1,26 +1,20 @@
 $ pub outdated --json
-Resolving...
 {
   "packages": []
 }
 
 $ pub outdated --no-color
-Resolving...
 Found no outdated packages.
 
 $ pub outdated --no-color --mark=none
-Resolving...
 Found no outdated packages.
 
 $ pub outdated --no-color --up-to-date
-Resolving...
 Found no outdated packages.
 
 $ pub outdated --no-color --pre-releases
-Resolving...
 Found no outdated packages.
 
 $ pub outdated --no-color --no-dev-dependencies
-Resolving...
 Found no outdated packages.