cmd/tailscale/jsonoutput: hoist jsonoutput out of cli package (#20591)

Flatten the cmd/tailscale package hierarchy by extracting the
jsonoutput package out of the cmd/tailscale/cli package.

Updates #cleanup

Change-Id: I92f80db75b0328e82f1596b6a42f6f6ef5a94bfa

Signed-off-by: Simon Law <sfllaw@tailscale.com>
This commit is contained in:
Simon Law
2026-07-27 13:41:15 -07:00
committed by GitHub
parent 514e50bd1b
commit 358c975aea
21 changed files with 20 additions and 16 deletions
+2 -1
View File
@@ -15,7 +15,8 @@ import (
"github.com/peterbourgon/ff/v3/ffcli" "github.com/peterbourgon/ff/v3/ffcli"
"golang.org/x/net/dns/dnsmessage" "golang.org/x/net/dns/dnsmessage"
"tailscale.com/cmd/tailscale/cli/jsonoutput"
"tailscale.com/cmd/tailscale/jsonoutput"
) )
var dnsQueryArgs struct { var dnsQueryArgs struct {
+2 -1
View File
@@ -13,7 +13,8 @@ import (
"strings" "strings"
"github.com/peterbourgon/ff/v3/ffcli" "github.com/peterbourgon/ff/v3/ffcli"
"tailscale.com/cmd/tailscale/cli/jsonoutput"
"tailscale.com/cmd/tailscale/jsonoutput"
"tailscale.com/types/dnstype" "tailscale.com/types/dnstype"
) )
+1 -1
View File
@@ -18,7 +18,7 @@ import (
"github.com/go-json-experiment/json/jsontext" "github.com/go-json-experiment/json/jsontext"
"github.com/peterbourgon/ff/v3/ffcli" "github.com/peterbourgon/ff/v3/ffcli"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
"tailscale.com/cmd/tailscale/tsroutecheckjsonv0" "tailscale.com/cmd/tailscale/tsroutecheckjsonv0"
"tailscale.com/net/routecheck" "tailscale.com/net/routecheck"
"tailscale.com/tstime" "tailscale.com/tstime"
+2 -1
View File
@@ -22,7 +22,8 @@ import (
"github.com/mattn/go-isatty" "github.com/mattn/go-isatty"
"github.com/peterbourgon/ff/v3/ffcli" "github.com/peterbourgon/ff/v3/ffcli"
"tailscale.com/cmd/tailscale/cli/jsonoutput"
"tailscale.com/cmd/tailscale/jsonoutput"
"tailscale.com/ipn/ipnstate" "tailscale.com/ipn/ipnstate"
"tailscale.com/tka" "tailscale.com/tka"
"tailscale.com/tsconst" "tailscale.com/tsconst"
+2 -1
View File
@@ -10,7 +10,8 @@ import (
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"go4.org/mem" "go4.org/mem"
"tailscale.com/cmd/tailscale/cli/jsonoutput"
"tailscale.com/cmd/tailscale/jsonoutput"
"tailscale.com/ipn/ipnstate" "tailscale.com/ipn/ipnstate"
"tailscale.com/tailcfg" "tailscale.com/tailcfg"
"tailscale.com/tka" "tailscale.com/tka"
+1 -1
View File
@@ -186,7 +186,7 @@ tailscale.com/cmd/tailscale dependencies: (generated by github.com/tailscale/dep
tailscale.com/cmd/tailscale/cli from tailscale.com/cmd/tailscale tailscale.com/cmd/tailscale/cli from tailscale.com/cmd/tailscale
tailscale.com/cmd/tailscale/cli/ffcomplete from tailscale.com/cmd/tailscale/cli tailscale.com/cmd/tailscale/cli/ffcomplete from tailscale.com/cmd/tailscale/cli
tailscale.com/cmd/tailscale/cli/ffcomplete/internal from tailscale.com/cmd/tailscale/cli/ffcomplete tailscale.com/cmd/tailscale/cli/ffcomplete/internal from tailscale.com/cmd/tailscale/cli/ffcomplete
tailscale.com/cmd/tailscale/cli/jsonoutput from tailscale.com/cmd/tailscale/cli tailscale.com/cmd/tailscale/jsonoutput from tailscale.com/cmd/tailscale/cli
tailscale.com/cmd/tailscale/tsroutecheckjsonv0 from tailscale.com/cmd/tailscale/cli tailscale.com/cmd/tailscale/tsroutecheckjsonv0 from tailscale.com/cmd/tailscale/cli
tailscale.com/control/controlbase from tailscale.com/control/controlhttp+ tailscale.com/control/controlbase from tailscale.com/control/controlhttp+
tailscale.com/control/controlhttp from tailscale.com/control/ts2021 tailscale.com/control/controlhttp from tailscale.com/control/ts2021
@@ -10,7 +10,7 @@ import (
"os" "os"
"os/exec" "os/exec"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
func ExampleDNSQueryResult() { func ExampleDNSQueryResult() {
@@ -10,7 +10,7 @@ import (
"os" "os"
"os/exec" "os/exec"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
func ExampleDNSStatusResult() { func ExampleDNSStatusResult() {
@@ -7,7 +7,7 @@ import (
"flag" "flag"
"fmt" "fmt"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
func ExampleFormat_JSONBool() { func ExampleFormat_JSONBool() {
@@ -7,7 +7,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
type Hello struct { type Hello struct {
@@ -7,7 +7,7 @@ import (
"flag" "flag"
"fmt" "fmt"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
var args struct { var args struct {
@@ -10,7 +10,7 @@ import (
"strings" "strings"
"testing" "testing"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
func TestFormat(t *testing.T) { func TestFormat(t *testing.T) {
@@ -11,7 +11,7 @@ import (
gcmp "github.com/google/go-cmp/cmp" gcmp "github.com/google/go-cmp/cmp"
"github.com/kballard/go-shellquote" "github.com/kballard/go-shellquote"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
) )
func TestSchemaVersion(t *testing.T) { func TestSchemaVersion(t *testing.T) {
+1 -1
View File
@@ -55,7 +55,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
tailscale.com/cmd/tailscale/cli from tailscale.com/cmd/tailscaled tailscale.com/cmd/tailscale/cli from tailscale.com/cmd/tailscaled
tailscale.com/cmd/tailscale/cli/ffcomplete from tailscale.com/cmd/tailscale/cli tailscale.com/cmd/tailscale/cli/ffcomplete from tailscale.com/cmd/tailscale/cli
tailscale.com/cmd/tailscale/cli/ffcomplete/internal from tailscale.com/cmd/tailscale/cli/ffcomplete tailscale.com/cmd/tailscale/cli/ffcomplete/internal from tailscale.com/cmd/tailscale/cli/ffcomplete
tailscale.com/cmd/tailscale/cli/jsonoutput from tailscale.com/cmd/tailscale/cli tailscale.com/cmd/tailscale/jsonoutput from tailscale.com/cmd/tailscale/cli
tailscale.com/cmd/tailscaled/childproc from tailscale.com/cmd/tailscaled tailscale.com/cmd/tailscaled/childproc from tailscale.com/cmd/tailscaled
tailscale.com/control/controlbase from tailscale.com/control/controlhttp+ tailscale.com/control/controlbase from tailscale.com/control/controlhttp+
tailscale.com/control/controlclient from tailscale.com/cmd/tailscaled+ tailscale.com/control/controlclient from tailscale.com/cmd/tailscaled+
+1 -1
View File
@@ -267,7 +267,7 @@ tailscale.com/cmd/tailscaled dependencies: (generated by github.com/tailscale/de
tailscale.com/client/web from tailscale.com/ipn/ipnlocal tailscale.com/client/web from tailscale.com/ipn/ipnlocal
tailscale.com/clientupdate from tailscale.com/feature/clientupdate tailscale.com/clientupdate from tailscale.com/feature/clientupdate
LW tailscale.com/clientupdate/distsign from tailscale.com/clientupdate LW tailscale.com/clientupdate/distsign from tailscale.com/clientupdate
tailscale.com/cmd/tailscale/cli/jsonoutput from tailscale.com/feature/tailnetlock tailscale.com/cmd/tailscale/jsonoutput from tailscale.com/feature/tailnetlock
tailscale.com/cmd/tailscaled/childproc from tailscale.com/cmd/tailscaled+ tailscale.com/cmd/tailscaled/childproc from tailscale.com/cmd/tailscaled+
tailscale.com/cmd/tailscaled/tailscaledhooks from tailscale.com/cmd/tailscaled+ tailscale.com/cmd/tailscaled/tailscaledhooks from tailscale.com/cmd/tailscaled+
tailscale.com/control/controlbase from tailscale.com/control/controlhttp+ tailscale.com/control/controlbase from tailscale.com/control/controlhttp+
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"tailscale.com/cmd/tailscale/cli/jsonoutput" "tailscale.com/cmd/tailscale/jsonoutput"
"tailscale.com/feature" "tailscale.com/feature"
"tailscale.com/feature/buildfeatures" "tailscale.com/feature/buildfeatures"
"tailscale.com/ipn/ipnlocal" "tailscale.com/ipn/ipnlocal"