From 8c8ec659a9138805fb79ff0a09c5133eff73a7f9 Mon Sep 17 00:00:00 2001 From: Spencer Jones Date: Sat, 25 Jan 2025 18:41:34 -0700 Subject: [PATCH] Add build flag for production UI dist output embed. --- cmd/server/fs_dev.go | 11 +++++------ cmd/server/fs_prod.go | 20 ++++++-------------- cmd/server/main.go | 5 ++++- ui/embed.go | 19 +++++++++++++++++++ 4 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 ui/embed.go diff --git a/cmd/server/fs_dev.go b/cmd/server/fs_dev.go index fd788cd..a60aeb9 100644 --- a/cmd/server/fs_dev.go +++ b/cmd/server/fs_dev.go @@ -1,13 +1,12 @@ -// +build !prod +//go:build !prod -package server +package main import ( - "io/fs" - "os" + "io/fs" + "os" ) func getUIAssets() fs.FS { - return os.DirFS("ui/dist") + return os.DirFS("ui/dist") } - diff --git a/cmd/server/fs_prod.go b/cmd/server/fs_prod.go index b1de633..cde8a54 100644 --- a/cmd/server/fs_prod.go +++ b/cmd/server/fs_prod.go @@ -1,20 +1,12 @@ -// +build prod +//go:build prod -package server +package main import ( - "embed" - "io/fs" + "github.com/smjklake/glancr/ui" + "io/fs" ) -//go:embed frontend/dist -var embedFrontend embed.FS - -func getFrontendAssets() fs.FS { - f, err := fs.Sub(embedFrontend, "ui/dist") - if err != nil { - panic(err) - } - - return f +func getUIAssets() fs.FS { + return ui.GetUIFS() } diff --git a/cmd/server/main.go b/cmd/server/main.go index ebc7d84..d4ab474 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -1,5 +1,8 @@ -package server +package main + +import "fmt" func main() { frontend := getUIAssets() + fmt.Println(frontend) } diff --git a/ui/embed.go b/ui/embed.go new file mode 100644 index 0000000..0106bcb --- /dev/null +++ b/ui/embed.go @@ -0,0 +1,19 @@ +package ui + +import ( + "embed" + "io/fs" +) + +//go:embed dist +var embedUI embed.FS + +/// GetUIFS returns an embed FS for the UI components in the dist dir. +func GetUIFS() fs.FS { + f, err := fs.Sub(embedUI, "build") + if err != nil { + panic(err) + } + + return f +}