Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file.
* Removed propTypes.
* Upgraded redux-toolkit and how api slices are generated.
* Fixed redux-toolkit cache handling.
* Add Taskfile

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

Expand Down
169 changes: 169 additions & 0 deletions Taskfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
version: "3"

# https://taskfile.dev/usage/#env-files
dotenv: [".env.local", ".env"]

vars:
# https://taskfile.dev/reference/templating/
BASE_URL: "{{.TASK_BASE_URL | default .COMPOSE_SERVER_DOMAIN | default .COMPOSE_DOMAIN }}"
DOCKER_COMPOSE: '{{ .TASK_DOCKER_COMPOSE | default "itkdev-docker-compose" }}'

tasks:
default:
desc: "List all tasks"
cmds:
- task --list-all
silent: true

compose:
desc: "Run `docker compose` command. Example: task compose -- up --detach."
cmds:
- "{{ .DOCKER_COMPOSE }} {{ .CLI_ARGS }}"

site-install:
prompt: "This will reset your setup. Continue?"
desc: "Install new os2display"
cmds:
- task compose -- down
- task compose -- pull
- task npm-install
- task compose-up
- task composer-install
- task db:migrate --yes
- task fixtures:load --yes
- task site-open
silent: true

site-open:
desc: "Opens admin, docs and client."
cmds:
- task site-open:admin
- task site-open:client
- task site-open:docs
- task site-open:templates
silent: true

site-open:admin:
desc: "Opens admin site."
cmds:
- open http://{{ .BASE_URL }}

site-open:client:
desc: "Opens client site."
cmds:
- open http://{{ .BASE_URL }}/client

site-open:docs:
desc: "Opens API docs page"
cmds:
- open http://{{ .BASE_URL }}/docs

site-open:templates:
desc: "Opens templates site."
cmds:
- open http://{{ .BASE_URL }}/template

npm-install:
desc: "Installs node dependencies with npm."
cmds:
- docker compose run --rm --volume "$PWD:/md" node npm install

composer:
desc: "Runs `composer` command. Example task composer -- install."
cmds:
- task compose -- exec phpfpm composer {{.CLI_ARGS}}
silent: true

compose-up:
desc: "Runs docker compose up."
cmds:
- task compose -- up --detach --remove-orphans
silent: true

composer-install:
desc: "Installs dependencies with composer."
cmds:
- task composer -- install {{.COMPOSER_INSTALL_ARGUMENTS}} {{.CLI_ARGS}}
silent: true

coding-standards:check:
desc: "Check coding standards"
cmds:
- task coding-standards:assets:check
- task coding-standards:php:check
- task coding-standards:markdown:check
- task coding-standards:yml:check

coding-standards:apply:
desc: "Apply coding standards"
cmds:
- task coding-standards:assets:apply
- task coding-standards:php:apply
- task coding-standards:markdown:apply
- task coding-standards:yml:apply
silent: true

coding-standards:yml:apply:
desc: Apply coding standards for yml
cmds:
- docker compose run --rm --volume "$PWD:/md" prettier '**/*.{yml,yaml}' --write

coding-standards:yml:check:
desc: Check coding standards for yml
cmds:
- docker compose run --rm --volume "$PWD:/md" prettier '**/*.{yml,yaml}' --check

coding-standards:assets:apply:
desc: Apply coding standards for assets
cmds:
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{css,scss}' --write
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{js,jsx}' --write

coding-standards:assets:check:
desc: Check coding standards for assets
cmds:
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{css,scss}' --check
- docker compose run --rm --volume "$PWD:/md" prettier 'assets/**/*.{js,jsx}' --check

coding-standards:markdown:apply:
desc: "Apply coding standards for Markdown"
cmds:
- docker compose run --rm --volume "$PWD:/md" markdownlint markdownlint --ignore '**/node_modules/**' --ignore '**/vendor/**' '*.md' 'documentation/*.md' --fix

coding-standards:markdown:check:
desc: "Check coding standards for Markdown"
cmds:
- docker compose run --rm --volume "$PWD:/md" markdownlint markdownlint --ignore '**/node_modules/**' --ignore '**/vendor/**' '*.md' 'documentation/*.md'

coding-standards:php:apply:
desc: "Apply coding standards for PHP"
cmds:
- task compose -- exec phpfpm vendor/bin/php-cs-fixer fix --diff
silent: true

coding-standards:php:check:
desc: "Check coding standards for PHP"
cmds:
- task compose -- exec phpfpm vendor/bin/php-cs-fixer fix --dry-run --diff
silent: true

code-analysis:
desc: "Runs code analysis."
cmds:
- task composer -- code-analysis

fixtures:load:
prompt: "This will reset your content. Continue?"
desc: Apply fixtures
cmds:
- task compose -- exec phpfpm bin/console hautelook:fixtures:load --no-interaction
- task compose-up
silent: true

db:migrate:
prompt: "This will perform migrations on your db. Continue?"
desc: Run database migrations
cmds:
- task compose -- exec phpfpm bin/console doctrine:migrations:migrate --no-interaction
- task compose-up
silent: true
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"code-analysis": "vendor/bin/psalm",
"coding-standards-apply": [
"vendor/bin/php-cs-fixer fix"
],
Expand Down