-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathTaskfile.yml
More file actions
118 lines (95 loc) · 4.07 KB
/
Taskfile.yml
File metadata and controls
118 lines (95 loc) · 4.07 KB
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
# https://taskfile.dev
version: '3'
includes:
# ── BEGIN MODULES ────────────────────────────────────────────────
auth:
taskfile: ./modules/Auth/Taskfile.yml
optional: true
billing:
taskfile: ./modules/Billing/Taskfile.yml
optional: true
settings:
taskfile: ./modules/Settings/Taskfile.yml
optional: true
announcements:
taskfile: ./modules/Announcements/Taskfile.yml
optional: true
roadmap:
taskfile: ./modules/Roadmap/Taskfile.yml
optional: true
themes:
taskfile: ./modules/Themes/Taskfile.yml
optional: true
demo:
taskfile: ./modules/Demo/Taskfile.yml
optional: true
blog:
taskfile: ./modules/Blog/Taskfile.yml
optional: true
# ── END MODULES ──────────────────────────────────────────────────
tasks:
# ── Installation ──────────────────────────────────────────────
install:docker:
desc: Fresh install — Docker + Node required
cmd: bash bin/setup-env {{.CLI_ARGS}}
install:local:
desc: Fresh install — native/Herd/Sail (PHP, Composer, Node required locally)
cmds:
- composer install
- php artisan saucebase:install --all-modules
- npm install
# ── Development ───────────────────────────────────────────────
dev:
desc: Start vite dev server (with HMR)
cmd: npm run dev
serve:
desc: Start dev server (app, queue, logs, vite)
cmd: composer dev
build:
desc: Production build (includes SSR)
cmd: npm run build
# ── Code quality ──────────────────────────────────────────────
lint:
desc: Run all linters (PHP + JS)
cmds:
- task: lint:php
- task: lint:js
lint:php:
internal: true
cmd: vendor/bin/pint
lint:js:
internal: true
cmd: npm run lint
format:
desc: Prettier write
cmd: npm run format
analyse:
desc: PHPStan static analysis (level 5)
cmd: vendor/bin/phpstan analyse --memory-limit=2G
# ── Testing ───────────────────────────────────────────────────
test:php:
desc: Run PHPUnit tests
cmd: php artisan test {{.CLI_ARGS}}
interactive: true
test:e2e:
desc: Run E2E tests
cmd: npm run test:e2e {{.CLI_ARGS}}
interactive: true
# ── Helpers ───────────────────────────────────────────────────
db:reset:
desc: Reset database (migrate:fresh + module seeds)
prompt: This will erase ALL data. Are you sure?
cmds:
- docker compose exec app php artisan migrate:fresh --seed
- docker compose exec app php artisan module:migrate-refresh --all --seed
# ── Translation ───────────────────────────────────────────────
translation:export:
desc: Export translations to JSON files for all languages
cmd: php artisan translatable:export en,pt_BR
# ── Pipelines ─────────────────────────────────────────────────
check:
desc: Full quality pipeline (lint + analyse + test)
cmds:
- task: lint
- task: analyse
- task: test