mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
* fix(v3): exclude node_modules from build:frontend sources glob The `sources: "**/*"` glob in the build:frontend task causes go-task to enumerate and checksum every file in node_modules during up-to-date checking. With heavy dependencies (e.g. MUI), this means 50-100k+ files are statted, causing 20-30 minute hangs especially on Windows/NTFS. Fixes #4939 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs(v3): add changelog entry for #4939 fix * chore: trigger CI re-run with fixed workflow --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
87 lines
2.3 KiB
YAML
87 lines
2.3 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:
|
|
- "**/*"
|
|
- exclude: node_modules/**/*
|
|
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 .
|