# https://taskfile.dev version: '3' vars: PARENT_BRANCH: main tasks: pack: cmds: - npm pack --pack-destination releases build: tsc checks: deps: [test, build] prepare: desc: build and bundle the package cmds: - { task: build } - { task: pack } 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