From 065de286fbc8793c686a4c73c81012c8842fe25e Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Sat, 14 Feb 2026 17:13:49 +0000 Subject: [PATCH] refactor: standardize Go layout with internal terminalstate Audit findings: cmd/webterm and webterm package were acceptable, but terminalstate was an internal implementation detail exposed as a public package. Changes: - Move go/terminalstate -> go/internal/terminalstate - Update imports to github.com/rcarmo/webterm-go-port/internal/terminalstate - Keep package name terminalstate unchanged Resulting package layout: - github.com/rcarmo/webterm-go-port/cmd/webterm - github.com/rcarmo/webterm-go-port/internal/terminalstate - github.com/rcarmo/webterm-go-port/webterm Validation: - go test ./... - go test -race ./... - go coverage check remains 80.9% - make check Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- go/{ => internal}/terminalstate/tracker.go | 0 go/{ => internal}/terminalstate/tracker_test.go | 0 go/webterm/coverage_boost_test.go | 2 +- go/webterm/docker_exec_session.go | 2 +- go/webterm/session.go | 2 +- go/webterm/svg_exporter.go | 2 +- go/webterm/svg_exporter_test.go | 2 +- go/webterm/terminal_session.go | 2 +- go/webterm/test_helpers_test.go | 2 +- 9 files changed, 7 insertions(+), 7 deletions(-) rename go/{ => internal}/terminalstate/tracker.go (100%) rename go/{ => internal}/terminalstate/tracker_test.go (100%) diff --git a/go/terminalstate/tracker.go b/go/internal/terminalstate/tracker.go similarity index 100% rename from go/terminalstate/tracker.go rename to go/internal/terminalstate/tracker.go diff --git a/go/terminalstate/tracker_test.go b/go/internal/terminalstate/tracker_test.go similarity index 100% rename from go/terminalstate/tracker_test.go rename to go/internal/terminalstate/tracker_test.go diff --git a/go/webterm/coverage_boost_test.go b/go/webterm/coverage_boost_test.go index b783918..f66636c 100644 --- a/go/webterm/coverage_boost_test.go +++ b/go/webterm/coverage_boost_test.go @@ -20,7 +20,7 @@ import ( "testing" "time" - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) func newUnixHTTPTestServer(t *testing.T, handler http.Handler) (string, func()) { diff --git a/go/webterm/docker_exec_session.go b/go/webterm/docker_exec_session.go index 3b34a56..45abc51 100644 --- a/go/webterm/docker_exec_session.go +++ b/go/webterm/docker_exec_session.go @@ -13,7 +13,7 @@ import ( "strings" "sync" - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) type DockerExecSpec struct { diff --git a/go/webterm/session.go b/go/webterm/session.go index ee232ae..b34b3c1 100644 --- a/go/webterm/session.go +++ b/go/webterm/session.go @@ -1,7 +1,7 @@ package webterm import ( - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) type SessionConnector interface { diff --git a/go/webterm/svg_exporter.go b/go/webterm/svg_exporter.go index 7947061..c31e974 100644 --- a/go/webterm/svg_exporter.go +++ b/go/webterm/svg_exporter.go @@ -5,7 +5,7 @@ import ( "html" "strings" - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) var ansiColors = map[string]string{ diff --git a/go/webterm/svg_exporter_test.go b/go/webterm/svg_exporter_test.go index 2a68038..d856734 100644 --- a/go/webterm/svg_exporter_test.go +++ b/go/webterm/svg_exporter_test.go @@ -4,7 +4,7 @@ import ( "strings" "testing" - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) func TestRenderTerminalSVG(t *testing.T) { diff --git a/go/webterm/terminal_session.go b/go/webterm/terminal_session.go index 49d9432..b00469f 100644 --- a/go/webterm/terminal_session.go +++ b/go/webterm/terminal_session.go @@ -10,7 +10,7 @@ import ( "github.com/creack/pty" "github.com/google/shlex" - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) type TerminalSession struct { diff --git a/go/webterm/test_helpers_test.go b/go/webterm/test_helpers_test.go index 0d78499..a8a0bfa 100644 --- a/go/webterm/test_helpers_test.go +++ b/go/webterm/test_helpers_test.go @@ -3,7 +3,7 @@ package webterm import ( "sync" - "github.com/rcarmo/webterm-go-port/terminalstate" + "github.com/rcarmo/webterm-go-port/internal/terminalstate" ) type fakeSession struct {