From 6cbe7e6e5620b69bb73f75d4d599ba2bfd18ff56 Mon Sep 17 00:00:00 2001 From: weichen Date: Thu, 24 Sep 2026 16:20:21 +0000 Subject: [PATCH] fix(web): committed dist/.gitkeep keeps go:embed satisfiable pre-build --- web/dist/.gitkeep | 1 + web/dist_placeholder | 2 -- web/embed.go | 12 +++--------- 3 files changed, 4 insertions(+), 11 deletions(-) create mode 100644 web/dist/.gitkeep delete mode 100644 web/dist_placeholder diff --git a/web/dist/.gitkeep b/web/dist/.gitkeep new file mode 100644 index 00000000..da53b4ed --- /dev/null +++ b/web/dist/.gitkeep @@ -0,0 +1 @@ +Keeps //go:embed all:dist satisfiable before first npm run build. diff --git a/web/dist_placeholder b/web/dist_placeholder deleted file mode 100644 index 97ac0218..00000000 --- a/web/dist_placeholder +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder so //go:embed all:dist stays satisfiable before the first -`npm run build` materializes web/dist (gitignored). Never served. diff --git a/web/embed.go b/web/embed.go index 27ba09e0..3ee52cee 100644 --- a/web/embed.go +++ b/web/embed.go @@ -7,19 +7,13 @@ import ( // DistFS holds the production SPA build (npm run build + precompress). // Build scripts must materialize web/dist before `go build`; the directory is -// gitignored. When dist is absent (fresh checkout / CI vet), the file-target -// pattern below embeds nothing and LookupDist returns false so callers fall -// back to disk-only mode. +// gitignored except dist/.gitkeep, which keeps the pattern satisfiable on +// fresh checkouts. LookupDist returns false until a real build lands, so +// callers fall back to disk-only mode. // //go:embed all:dist var DistFS embed.FS -// distPlaceholder keeps the embed pattern satisfiable on fresh checkouts -// where web/dist has never been built. -// -//go:embed dist_placeholder -var distPlaceholder []byte - // LookupDist returns the embedded dist subtree when the build populated it. func LookupDist() (fs.FS, bool) { sub, err := fs.Sub(DistFS, "dist")