Create native desktop application using Wails v3 with Angular frontend. The app wraps the mining CLI backend and exposes functionality via TypeScript bindings for system info, miner control, profiles, and stats. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
86 lines
2.2 KiB
YAML
86 lines
2.2 KiB
YAML
version: '3'
|
|
|
|
tasks:
|
|
go:mod:tidy:
|
|
summary: Runs `go mod tidy`
|
|
internal: true
|
|
cmds:
|
|
- go mod tidy
|
|
|
|
install:frontend:deps:
|
|
summary: Install frontend dependencies
|
|
dir: frontend
|
|
sources:
|
|
- package.json
|
|
- package-lock.json
|
|
generates:
|
|
- node_modules/*
|
|
preconditions:
|
|
- sh: npm version
|
|
msg: "Looks like npm isn't installed. Npm is part of the Node installer: https://nodejs.org/en/download/"
|
|
cmds:
|
|
- npm install
|
|
|
|
build:frontend:
|
|
label: build:frontend (PRODUCTION={{.PRODUCTION}})
|
|
summary: Build the frontend project
|
|
dir: frontend
|
|
sources:
|
|
- "**/*"
|
|
generates:
|
|
- dist/**/*
|
|
deps:
|
|
- task: install:frontend:deps
|
|
- task: generate:bindings
|
|
vars:
|
|
BUILD_FLAGS:
|
|
ref: .BUILD_FLAGS
|
|
cmds:
|
|
- npm run {{.BUILD_COMMAND}} -q
|
|
env:
|
|
PRODUCTION: '{{.PRODUCTION | default "false"}}'
|
|
vars:
|
|
BUILD_COMMAND: '{{if eq .PRODUCTION "true"}}build{{else}}build:dev{{end}}'
|
|
|
|
|
|
generate:bindings:
|
|
label: generate:bindings (BUILD_FLAGS={{.BUILD_FLAGS}})
|
|
summary: Generates bindings for the frontend
|
|
deps:
|
|
- task: go:mod:tidy
|
|
sources:
|
|
- "**/*.[jt]s"
|
|
- exclude: frontend/**/*
|
|
- frontend/bindings/**/* # Rerun when switching between dev/production mode causes changes in output
|
|
- "**/*.go"
|
|
- go.mod
|
|
- go.sum
|
|
generates:
|
|
- frontend/bindings/**/*
|
|
cmds:
|
|
- wails3 generate bindings -f '{{.BUILD_FLAGS}}' -clean=false -ts -i
|
|
|
|
generate:icons:
|
|
summary: Generates Windows `.ico` and Mac `.icns` files from an image
|
|
dir: build
|
|
sources:
|
|
- "appicon.png"
|
|
generates:
|
|
- "darwin/icons.icns"
|
|
- "windows/icon.ico"
|
|
cmds:
|
|
- wails3 generate icons -input appicon.png -macfilename darwin/icons.icns -windowsfilename windows/icon.ico
|
|
|
|
dev:frontend:
|
|
summary: Runs the frontend in development mode
|
|
dir: frontend
|
|
deps:
|
|
- task: install:frontend:deps
|
|
cmds:
|
|
- npm run dev -- --port {{.VITE_PORT}}
|
|
|
|
update:build-assets:
|
|
summary: Updates the build assets
|
|
dir: build
|
|
cmds:
|
|
- wails3 update build-assets -name "{{.APP_NAME}}" -binaryname "{{.APP_NAME}}" -config config.yml -dir .
|