135 lines
4.3 KiB
YAML
135 lines
4.3 KiB
YAML
default_stages: [push, manual]
|
|
repos:
|
|
# ==========================================================================
|
|
# Golang Pre-Commit Hooks | https://github.com/tekwizely/pre-commit-golang
|
|
#
|
|
# Visit the project home page to learn more about the available Hooks,
|
|
# including useful arguments you might want to pass into them.
|
|
#
|
|
# File-Based Hooks:
|
|
# Run against matching staged files individually.
|
|
#
|
|
# Module-Based Hooks:
|
|
# Run against module root folders containing matching staged files.
|
|
#
|
|
# Package-Based Hooks:
|
|
# Run against folders containing one or more staged files.
|
|
#
|
|
# Repo-Based Hooks:
|
|
# Run against the entire repo.
|
|
# The hooks only run once (if any matching files are staged),
|
|
# and are NOT provided the list of staged files,
|
|
#
|
|
# Hook Suffixes
|
|
# Hooks have suffixes in their name that indicate their targets:
|
|
#
|
|
# +-----------+--------------+
|
|
# | Suffix | Target |
|
|
# |-----------+--------------+
|
|
# | <none> | Files |
|
|
# | -mod | Module |
|
|
# | -pkg | Package |
|
|
# | -repo-mod | All Modules |
|
|
# | -repo-pkg | All Packages |
|
|
# +-----------+--------------+
|
|
#
|
|
# ! Multiple Hook Invocations
|
|
# ! Due to OS command-line-length limits, Pre-Commit can invoke a hook
|
|
# ! multiple times if a large number of files are staged.
|
|
# ! For file and repo-based hooks, this isn't an issue, but for module
|
|
# ! and package-based hooks, there is a potential for the hook to run
|
|
# ! against the same module or package multiple times, duplicating any
|
|
# ! errors or warnings.
|
|
#
|
|
# Useful Hook Parameters:
|
|
# - id: hook-id
|
|
# args: [arg1, arg2, ..., '--'] # Pass options ('--' is optional)
|
|
# always_run: true # Run even if no matching files staged
|
|
# alias: hook-alias # Create an alias
|
|
#
|
|
# Passing Options To Hooks:
|
|
# If your options contain a reference to an existing file, then you will
|
|
# need to use a trailing '--' argument to separate the hook options from
|
|
# the modified-file list that Pre-Commit passes into the hook.
|
|
# NOTE: For repo-based hooks, '--' is not needed.
|
|
#
|
|
# Always Run:
|
|
# By default, hooks ONLY run when matching file types are staged.
|
|
# When configured to "always_run", a hook is executed as if EVERY matching
|
|
# file were staged.
|
|
#
|
|
# Aliases:
|
|
# Consider adding aliases to longer-named hooks for easier CLI usage.
|
|
# ==========================================================================
|
|
|
|
# - repo: https://github.com/tekwizely/pre-commit-golang
|
|
# rev: v0.8.0
|
|
- repo: https://github.com/blaggacao/pre-commit-golang
|
|
rev: fix-vendor
|
|
hooks:
|
|
#
|
|
# Go Build
|
|
#
|
|
# - id: go-build-mod
|
|
# - id: go-build-pkg
|
|
# - id: go-build-repo-mod
|
|
# - id: go-build-repo-pkg
|
|
#
|
|
# Go Test
|
|
#
|
|
- id: go-test-mod
|
|
- id: go-test-repo-mod
|
|
alias: go-test-repo-mod-all
|
|
always_run: true
|
|
stages: [manual]
|
|
# - id: go-test-pkg
|
|
# - id: go-test-repo-mod
|
|
# - id: go-test-repo-pkg
|
|
#
|
|
# Go Vet
|
|
#
|
|
# - id: go-vet
|
|
- id: go-vet-mod
|
|
alias: go-vet-mod-changed
|
|
# - id: go-vet-pkg
|
|
# - id: go-vet-repo-mod
|
|
# - id: go-vet-repo-pkg
|
|
#
|
|
# Formatters
|
|
#
|
|
# - id: go-fmt
|
|
# - id: go-imports # Replaces go-fmt
|
|
- id: go-returns # Replaces go-imports & go-fmt
|
|
- id: go-returns
|
|
alias: go-returns-write
|
|
stages: [manual]
|
|
args: [-w]
|
|
#
|
|
# Style Checkers
|
|
#
|
|
- id: go-lint
|
|
alias: go-lint-changed
|
|
# - id: go-critic
|
|
#
|
|
# GolangCI-Lint
|
|
# - Fast Multi-Linter
|
|
# - Can be configured to replace MOST other hooks
|
|
# - Supports repo config file for configuration
|
|
# - https://github.com/golangci/golangci-lint
|
|
#
|
|
# - id: golangci-lint
|
|
- id: golangci-lint-mod
|
|
alias: golangci-lint-mod-changed
|
|
- id: golangci-lint-repo-mod
|
|
alias: golangci-lint-repo-mod-all
|
|
always_run: true
|
|
stages: [manual]
|
|
# - id: golangci-lint-pkg
|
|
# - id: golangci-lint-repo-mod
|
|
# - id: golangci-lint-repo-pkg
|
|
|
|
- repo: https://github.com/prettier/prettier
|
|
rev: "2.0.5"
|
|
hooks:
|
|
- id: prettier
|