wails/v3/Taskfile.yaml
2023-05-30 16:33:33 +08:00

225 lines
6.1 KiB
YAML

# https://taskfile.dev
version: "3"
includes:
website:
taskfile: ./website
dir: ./website
optional: true
tasks:
build:runtime:debug:
dir: internal/runtime
internal: true
cmds:
- npx esbuild desktop/main.js --bundle --tree-shaking=true --sourcemap=inline --outfile=runtime_debug_desktop_{{.PLATFORM}}.js --define:DEBUG=true --define:WINDOWS={{.WINDOWS}} --define:DARWIN={{.DARWIN}} --define:LINUX={{.LINUX}} --define:PLATFORM={{.PLATFORM}} --define:INVOKE={{.INVOKE}}
build:runtime:debug:windows:
cmds:
- task: build:runtime:debug
vars:
WINDOWS: true
DARWIN: false
LINUX: false
PLATFORM: windows
INVOKE: "chrome.webview.postMessage"
build:runtime:debug:linux:
cmds:
- task: build:runtime:debug
vars:
WINDOWS: false
DARWIN: false
LINUX: true
PLATFORM: linux
INVOKE: "webkit.messageHandlers.external.postMessage"
build:runtime:debug:darwin:
cmds:
- task: build:runtime:debug
vars:
WINDOWS: false
DARWIN: true
LINUX: false
PLATFORM: darwin
INVOKE: "webkit.messageHandlers.external.postMessage"
build:runtime:production:
dir: internal/runtime
internal: true
cmds:
- npx esbuild desktop/main.js --bundle --tree-shaking=true --minify --outfile=runtime_production_desktop_{{.PLATFORM}}.js --define:DEBUG=true --define:WINDOWS={{.WINDOWS}} --define:DARWIN={{.DARWIN}} --define:LINUX={{.LINUX}} --define:PLATFORM={{.PLATFORM}} --define:INVOKE={{.INVOKE}}
build:runtime:production:windows:
cmds:
- task: build:runtime:production
vars:
WINDOWS: true
DARWIN: false
LINUX: false
PLATFORM: windows
INVOKE: "chrome.webview.postMessage"
build:runtime:production:linux:
cmds:
- task: build:runtime:production
vars:
WINDOWS: false
DARWIN: false
LINUX: true
PLATFORM: linux
INVOKE: "webkit.messageHandlers.external.postMessage"
build:runtime:production:darwin:
cmds:
- task: build:runtime:production
vars:
WINDOWS: false
DARWIN: true
LINUX: false
PLATFORM: darwin
INVOKE: "webkit.messageHandlers.external.postMessage"
install:runtime-dev-deps:
dir: internal/runtime/dev
internal: true
sources:
- package.json
cmds:
- npm install
install:runtime-deps:
dir: internal/runtime
internal: true
sources:
- package.json
cmds:
- npm install
test:runtime:
dir: internal/runtime
cmds:
- npx vitest run
update:runtime:
dir: internal/runtime
cmds:
- npx npm-check-updates -u
build:runtime-all:
dir: internal/runtime
deps:
- build:runtime:production:darwin
- build:runtime:production:windows
- build:runtime:production:linux
- build:runtime:debug:darwin
- build:runtime:debug:windows
- build:runtime:debug:linux
cmds:
- cmd: echo "build complete"
build:runtime:
dir: internal/runtime
deps:
- install:runtime-deps
cmds:
- task: build:runtime-all
recreate-template-dir:
dir: internal/templates
internal: true
silent: true
cmds:
- rm -rf {{.TEMPLATE_DIR}}
- mkdir -p {{.TEMPLATE_DIR}}
generate:template:
dir: internal/templates/{{.TEMPLATE}}
deps:
- task: recreate-template-dir
vars:
TEMPLATE_DIR: "{{.TEMPLATE}}"
silent: true
cmds:
- cmd: pnpm create vite frontend --template {{.TEMPLATE}}
- cmd: cp -rf ../_base/{{.TEMPLATE}}/* .
ignore_error: true
- cmd: cp -rf ../_base/default/* .
ignore_error: true
- cmd: rm frontend/public/vite.svg
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old Vite -new Wails -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old vite -new wails -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old wails.svg -new wails.png -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old wailsjs.dev -new wails.io -ext .ts,.js,.html -ignore vite.config.js,vite.config.ts,vite-env.d.ts
- cmd: go run ../../../tasks/sed/sed.go replace -dir frontend -old "framework powered by Wails" -new "framework powered by Vite" -ext .ts,.js,.html,.svelte -ignore vite.config.js,vite.config.ts,vite-env.d.ts
reinstall-cli:
dir: cmd/wails
internal: true
cmds:
- go install
- echo "Reinstalled wails CLI"
generate:events:
dir: tasks/events
cmds:
- go run generate.go
generate:templates:
dir: internal/templates/
deps:
- task: generate:template
vars:
TEMPLATE: svelte
- task: generate:template
vars:
TEMPLATE: svelte-ts
- task: generate:template
vars:
TEMPLATE: vue
- task: generate:template
vars:
TEMPLATE: vue-ts
- task: generate:template
vars:
TEMPLATE: react
- task: generate:template
vars:
TEMPLATE: react-ts
- task: generate:template
vars:
TEMPLATE: preact
- task: generate:template
vars:
TEMPLATE: preact-ts
- task: generate:template
vars:
TEMPLATE: lit
- task: generate:template
vars:
TEMPLATE: lit-ts
- task: generate:template
vars:
TEMPLATE: vanilla
- task: generate:template
vars:
TEMPLATE: vanilla-ts
- task: generate:template
vars:
TEMPLATE: react-swc
- task: generate:template
vars:
TEMPLATE: react-swc-ts
cmds:
- task: reinstall-cli
- echo "Generated templates"
format:md:
cmds:
- npx prettier --write "**/*.md"
format:
cmds:
- task: format:md