when:
  - event: push
    branch: main
  - event: pull_request

steps:
  - name: build
    image: node:24-alpine
    commands:
      - apk add git
      # Are types correct?
      - npm i
      - npm run lint
      - npx tsc
      # Does todo app example build?
      - npm create evikit my-app
      - rm -rf my-app/node_modules/evikit
      - (cd my-app/node_modules; git clone ../.. evikit)
      - (cd my-app; npm run build)
      # Does real-world application pass tests?
      - git clone https://codeberg.org/nykula/lanquiz
      - (cd lanquiz; npm i)
      - rm -rf lanquiz/node_modules/evikit
      - (cd lanquiz/node_modules; git clone ../.. evikit)
      - (cd lanquiz; npm run build)
      - (cd lanquiz; npm test -- --test-concurrency=1)
