updux/Taskfile.yaml

115 lines
2.8 KiB
YAML

# https://taskfile.dev
# tea releases c --asset releases/updux-4.0.0-alpha.2.tgz -p --title v4.0.0-alpha.2 --tag v4.0.0-alpha.2
version: '3'
vars:
PARENT_BRANCH: main
tasks:
release:gitea:
cmds:
- tea releases create -asset releases/updux-{{.VERSION}}.tgz -p --title {{.VERSION}} --tag {{.VERSION}}
vars:
VERSION: { sh: 'npm version --json | jq -r .updux' }
prerelease:
desc: deploy a prerelease
deps:
- build
- checks
cmds:
- npm version prerelease
- git push --tags
- npm pack --pack-destination releases
- { task: 'release:gitea' }
pack:
desc: bundle the distro
deps: [build, checks]
cmds:
- npm pack --pack-destination releases
build:
sources:
- src/**/*.ts
generates:
- dist/**/*.js
cmds:
- tsc
checks:
deps: [test, build]
integrate:
deps: [checks]
cmds:
- git is-clean
# did we had tests?
- git diff-ls {{.PARENT_BRANCH}} | grep test
- git checkout {{.PARENT_BRANCH}}
- git weld -
test: vitest run src
test:dev: vitest src
lint:fix:delta:
vars:
FILES:
sh: git diff-ls --diff-filter=d main | grep -v .vitebook
deps:
- task: 'lint:fix'
vars:
CLI_ARGS: '{{.FILES | catLines }}'
lint:
cmds:
- npx prettier --check {{.CLI_ARGS | default "." }}
- npx eslint {{.CLI_ARGS | default "." }}
lint:fix:
cmds:
- npx prettier --write {{.CLI_ARGS | default "." }}
- npx eslint --fix --quiet {{.CLI_ARGS | default "." }}
lint:delta:
cmds:
- task: 'lint:prettier:delta'
- task: 'lint:eslint:delta'
lint:prettier:delta:
vars:
FILES:
sh: git diff-ls --diff-filter=d {{.ROOT_BRANCH | default "main"}} | grep -v .vitebook
cmds:
- npx prettier --check {{.FILES | catLines }}
lint:eslint:delta:
vars:
FILES:
sh: git diff-ls --diff-filter=d {{.ROOT_BRANCH | default "main"}} | grep -v .vitebook
cmds:
- npx eslint --format=unix {{.FILES | catLines }}
lint:eslint:
cmds:
- npx eslint {{.FILES | default "src/**" }}
docs:api:
sources: [src/**.ts]
generates: [docs/src/content/docs/api/**.md]
cmds:
- typedoc
- contrib/api_grooming.pl docs/src/content/docs/api
docs:serve:
cmds:
- mkdocs serve
typedoc:
cmds:
- typedoc
docsify-install:
cmds:
- cp -r node_modules/docsify/lib docs/docsify