Print a working hostname when running ts_devserver on crostini
Fixes https://github.com/angular/angular-bazel-example/issues/287
PiperOrigin-RevId: 240588105
diff --git a/devserver/main.go b/devserver/main.go
index 7b0a2a0..a41b899 100644
--- a/devserver/main.go
+++ b/devserver/main.go
@@ -16,7 +16,7 @@
)
var (
- port = flag.Int("port", 5432, "server port to listen on")
+ port = flag.Int("port", 5432, "server port to listen on")
// The "base" CLI flag is only kept because within Google3 because removing would be a breaking change due to
// ConcatJS and "devserver/devserver.go" still respecting the specified base flag.
base = flag.String("base", "", "server base (required, runfiles of the binary)")
@@ -113,6 +113,12 @@
if err != nil {
h = "localhost"
}
+ // Detect if we are running in a linux container inside ChromeOS
+ // If so, we assume you want to use the native browser (outside the container)
+ // so you'll need to modify the hostname to access the server
+ if _, err := os.Stat("/etc/apt/sources.list.d/cros.list"); err == nil {
+ h = h + ".linux.test"
+ }
fmt.Printf("Server listening on http://%s:%d/\n", h, *port)
fmt.Fprintln(os.Stderr, http.ListenAndServe(fmt.Sprintf(":%d", *port), nil).Error())