chore: add a Taskfile facade over the existing commands
CI / changes (push) Successful in 16s
CI / lint (push) Successful in 3m0s
CI / frontend (push) Failing after 3m36s
CI / backend (push) Successful in 2m38s
CI / e2e (push) Failing after 4m14s
CI / storybook-a11y (push) Failing after 7m50s
CI / semgrep (push) Successful in 1m18s
CI / api-client-drift (push) Successful in 1m55s
CI / changes (push) Successful in 16s
CI / lint (push) Successful in 3m0s
CI / frontend (push) Failing after 3m36s
CI / backend (push) Successful in 2m38s
CI / e2e (push) Failing after 4m14s
CI / storybook-a11y (push) Failing after 7m50s
CI / semgrep (push) Successful in 1m18s
CI / api-client-drift (push) Successful in 1m55s
`task` with no arguments lists every runnable command. The Taskfile calls the npm scripts, dotnet and docker compose. It does not duplicate their logic. CI does not need `task`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -34,6 +34,7 @@ npm run gen:api # regenerate the ONE typed client (libs/shared) f
|
|||||||
npm run ci # run the CI gate locally BEFORE pushing (mirrors ci.yml); `npm run ci --full` adds storybook-a11y
|
npm run ci # run the CI gate locally BEFORE pushing (mirrors ci.yml); `npm run ci --full` adds storybook-a11y
|
||||||
docker compose up # run both FE apps + backend together (Swagger at :5000/swagger)
|
docker compose up # run both FE apps + backend together (Swagger at :5000/swagger)
|
||||||
cd backend && dotnet test # backend rule + endpoint tests
|
cd backend && dotnet test # backend rule + endpoint tests
|
||||||
|
task # list every task (a thin facade over the commands above)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Two Storybook instances, not one:** `apps/ssp` and `apps/behandelportal` each have their own
|
**Two Storybook instances, not one:** `apps/ssp` and `apps/behandelportal` each have their own
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
# ponytail: a thin façade over the npm scripts + dotnet + docker, NOT a second copy of
|
||||||
|
# package.json. `task` (no args) lists everything runnable; the logic stays where it is —
|
||||||
|
# `task ci` shells to scripts/ci-local.sh, which remains the gate. npm keeps working
|
||||||
|
# exactly as before, and CI does not depend on `task` being installed.
|
||||||
|
version: '3'
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
default:
|
||||||
|
silent: true
|
||||||
|
cmd: task --list
|
||||||
|
|
||||||
|
deps:
|
||||||
|
internal: true
|
||||||
|
status:
|
||||||
|
- test -d node_modules
|
||||||
|
cmd: npm ci
|
||||||
|
|
||||||
|
dev:
|
||||||
|
desc: Serve the SSP on :4200 (proxies /api to the backend)
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm start
|
||||||
|
|
||||||
|
dev:bp:
|
||||||
|
desc: Serve the behandelportal on :4201
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run start:behandelportal
|
||||||
|
|
||||||
|
api:
|
||||||
|
desc: Run the backend on :5000 (Swagger at /swagger)
|
||||||
|
dir: backend
|
||||||
|
cmd: dotnet run --project src/BigRegister.Api
|
||||||
|
|
||||||
|
test:
|
||||||
|
desc: Run the frontend tests (both apps + both shared libraries)
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm test
|
||||||
|
|
||||||
|
test:api:
|
||||||
|
desc: Run the backend rule + endpoint tests (skips the OpenZaak integration tests)
|
||||||
|
dir: backend
|
||||||
|
# Same filter as scripts/ci-local.sh: the Integration tests need a running OpenZaak
|
||||||
|
# container (scripts/openzaak-ui-up.sh), so they are not part of the default gate.
|
||||||
|
cmd: dotnet test BigRegister.slnx --filter "Category!=Integration"
|
||||||
|
|
||||||
|
lint:
|
||||||
|
desc: Lint the frontend (no `any`, import/layer boundaries)
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run lint
|
||||||
|
|
||||||
|
fmt:
|
||||||
|
desc: Format the frontend with prettier and the backend with dotnet format
|
||||||
|
deps: [deps]
|
||||||
|
cmds:
|
||||||
|
- npm run format
|
||||||
|
- dotnet format backend/BigRegister.slnx
|
||||||
|
|
||||||
|
build:
|
||||||
|
desc: Build both Angular apps
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run build
|
||||||
|
|
||||||
|
ci:
|
||||||
|
desc: Run the CI gate locally before pushing (scripts/ci-local.sh)
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run ci
|
||||||
|
|
||||||
|
e2e:
|
||||||
|
desc: Run the Playwright end-to-end tests (starts its own servers)
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run e2e
|
||||||
|
|
||||||
|
sb:
|
||||||
|
desc: Run the SSP Storybook instance
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run storybook
|
||||||
|
|
||||||
|
sb:bp:
|
||||||
|
desc: Run the behandelportal Storybook instance
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run storybook:behandelportal
|
||||||
|
|
||||||
|
gen:api:
|
||||||
|
desc: Regenerate the typed API client from the backend OpenAPI document
|
||||||
|
deps: [deps]
|
||||||
|
cmd: npm run gen:api
|
||||||
|
|
||||||
|
up:
|
||||||
|
desc: Start both apps + the backend with docker compose
|
||||||
|
cmd: docker compose up
|
||||||
|
|
||||||
|
down:
|
||||||
|
desc: Stop the docker compose stack
|
||||||
|
cmd: docker compose down
|
||||||
Reference in New Issue
Block a user