Some checks failed
Beta Release / beta (push) Failing after 48s
Adds a WXT-based browser extension that replaces manual JS snippet injection for AI-driven browser testing. The extension auto-connects to the Muyue server via WebSocket on every page, using the exact same protocol as the existing snippet — zero backend changes needed. - Chrome/Edge (MV3) + Firefox (MV2) from single codebase via WXT - Content script: auto-connect WS, console capture, URL tracking, RPC - Background service worker: token management, screenshots, badge - Popup + side panel with server status, sessions, URL config - CI workflows: build extension, attach .zip to releases - Makefile targets: ext, ext-chrome, ext-firefox, ext-zip - Version bumped to 0.8.0 Assisted-by: GLM-5.1 via Crush <crush@charm.land>
82 lines
1.9 KiB
Makefile
82 lines
1.9 KiB
Makefile
GOPATH ?= $(shell go env GOPATH)
|
|
GOBIN ?= $(GOPATH)/bin
|
|
BINARY = muyue
|
|
BUILD_DIR = .
|
|
GO = go
|
|
NODE ?= node
|
|
NPM ?= npm
|
|
WEB_DIR = web
|
|
|
|
EXT_DIR = extension
|
|
|
|
.PHONY: build install clean test test-short run scan fmt lint build-all deps vet frontend dev-desktop ext ext-chrome ext-firefox ext-zip
|
|
|
|
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/
|
|
|
|
ext:
|
|
cd $(EXT_DIR) && $(NPM) ci && $(NPM) run build && $(NPM) run build:firefox
|
|
|
|
ext-chrome:
|
|
cd $(EXT_DIR) && $(NPM) ci && $(NPM) run build
|
|
|
|
ext-firefox:
|
|
cd $(EXT_DIR) && $(NPM) ci && $(NPM) run build:firefox
|
|
|
|
ext-zip:
|
|
cd $(EXT_DIR) && $(NPM) ci && $(NPM) run zip && $(NPM) run zip:firefox
|
|
|
|
deps:
|
|
$(GO) mod tidy
|