-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtaskfile.yml
187 lines (154 loc) · 3.86 KB
/
taskfile.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
---
version: '3'
tasks:
build:
desc: Builds "www/" and the server
cmds:
- task: build-www
- task: build-server
build-server:
desc: Build the server
vars:
FLAG_RACE: '{{if eq .RACE "true"}}-race{{end}}'
FLAGS: '{{if eq .DEBUG "true"}}-gcflags="all=-N -l" {{.FLAG_RACE}}{{else}}-ldflags="-w -s" -trimpath {{.FLAG_RACE}}{{end}}'
OUTPUT: '{{if eq .GOOS "windows"}}./dist/server.exe{{else}}./dist/server{{end}}'
cmds:
- go build {{.FLAGS}} -o {{.OUTPUT}} ./
build-www:
desc: Build "www/"
cmds:
- task: clean-dist-www
- bun --cwd=./www/ vite build
- task: x-script-www-minify
- task: x-script-www-compress
build-www-debug:
cmds:
- task: clean-dist-www
- NODE_ENV=development bun --cwd=./www/ vite build
clean:
desc: Cleans "www/" and the server
cmds:
- task: clean-www
- task: clean-server
clean-git:
desc: Clean GIT (careful)
cmds:
- task: clean-git-untracked
- task: clean-git-gc
- task: clean-git-hooks
clean-git-gc:
cmds:
- git gc --aggressive --prune
clean-git-hooks:
cmds:
- bun exec "rm -rf ./.git/hooks/"
clean-git-untracked:
cmds:
- git clean -d -x -i
clean-server:
desc: Clean the server
cmds:
- task: clean-dist-server
- go clean
clean-www:
desc: Clean "www/"
cmds:
- task: clean-dist-www
- bun --cwd=./www/ exec "rm -rf ./node_modules/"
# TODO: rollup-plugin-visualizer issue
- bun --cwd=./www/ exec "rm -f bundle.html"
clean-dist:
desc: Cleans only dist from "www/" and the server
cmds:
- task: clean-dist-www
- task: clean-dist-server
clean-dist-server:
desc: Cleans only dist from the server
cmds:
- bun exec "rm -rf ./dist/"
clean-dist-www:
desc: Cleans only dist from "www/"
cmds:
- bun --cwd=./www/ exec "rm -rf ./dist/"
dev-www:
desc: Run "www/" in HMR mode
cmds:
- bun --cwd=./www/ vite dev
fix:
desc: Run formatters on "www/" and the server
cmds:
- task: fix-www
- task: fix-server
fix-server:
desc: Run formatters on the server
cmds:
- go fmt
fix-www:
desc: Run formatters on "www/"
cmds:
- bun --cwd=./www/ biome check --write
- bun --cwd=./www/ sort-package-json --quiet
install:
desc: Installs dependencies for "www/" and the server
cmds:
- task: install-www
- task: install-server
install-ci:
cmds:
- task: install-www-ci
- task: install-server
install-server:
desc: Install dependencies for the server
cmds:
- go mod download
install-www:
desc: Install dependencies for "www/"
cmds:
- bun --cwd=./www/ install
install-www-ci:
cmds:
- bun --cwd=./www/ install --frozen-lockfile
lint:
desc: Run linters on "www/" and the server
cmds:
- task: lint-www
- task: lint-server
lint-server:
desc: Run linters on the server
cmds:
- golangci-lint run
lint-www:
desc: Run linters on "www/"
cmds:
- bun --cwd=./www/ biome lint
- bun --cwd=./www/ tsc --noEmit
start-server:
desc: Start the server (requires building "www/")
cmds:
- go run ./
start-www:
desc: Start "www/" in preview mode (requires building "www/")
cmds:
- bun --cwd=./www/ vite preview
tidy:
desc: Tidy "www/" and the server
cmds:
- task: tidy-www
- task: tidy-server
tidy-server:
desc: Tidy the server
cmds:
- go mod tidy
tidy-www:
desc: Tidy "www/"
cmds:
- bun --cwd=./www/ exec "rm -f bun.lock"
- bun --cwd=./www/ install -f
x-script-www-minify:
internal: true
cmds:
- go run ./www/scripts/minify/main.go
x-script-www-compress:
internal: true
cmds:
- go run ./www/scripts/compress/main.go