All checks were successful
Beta Release / beta (push) Successful in 37s
- Merge muyue + muyue-desktop into one binary (13MB) - `muyue` starts TUI, `muyue desktop` launches web UI in browser - Move frontend from cmd/muyue-desktop/frontend/ to web/ (standard Go layout) - Add web/embed.go with //go:embed all:dist for frontend assets - Add internal/desktop/ package (server, browser open, SPA routing, signals) - Split internal/api/api.go into server.go + handlers.go - Add internal/desktop/desktop.go with SPA fallback and --port/--no-open flags - Clean package.json: remove unused @xterm/xterm, switch to ESM - Fix vite.config.js proxy to use port 8095 for dev mode - Add Makefile targets: frontend, desktop, dev-desktop - Update all CI workflows: single binary build, web/ paths - Remove cmd/muyue-desktop/ entirely 💘 Generated with Crush Assisted-by: GLM-5.1 via Crush <crush@charm.land>
68 lines
1.5 KiB
Makefile
68 lines
1.5 KiB
Makefile
GOPATH ?= $(shell go env GOPATH)
|
|
GOBIN ?= $(GOPATH)/bin
|
|
BINARY = muyue
|
|
BUILD_DIR = .
|
|
GO = go
|
|
NODE ?= node
|
|
NPM ?= npm
|
|
WEB_DIR = web
|
|
|
|
.PHONY: build install clean test test-short run scan fmt lint build-all deps vet frontend dev-desktop
|
|
|
|
frontend:
|
|
cd $(WEB_DIR) && $(NPM) ci && $(NPM) run build
|
|
|
|
build: frontend
|
|
$(GO) build -o $(BUILD_DIR)/$(BINARY) ./cmd/muyue/
|
|
|
|
install: build
|
|
cp $(BUILD_DIR)/$(BINARY) /usr/local/bin/
|
|
|
|
install-local: build
|
|
mkdir -p $(HOME)/.local/bin
|
|
cp $(BUILD_DIR)/$(BINARY) $(HOME)/.local/bin/
|
|
|
|
clean:
|
|
rm -f $(BUILD_DIR)/$(BINARY)
|
|
rm -rf $(WEB_DIR)/dist
|
|
rm -rf $(WEB_DIR)/node_modules
|
|
|
|
test:
|
|
$(GO) test ./... -v -count=1
|
|
|
|
test-short:
|
|
$(GO) test ./... -v -short -count=1 -timeout 60s
|
|
|
|
vet:
|
|
$(GO) vet ./...
|
|
|
|
run: build
|
|
./$(BINARY)
|
|
|
|
desktop: build
|
|
./$(BINARY) desktop
|
|
|
|
dev-desktop:
|
|
cd $(WEB_DIR) && $(NPM) run dev
|
|
|
|
scan: build
|
|
./$(BINARY) scan
|
|
|
|
fmt:
|
|
gofmt -w .
|
|
which goimports > /dev/null 2>&1 && goimports -w . || true
|
|
|
|
lint:
|
|
which golangci-lint > /dev/null 2>&1 && golangci-lint run || true
|
|
|
|
build-all: frontend
|
|
GOOS=linux GOARCH=amd64 $(GO) build -o dist/$(BINARY)-linux-amd64 ./cmd/muyue/
|
|
GOOS=linux GOARCH=arm64 $(GO) build -o dist/$(BINARY)-linux-arm64 ./cmd/muyue/
|
|
GOOS=darwin GOARCH=amd64 $(GO) build -o dist/$(BINARY)-darwin-amd64 ./cmd/muyue/
|
|
GOOS=darwin GOARCH=arm64 $(GO) build -o dist/$(BINARY)-darwin-arm64 ./cmd/muyue/
|
|
GOOS=windows GOARCH=amd64 $(GO) build -o dist/$(BINARY)-windows-amd64.exe ./cmd/muyue/
|
|
GOOS=windows GOARCH=arm64 $(GO) build -o dist/$(BINARY)-windows-arm64.exe ./cmd/muyue/
|
|
|
|
deps:
|
|
$(GO) mod tidy
|