@@ -13,3 +13,300 @@ postinstall = "chmod +x $MISE_TOOL_INSTALL_PATH/dcm"
1313experimental = true
1414lockfile = true
1515pin = true
16+
17+ # .github
18+ [tasks ."github:install" ]
19+ run = " pnpm install --filter github --frozen-lockfile"
20+
21+ [tasks ."github:format" ]
22+ env._.path = " ./.github/node_modules/.bin"
23+ dir = " .github"
24+ run = " prettier --check ."
25+
26+ [tasks ."github:format-fix" ]
27+ env._.path = " ./.github/node_modules/.bin"
28+ dir = " .github"
29+ run = " prettier --write ."
30+
31+ # @immich/cli
32+ [tasks ."cli:install" ]
33+ run = " pnpm install --filter @immich/cli --frozen-lockfile"
34+
35+ [tasks ."cli:build" ]
36+ env._.path = " ./cli/node_modules/.bin"
37+ dir = " cli"
38+ run = " vite build"
39+
40+ [tasks ."cli:test" ]
41+ env._.path = " ./cli/node_modules/.bin"
42+ dir = " cli"
43+ run = " vite"
44+
45+ [tasks ."cli:lint" ]
46+ env._.path = " ./cli/node_modules/.bin"
47+ dir = " cli"
48+ run = " eslint \" src/**/*.ts\" --max-warnings 0"
49+
50+ [tasks ."cli:lint-fix" ]
51+ run = " mise run cli:lint --fix"
52+
53+ [tasks ."cli:format" ]
54+ env._.path = " ./cli/node_modules/.bin"
55+ dir = " cli"
56+ run = " prettier --check ."
57+
58+ [tasks ."cli:format-fix" ]
59+ env._.path = " ./cli/node_modules/.bin"
60+ dir = " cli"
61+ run = " prettier --write ."
62+
63+ [tasks ."cli:check" ]
64+ env._.path = " ./cli/node_modules/.bin"
65+ dir = " cli"
66+ run = " tsc --noEmit"
67+
68+ # @immich/sdk
69+ [tasks ."sdk:install" ]
70+ run = " pnpm install --filter @immich/sdk --frozen-lockfile"
71+
72+ [tasks ."sdk:build" ]
73+ env._.path = " ./open-api/typescript-sdk/node_modules/.bin"
74+ dir = " ./open-api/typescript-sdk"
75+ run = " tsc"
76+
77+ # docs
78+ [tasks ."docs:install" ]
79+ run = " pnpm install --filter documentation --frozen-lockfile"
80+
81+ [tasks ."docs:start" ]
82+ env._.path = " ./docs/node_modules/.bin"
83+ dir = " docs"
84+ run = " docusaurus --port 3005"
85+
86+ [tasks ."docs:build" ]
87+ env._.path = " ./docs/node_modules/.bin"
88+ dir = " docs"
89+ run = [
90+ " jq -c < ../open-api/immich-openapi-specs.json > ./static/openapi.json || exit 0" ,
91+ " docusaurus build" ,
92+ ]
93+
94+
95+ [tasks ."docs:preview" ]
96+ env._.path = " ./docs/node_modules/.bin"
97+ dir = " docs"
98+ run = " docusaurus serve"
99+
100+
101+ [tasks ."docs:format" ]
102+ env._.path = " ./docs/node_modules/.bin"
103+ dir = " docs"
104+ run = " prettier --check ."
105+
106+ [tasks ."docs:format-fix" ]
107+ env._.path = " ./docs/node_modules/.bin"
108+ dir = " docs"
109+ run = " prettier --write ."
110+
111+
112+ # e2e
113+ [tasks ."e2e:install" ]
114+ run = " pnpm install --filter immich-e2e --frozen-lockfile"
115+
116+ [tasks ."e2e:test" ]
117+ env._.path = " ./e2e/node_modules/.bin"
118+ dir = " e2e"
119+ run = " vitest --run"
120+
121+ [tasks ."e2e:test-web" ]
122+ env._.path = " ./e2e/node_modules/.bin"
123+ dir = " e2e"
124+ run = " playwright test"
125+
126+ [tasks ."e2e:format" ]
127+ env._.path = " ./e2e/node_modules/.bin"
128+ dir = " e2e"
129+ run = " prettier --check ."
130+
131+ [tasks ."e2e:format-fix" ]
132+ env._.path = " ./e2e/node_modules/.bin"
133+ dir = " e2e"
134+ run = " prettier --write ."
135+
136+ [tasks ."e2e:lint" ]
137+ env._.path = " ./e2e/node_modules/.bin"
138+ dir = " e2e"
139+ run = " eslint \" src/**/*.ts\" --max-warnings 0"
140+
141+ [tasks ."e2e:lint-fix" ]
142+ run = " mise run e2e:lint --fix"
143+
144+ [tasks ."e2e:check" ]
145+ env._.path = " ./e2e/node_modules/.bin"
146+ dir = " e2e"
147+ run = " tsc --noEmit"
148+
149+ # i18n
150+ [tasks ."i18n:format" ]
151+ run = " mise run i18n:format-fix"
152+
153+ [tasks ."i18n:format-fix" ]
154+ run = " pnpm dlx sort-json ./i18n/*.json"
155+
156+
157+ # server
158+ [tasks ."server:install" ]
159+ run = " pnpm install --filter immich --frozen-lockfile"
160+
161+ [tasks ."server:build" ]
162+ env._.path = " ./server/node_modules/.bin"
163+ dir = " server"
164+ run = " nest build"
165+
166+ [tasks ."server:test" ]
167+ env._.path = " ./server/node_modules/.bin"
168+ dir = " server"
169+ run = " vitest --config test/vitest.config.mjs"
170+
171+ [tasks ."server:test-medium" ]
172+ env._.path = " ./server/node_modules/.bin"
173+ dir = " server"
174+ run = " vitest --config test/vitest.config.medium.mjs"
175+
176+ [tasks ."server:format" ]
177+ env._.path = " ./server/node_modules/.bin"
178+ dir = " server"
179+ run = " prettier --check ."
180+
181+ [tasks ."server:format-fix" ]
182+ env._.path = " ./server/node_modules/.bin"
183+ dir = " server"
184+ run = " prettier --write ."
185+
186+ [tasks ."server:lint" ]
187+ env._.path = " ./server/node_modules/.bin"
188+ dir = " server"
189+ run = " eslint \" src/**/*.ts\" \" test/**/*.ts\" --max-warnings 0"
190+
191+ [tasks ."server:lint-fix" ]
192+ run = " mise run server:lint --fix"
193+
194+ [tasks ."server:check" ]
195+ env._.path = " ./server/node_modules/.bin"
196+ dir = " server"
197+ run = " tsc --noEmit"
198+
199+ [tasks ."server:sql" ]
200+ dir = " server"
201+ run = " node ./dist/bin/sync-open-api.js"
202+
203+ [tasks ."server:open-api" ]
204+ dir = " server"
205+ run = " node ./dist/bin/sync-open-api.js"
206+
207+ [tasks ."server:migrations" ]
208+ dir = " server"
209+ run = " node ./dist/bin/migrations.js"
210+ description = " Run database migration commands (create, generate, run, debug, or query)"
211+
212+ [tasks ."server:schema-drop" ]
213+ run = " mise run server:migrations query 'DROP schema public cascade; CREATE schema public;'"
214+
215+ [tasks ."server:schema-reset" ]
216+ run = " mise run server:schema-drop && mise run server:migrations run"
217+
218+ [tasks ."server:email-dev" ]
219+ env._.path = " ./server/node_modules/.bin"
220+ dir = " server"
221+ run = " email dev -p 3050 --dir src/emails"
222+
223+ [tasks ."server:checklist" ]
224+ run = [
225+ " mise run server:install" ,
226+ " mise run server:format" ,
227+ " mise run server:lint" ,
228+ " mise run server:check" ,
229+ " mise run server:test-medium --run" ,
230+ " mise run server:test --run" ,
231+ ]
232+
233+
234+ # web
235+ [tasks ."web:install" ]
236+ run = " pnpm install --filter immich-web --frozen-lockfile"
237+
238+ [tasks ."web:svelte-kit-sync" ]
239+ env._.path = " ./web/node_modules/.bin"
240+ dir = " web"
241+ run = " svelte-kit sync"
242+
243+ [tasks ."web:build" ]
244+ env._.path = " ./web/node_modules/.bin"
245+ dir = " web"
246+ run = " vite build"
247+
248+ [tasks ."web:build-stats" ]
249+ env.BUILD_STATS = " true"
250+ env._.path = " ./web/node_modules/.bin"
251+ dir = " web"
252+ run = " vite build"
253+
254+ [tasks ."web:preview" ]
255+ env._.path = " ./web/node_modules/.bin"
256+ dir = " web"
257+ run = " vite preview"
258+
259+ [tasks ."web:start" ]
260+ env._.path = " web/node_modules/.bin"
261+ dir = " web"
262+ run = " vite dev --host 0.0.0.0 --port 3000"
263+
264+ [tasks ."web:test" ]
265+ depends = " web:svelte-kit-sync"
266+ env._.path = " web/node_modules/.bin"
267+ dir = " web"
268+ run = " vitest"
269+
270+ [tasks ."web:format" ]
271+ env._.path = " web/node_modules/.bin"
272+ dir = " web"
273+ run = " prettier --check ."
274+
275+ [tasks ."web:format-fix" ]
276+ env._.path = " web/node_modules/.bin"
277+ dir = " web"
278+ run = " prettier --write ."
279+
280+ [tasks ."web:lint" ]
281+ env._.path = " web/node_modules/.bin"
282+ dir = " web"
283+ run = " eslint . --max-warnings 0"
284+
285+ [tasks ."web:lint-p" ]
286+ env._.path = " web/node_modules/.bin"
287+ dir = " web"
288+ run = " eslint-p . --max-warnings 0 --concurrency=4"
289+
290+ [tasks ."web:lint-fix" ]
291+ run = " mise run web:lint --fix"
292+
293+ [tasks ."web:check" ]
294+ depends = " web:svelte-kit-sync"
295+ env._.path = " web/node_modules/.bin"
296+ dir = " web"
297+ run = " tsc --noEmit"
298+
299+ [tasks ."web:check-svelte" ]
300+ depends = " web:svelte-kit-sync"
301+ env._.path = " web/node_modules/.bin"
302+ dir = " web"
303+ run = " svelte-check --no-tsconfig --fail-on-warnings --compiler-warnings 'reactive_declaration_non_reactive_property:ignore' --ignore src/lib/components/photos-page/asset-grid.svelte"
304+
305+ [tasks ."web:checklist" ]
306+ run = [
307+ " mise run web:install" ,
308+ " mise run web:format" ,
309+ " mise run web:check" ,
310+ " mise run web:test --run" ,
311+ " mise run web:lint" ,
312+ ]
0 commit comments