aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/OpenPeeDeeP/depguard/README.md
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-07-04 11:12:55 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-07-04 15:05:30 +0200
commitc7d7f10bdff703e4a3c0414e8a33d4e45c91eb35 (patch)
tree0dff0ee1f98dbfa3ad8776112053a450d176592b /vendor/github.com/OpenPeeDeeP/depguard/README.md
parent9573094ce235bd9afe88f5da27a47dd6bcc1e13b (diff)
go.mod: vendor golangci-lint
Diffstat (limited to 'vendor/github.com/OpenPeeDeeP/depguard/README.md')
-rw-r--r--vendor/github.com/OpenPeeDeeP/depguard/README.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/vendor/github.com/OpenPeeDeeP/depguard/README.md b/vendor/github.com/OpenPeeDeeP/depguard/README.md
new file mode 100644
index 000000000..d704ce6ad
--- /dev/null
+++ b/vendor/github.com/OpenPeeDeeP/depguard/README.md
@@ -0,0 +1,77 @@
+# Depguard
+
+Go linter that checks package imports are in a list of acceptable packages. It
+supports a white list and black list option and can do prefix or glob matching.
+This allows you to allow imports from a whole organization or only
+allow specific packages within a repository. It is recommended to use prefix
+matching as it is faster than glob matching. The fewer glob matches the better.
+
+> If a pattern is matched by prefix it does not try to match via glob.
+
+## Install
+
+```bash
+go get -u github.com/OpenPeeDeeP/depguard
+```
+
+## Config
+
+By default, Depguard looks for a file named `.depguard.json` in the current
+current working directory. If it is somewhere else, pass in the `-c` flag with
+the location of your configuration file.
+
+The following is an example configuration file.
+
+```json
+{
+ "type": "whitelist",
+ "packages": ["github.com/OpenPeeDeeP/depguard"],
+ "packageErrorMessages": {
+ "github.com/OpenPeeDeeP/depguards": "Please use \"github.com/OpenPeeDeeP/depguard\","
+ },
+ "inTests": ["github.com/stretchr/testify"],
+ "includeGoStdLib": true
+}
+```
+
+- `type` can be either `whitelist` or `blacklist`. This check is case insensitive.
+ If not specified the default is `blacklist`.
+- `packages` is a list of packages for the list type specified.
+- `packageErrorMessages` is a mapping from packages to the error message to display
+- `inTests` is a list of packages allowed/disallowed only in test files.
+- Set `includeGoStdLib` (`includeGoRoot` for backwards compatability) to true if you want to check the list against standard lib.
+ If not specified the default is false.
+
+## Gometalinter
+
+The binary installation of this linter can be used with
+[Gometalinter](github.com/alecthomas/gometalinter).
+
+If you use a configuration file for Gometalinter then the following will need to
+be added to your configuration file.
+
+```json
+{
+ "linters": {
+ "depguard": {
+ "command": "depguard -c path/to/config.json",
+ "pattern": "PATH:LINE:COL:MESSAGE",
+ "installFrom": "github.com/OpenPeeDeeP/depguard",
+ "isFast": true,
+ "partitionStrategy": "packages"
+ }
+ }
+}
+```
+
+If you prefer the command line way the following will work for you as well.
+
+```bash
+gometalinter --linter='depguard:depguard -c path/to/config.json:PATH:LINE:COL:MESSAGE'
+```
+
+## Golangci-lint
+
+This linter was built with
+[Golangci-lint](https://github.com/golangci/golangci-lint) in mind. It is compatable
+and read their docs to see how to implement all their linters, including this one.