|
1 | 1 | # Archfile Syntax |
2 | 2 |
|
3 | | -| Path | Req? | Type | Description | |
4 | | -|--------------------|------|------------|-------------------------------------------------------------------------------------------------| |
5 | | -| version | `+` | int | schema version (__latest: 3__) | |
6 | | -| workdir | | str | relative directory for analyse | |
7 | | -| allow | | map | global rules | |
8 | | -| . depOnAnyVendor | | bool | allow import any vendor code to any project file | |
9 | | -| . deepScan | | bool | use advanced AST code analyse (default `true`, since v3+). | |
10 | | -| exclude | | []str | list of directories (relative path) for exclude from analyse | |
11 | | -| excludeFiles | | []str | regular expression rules for file names, will exclude this files and it's packages from analyse | |
12 | | -| components | `+` | map | component is abstraction on go packages. One component = one or more go packages | |
13 | | -| . %name% | `+` | str | name of component | |
14 | | -| . . in | `+` | str, []str | one or more relative directory name, support glob masking (src/\*/engine/\*\*) | |
15 | | -| vendors | | map | vendor libs (go.mod) | |
16 | | -| . %name% | `+` | str | name of vendor component | |
17 | | -| . . in | `+` | str, []str | one or more import path of vendor libs, support glob masking (github.com/abc/\*/engine/\*\*) | |
18 | | -| commonComponents | | []str | list of components, allow import them into any code | |
19 | | -| commonVendors | | []str | list of vendors, allow import them into any code | |
20 | | -| deps | `+` | map | dependency rules | |
21 | | -| . %name% | `+` | str | name of component, exactly as defined in "components" section | |
22 | | -| . . anyVendorDeps | | bool | all component code can import any vendor code | |
23 | | -| . . anyProjectDeps | | bool | all component code can import any other project code, useful for DI/main component | |
24 | | -| . . mayDependOn | | []str | list of components that can by imported in %name% | |
25 | | -| . . canUse | | []str | list of vendors that can by imported in %name% | |
26 | | -| . . deepScan | | bool | override of allow.deepScan for this component. Default `nil` = use global settings | |
| 3 | +| Path | Req? | Type | Description | |
| 4 | +|----------------------------|------|------------|-------------------------------------------------------------------------------------------------| |
| 5 | +| version | `+` | int | schema version (__latest: 3__) | |
| 6 | +| workdir | | str | relative directory for analyse | |
| 7 | +| allow | | map | global rules | |
| 8 | +| . depOnAnyVendor | | bool | allow import any vendor code to any project file | |
| 9 | +| . deepScan | | bool | use advanced AST code analyse (default `true`, since v3+). | |
| 10 | +| . ignoreNotFoundComponents | | bool | ignore not found components (default `false`) | |
| 11 | +| exclude | | []str | list of directories (relative path) for exclude from analyse | |
| 12 | +| excludeFiles | | []str | regular expression rules for file names, will exclude this files and it's packages from analyse | |
| 13 | +| components | `+` | map | component is abstraction on go packages. One component = one or more go packages | |
| 14 | +| . %name% | `+` | str | name of component | |
| 15 | +| . . in | `+` | str, []str | one or more relative directory name, support glob masking (src/\*/engine/\*\*) | |
| 16 | +| vendors | | map | vendor libs (go.mod) | |
| 17 | +| . %name% | `+` | str | name of vendor component | |
| 18 | +| . . in | `+` | str, []str | one or more import path of vendor libs, support glob masking (github.com/abc/\*/engine/\*\*) | |
| 19 | +| commonComponents | | []str | list of components, allow import them into any code | |
| 20 | +| commonVendors | | []str | list of vendors, allow import them into any code | |
| 21 | +| deps | `+` | map | dependency rules | |
| 22 | +| . %name% | `+` | str | name of component, exactly as defined in "components" section | |
| 23 | +| . . anyVendorDeps | | bool | all component code can import any vendor code | |
| 24 | +| . . anyProjectDeps | | bool | all component code can import any other project code, useful for DI/main component | |
| 25 | +| . . mayDependOn | | []str | list of components that can by imported in %name% | |
| 26 | +| . . canUse | | []str | list of vendors that can by imported in %name% | |
| 27 | +| . . deepScan | | bool | override of allow.deepScan for this component. Default `nil` = use global settings | |
27 | 28 |
|
28 | 29 | Examples: |
29 | | -- [.go-arch-lint.yml](../../.go-arch-lint.yml) |
| 30 | +- [.go-arch-lint.yml](../../.go-arch-lint.yml) |
0 commit comments