Documentation
¶
Overview ¶
import-boss enforces import restrictions in a given repository.
When a directory is verified, import-boss looks for a file called ".import-restrictions". If this file is not found, parent directories will be recursively searched.
If an ".import-restrictions" file is found, then all imports of the package are checked against each "rule" in the file. A rule consists of three parts: * A SelectorRegexp, to select the import paths that the rule applies to. * A list of AllowedPrefixes * A list of ForbiddenPrefixes An import is allowed if it matches at least one allowed prefix and does not match any forbidden prefix. An example file looks like this:
{
"Rules": [
{
"SelectorRegexp": "k8s[.]io",
"AllowedPrefixes": [
"k8s.io/kubernetes/cmd/libs/go2idl",
"k8s.io/kubernetes/third_party"
],
"ForbiddenPrefixes": [
"k8s.io/kubernetes/pkg/third_party/deprecated"
]
},
{
"SelectorRegexp": "^unsafe$",
"AllowedPrefixes": [
],
"ForbiddenPrefixes": [
""
]
}
]
}
Note the secound block explicitly matches the unsafe package, and forbids it ("" is a prefix of everything).
Directories
¶
Path | Synopsis |
---|---|
Package generators has the generators for the import-boss utility.
|
Package generators has the generators for the import-boss utility. |