version: '3' includes: docs: aliases: [d] taskfile: ./docs dir: ./docs env: CGO_ENABLED: '0' tasks: default: cmds: - task: lint - task: test install: desc: Installs Task aliases: [i] sources: - './**/*.go' cmds: - go install -v ./cmd/task generate: desc: Runs Go generate to create mocks aliases: [gen, g] deps: [install:mockgen] sources: - "internal/fingerprint/checker.go" generates: - "internal/fingerprint/checker_mock.go" cmds: - mockgen -source=internal/fingerprint/checker.go -destination=internal/fingerprint/checker_mock.go -package=fingerprint install:mockgen: desc: Installs mockgen; a tool to generate mock files status: - command -v mockgen &>/dev/null cmds: - go install github.com/golang/mock/mockgen@latest mod: desc: Downloads and tidy Go modules cmds: - go mod download - go mod tidy clean: desc: Cleans temp files and folders cmds: - rm -rf dist/ - rm -rf tmp/ lint: desc: Runs golangci-lint aliases: [l] sources: - './**/*.go' - .golangci.yml cmds: - golangci-lint run lint:fix: desc: Runs golangci-lint and fixes any issues sources: - './**/*.go' - .golangci.yml cmds: - golangci-lint run --fix sleepit:build: desc: Builds the sleepit test helper sources: - ./cmd/sleepit/**/*.go generates: - ./bin/sleepit cmds: - go build -o ./bin/sleepit{{exeExt}} ./cmd/sleepit sleepit:run: desc: Builds the sleepit test helper deps: [sleepit:build] cmds: - ./bin/sleepit {{.CLI_ARGS}} silent: true test: desc: Runs test suite aliases: [t] deps: [install] cmds: - go test {{catLines .GO_PACKAGES}} vars: GO_PACKAGES: sh: go list ./... test:all: desc: Runs test suite with signals and watch tests included deps: [install, sleepit:build] cmds: - go test {{catLines .GO_PACKAGES}} -tags 'signals watch' vars: GO_PACKAGES: sh: go list ./... test-release: desc: Tests release process without publishing cmds: - goreleaser --snapshot --rm-dist release: desc: Prepare the project for a new release cmds: - go run ./cmd/release {{.CLI_ARGS}} npm:publish: desc: Publish release to npm cmds: - npm publish --access=public packages: cmds: - echo '{{.GO_PACKAGES}}' vars: GO_PACKAGES: sh: go list ./... silent: true