mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-17 01:19:29 +08:00
87 lines
2.2 KiB
YAML
87 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=true -ts
|
|
|
|
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}} --strictPort
|
|
|
|
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 .
|