Skip to content

Commit 43796f0

Browse files
authored
Merge pull request #265 from os2display/feature/5289-taskfile
Added taskfile
2 parents 2e28999 + d212417 commit 43796f0

File tree

3 files changed

+171
-0
lines changed

3 files changed

+171
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file.
1414
* Removed propTypes.
1515
* Upgraded redux-toolkit and how api slices are generated.
1616
* Fixed redux-toolkit cache handling.
17+
* Add Taskfile
1718

1819
### NB! Prior to 3.x the project was split into separate repositories
1920

Taskfile.yml

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
version: "3"
2+
3+
# https://taskfile.dev/usage/#env-files
4+
dotenv: [".env.local", ".env"]
5+
6+
vars:
7+
# https://taskfile.dev/reference/templating/
8+
BASE_URL: "{{.TASK_BASE_URL | default .COMPOSE_SERVER_DOMAIN | default .COMPOSE_DOMAIN }}"
9+
DOCKER_COMPOSE: '{{ .TASK_DOCKER_COMPOSE | default "itkdev-docker-compose" }}'
10+
11+
tasks:
12+
default:
13+
desc: "List all tasks"
14+
cmds:
15+
- task --list-all
16+
silent: true
17+
18+
compose:
19+
desc: "Run `docker compose` command. Example: task compose -- up --detach."
20+
cmds:
21+
- "{{ .DOCKER_COMPOSE }} {{ .CLI_ARGS }}"
22+
23+
site-install:
24+
prompt: "This will reset your setup. Continue?"
25+
desc: "Install new os2display"
26+
cmds:
27+
- task compose -- down
28+
- task compose -- pull
29+
- task npm-install
30+
- task compose-up
31+
- task composer-install
32+
- task db:migrate --yes
33+
- task fixtures:load --yes
34+
- task site-open
35+
silent: true
36+
37+
site-open:
38+
desc: "Opens admin, docs and client."
39+
cmds:
40+
- task site-open:admin
41+
- task site-open:client
42+
- task site-open:docs
43+
- task site-open:templates
44+
silent: true
45+
46+
site-open:admin:
47+
desc: "Opens admin site."
48+
cmds:
49+
- open http://{{ .BASE_URL }}
50+
51+
site-open:client:
52+
desc: "Opens client site."
53+
cmds:
54+
- open http://{{ .BASE_URL }}/client
55+
56+
site-open:docs:
57+
desc: "Opens API docs page"
58+
cmds:
59+
- open http://{{ .BASE_URL }}/docs
60+
61+
site-open:templates:
62+
desc: "Opens templates site."
63+
cmds:
64+
- open http://{{ .BASE_URL }}/template
65+
66+
npm-install:
67+
desc: "Installs node dependencies with npm."
68+
cmds:
69+
- docker compose run --rm --volume "$PWD:/md" node npm install
70+
71+
composer:
72+
desc: "Runs `composer` command. Example task composer -- install."
73+
cmds:
74+
- task compose -- exec phpfpm composer {{.CLI_ARGS}}
75+
silent: true
76+
77+
compose-up:
78+
desc: "Runs docker compose up."
79+
cmds:
80+
- task compose -- up --detach --remove-orphans
81+
silent: true
82+
83+
composer-install:
84+
desc: "Installs dependencies with composer."
85+
cmds:
86+
- task composer -- install {{.COMPOSER_INSTALL_ARGUMENTS}} {{.CLI_ARGS}}
87+
silent: true
88+
89+
coding-standards:check:
90+
desc: "Check coding standards"
91+
cmds:
92+
- task coding-standards:assets:check
93+
- task coding-standards:php:check
94+
- task coding-standards:markdown:check
95+
- task coding-standards:yml:check
96+
97+
coding-standards:apply:
98+
desc: "Apply coding standards"
99+
cmds:
100+
- task coding-standards:assets:apply
101+
- task coding-standards:php:apply
102+
- task coding-standards:markdown:apply
103+
- task coding-standards:yml:apply
104+
silent: true
105+
106+
coding-standards:yml:apply:
107+
desc: Apply coding standards for yml
108+
cmds:
109+
- docker compose run --rm --volume "$PWD:/md" prettier '**/*.{yml,yaml}' --write
110+
111+
coding-standards:yml:check:
112+
desc: Check coding standards for yml
113+
cmds:
114+
- docker compose run --rm --volume "$PWD:/md" prettier '**/*.{yml,yaml}' --check
115+
116+
coding-standards:assets:apply:
117+
desc: Apply coding standards for assets
118+
cmds:
119+
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{css,scss}' --write
120+
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{js,jsx}' --write
121+
122+
coding-standards:assets:check:
123+
desc: Check coding standards for assets
124+
cmds:
125+
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{css,scss}' --check
126+
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{js,jsx}' --check
127+
128+
coding-standards:markdown:apply:
129+
desc: "Apply coding standards for Markdown"
130+
cmds:
131+
- docker compose run --rm --volume "$PWD:/md" markdownlint markdownlint --ignore '**/node_modules/**' --ignore '**/vendor/**' '*.md' 'documentation/*.md' --fix
132+
133+
coding-standards:markdown:check:
134+
desc: "Check coding standards for Markdown"
135+
cmds:
136+
- docker compose run --rm --volume "$PWD:/md" markdownlint markdownlint --ignore '**/node_modules/**' --ignore '**/vendor/**' '*.md' 'documentation/*.md'
137+
138+
coding-standards:php:apply:
139+
desc: "Apply coding standards for PHP"
140+
cmds:
141+
- task compose -- exec phpfpm vendor/bin/php-cs-fixer fix --diff
142+
silent: true
143+
144+
coding-standards:php:check:
145+
desc: "Check coding standards for PHP"
146+
cmds:
147+
- task compose -- exec phpfpm vendor/bin/php-cs-fixer fix --dry-run --diff
148+
silent: true
149+
150+
code-analysis:
151+
desc: "Runs code analysis."
152+
cmds:
153+
- task composer -- code-analysis
154+
155+
fixtures:load:
156+
prompt: "This will reset your content. Continue?"
157+
desc: Apply fixtures
158+
cmds:
159+
- task compose -- exec phpfpm bin/console hautelook:fixtures:load --no-interaction
160+
- task compose-up
161+
silent: true
162+
163+
db:migrate:
164+
prompt: "This will perform migrations on your db. Continue?"
165+
desc: Run database migrations
166+
cmds:
167+
- task compose -- exec phpfpm bin/console doctrine:migrations:migrate --no-interaction
168+
- task compose-up
169+
silent: true

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
"cache:clear": "symfony-cmd",
122122
"assets:install %PUBLIC_DIR%": "symfony-cmd"
123123
},
124+
"code-analysis": "vendor/bin/psalm",
124125
"coding-standards-apply": [
125126
"vendor/bin/php-cs-fixer fix"
126127
],

0 commit comments

Comments
 (0)